You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by gi...@apache.org on 2021/09/17 06:06:38 UTC

[incubator-kyuubi-website] branch asf-site updated: deploy: a3e8722bbc0d2f996a268ea42d5c3aea9fe03653

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-kyuubi-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 50f5d28  deploy: a3e8722bbc0d2f996a268ea42d5c3aea9fe03653
50f5d28 is described below

commit 50f5d287f736ccd20dcd963aaa7c3e64707bd4a2
Author: pan3793 <pa...@users.noreply.github.com>
AuthorDate: Fri Sep 17 06:06:31 2021 +0000

    deploy: a3e8722bbc0d2f996a268ea42d5c3aea9fe03653
---
 content/asf_logo_wide.png                          |   Bin 0 -> 18888 bytes
 content/categories.html                            |    99 +
 content/categories/index.xml                       |     1 +
 content/categories/page/1.html                     |     1 +
 content/contributing.html                          |   149 +
 content/css/kyuubi.css                             |   140 +
 content/description.html                           |    95 +
 content/developer-tools.html                       |   228 +
 content/docs/latest/.buildinfo                     |     4 +
 content/docs/latest/404.html                       |   236 +
 content/docs/latest/_images/aqe_switch_join.png    |   Bin 0 -> 38666 bytes
 .../_images/blog-adaptive-query-execution-2.png    |   Bin 0 -> 96428 bytes
 .../_images/blog-adaptive-query-execution-3.png    |   Bin 0 -> 28412 bytes
 .../_images/blog-adaptive-query-execution-6.png    |   Bin 0 -> 45949 bytes
 content/docs/latest/_images/cloudera_manager.png   |   Bin 0 -> 31447 bytes
 content/docs/latest/_images/configuration.png      |   Bin 0 -> 60289 bytes
 content/docs/latest/_images/connected.png          |   Bin 0 -> 17478 bytes
 .../docs/latest/_images/datasource_and_driver.png  |   Bin 0 -> 57829 bytes
 .../_images/dbeaver_connnect_to_database.png       |   Bin 0 -> 146299 bytes
 .../dbeaver_connnect_to_database_connection.png    |   Bin 0 -> 120468 bytes
 .../dbeaver_connnect_to_database_driver.png        |   Bin 0 -> 119670 bytes
 .../_images/dbeaver_connnect_to_database_port.png  |   Bin 0 -> 133784 bytes
 content/docs/latest/_images/desc_database.png      |   Bin 0 -> 389808 bytes
 content/docs/latest/_images/download_driver.png    |   Bin 0 -> 121709 bytes
 .../docs/latest/_images/dra_executor_add_ratio.png |   Bin 0 -> 14894 bytes
 content/docs/latest/_images/dra_executor_added.png |   Bin 0 -> 15171 bytes
 .../docs/latest/_images/dra_executor_removal.png   |   Bin 0 -> 15336 bytes
 content/docs/latest/_images/dra_task_fin.png       |   Bin 0 -> 16225 bytes
 content/docs/latest/_images/dra_task_pending.png   |   Bin 0 -> 14941 bytes
 content/docs/latest/_images/editor.png             |   Bin 0 -> 26132 bytes
 content/docs/latest/_images/ha.png                 |   Bin 0 -> 28507 bytes
 content/docs/latest/_images/hang.png               |   Bin 0 -> 18064 bytes
 content/docs/latest/_images/idea_debug.png         |   Bin 0 -> 64079 bytes
 content/docs/latest/_images/kyuubi.png             |   Bin 0 -> 129424 bytes
 .../latest/_images/kyuubi_architecture_new.png     |   Bin 0 -> 127660 bytes
 content/docs/latest/_images/kyuubi_layers.png      |   Bin 0 -> 36471 bytes
 content/docs/latest/_images/kyuubi_logo.png        |   Bin 0 -> 2663 bytes
 content/docs/latest/_images/localshufflereader.png |   Bin 0 -> 75119 bytes
 content/docs/latest/_images/metadata.png           |   Bin 0 -> 396949 bytes
 content/docs/latest/_images/query.png              |   Bin 0 -> 384802 bytes
 content/docs/latest/_images/query41_result.png     |   Bin 0 -> 555745 bytes
 content/docs/latest/_images/select_database.png    |   Bin 0 -> 55223 bytes
 content/docs/latest/_images/spark_jobs_page.png    |   Bin 0 -> 69593 bytes
 content/docs/latest/_images/spark_sql_cdh6.png     |   Bin 0 -> 123038 bytes
 content/docs/latest/_images/spark_sql_docker.png   |   Bin 0 -> 110905 bytes
 content/docs/latest/_images/start.png              |   Bin 0 -> 35392 bytes
 content/docs/latest/_images/sts.png                |   Bin 0 -> 56068 bytes
 content/docs/latest/_images/tpcds_schema.png       |   Bin 0 -> 95662 bytes
 content/docs/latest/_images/viewdata.png           |   Bin 0 -> 778197 bytes
 content/docs/latest/_images/workspace.png          |   Bin 0 -> 16371 bytes
 .../docs/latest/_sources/appendix/index.rst.txt    |    27 +
 .../latest/_sources/appendix/terminology.md.txt    |   170 +
 .../docs/latest/_sources/client/hive_jdbc.md.txt   |    87 +
 content/docs/latest/_sources/client/index.rst.txt  |    26 +
 .../docs/latest/_sources/community/badges.md.txt   |    25 +
 .../latest/_sources/community/collaborators.md.txt |    22 +
 .../latest/_sources/community/contributions.md.txt |    84 +
 .../community/improvement-proposals.md.txt         |    97 +
 .../docs/latest/_sources/community/index.rst.txt   |    31 +
 .../docs/latest/_sources/community/release.md.txt  |   217 +
 .../deployment/high_availability_guide.md.txt      |    50 +
 .../_sources/deployment/hive_metastore.md.txt      |   215 +
 .../docs/latest/_sources/deployment/index.rst.txt  |    49 +
 .../_sources/deployment/on_kubernetes.md.txt       |   126 +
 .../docs/latest/_sources/deployment/on_yarn.md.txt |   121 +
 .../latest/_sources/deployment/settings.md.txt     |   360 +
 .../latest/_sources/deployment/spark/aqe.md.txt    |   269 +
 .../latest/_sources/deployment/spark/basics.md.txt |    32 +
 .../latest/_sources/deployment/spark/driver.md.txt |    29 +
 .../deployment/spark/dynamic_allocation.md.txt     |   242 +
 .../spark/dynamicpartitionpruning.md.txt           |    25 +
 .../latest/_sources/deployment/spark/ess.md.txt    |    23 +
 .../_sources/deployment/spark/eventqueue.md.txt    |    27 +
 .../_sources/deployment/spark/executor.md.txt      |    25 +
 .../_sources/deployment/spark/heartbeart.md.txt    |    24 +
 .../latest/_sources/deployment/spark/index.rst.txt |    34 +
 .../_sources/deployment/spark/locality.md.txt      |    24 +
 .../_sources/deployment/spark/monitering.md.txt    |    26 +
 .../_sources/deployment/spark/shuffle.md.txt       |    46 +
 .../_sources/deployment/spark/speculation.md.txt   |    25 +
 .../latest/_sources/deployment/spark/sql.md.txt    |    30 +
 .../_sources/develop_tools/build_document.md.txt   |    72 +
 .../latest/_sources/develop_tools/building.md.txt  |    93 +
 .../latest/_sources/develop_tools/debugging.md.txt |    58 +
 .../latest/_sources/develop_tools/developer.md.txt |    52 +
 .../_sources/develop_tools/distribution.md.txt     |    57 +
 .../latest/_sources/develop_tools/index.rst.txt    |    32 +
 .../latest/_sources/develop_tools/testing.md.txt   |    59 +
 content/docs/latest/_sources/index.rst.txt         |   127 +
 .../latest/_sources/integrations/index.rst.txt     |    26 +
 .../docs/latest/_sources/integrations/kudu.md.txt  |   185 +
 content/docs/latest/_sources/monitor/index.rst.txt |    31 +
 .../docs/latest/_sources/monitor/logging.md.txt    |    31 +
 .../docs/latest/_sources/monitor/metrics.md.txt    |    58 +
 .../_sources/monitor/trouble_shooting.md.txt       |   270 +
 .../latest/_sources/overview/architecture.md.txt   |   182 +
 .../docs/latest/_sources/overview/index.rst.txt    |    28 +
 .../latest/_sources/overview/kyuubi_vs_hive.md.txt |    53 +
 .../overview/kyuubi_vs_thriftserver.md.txt         |   263 +
 .../docs/latest/_sources/quick_start/index.rst.txt |    34 +
 .../latest/_sources/quick_start/quick_start.md.txt |   268 +
 .../quick_start/quick_start_with_beeline.md.txt    |    99 +
 .../quick_start/quick_start_with_datagrip.md.txt   |    57 +
 .../quick_start/quick_start_with_dbeaver.md.txt    |   229 +
 .../quick_start/quick_start_with_hue.md.txt        |   135 +
 .../quick_start/quick_start_with_jdbc.md.txt       |    98 +
 .../quick_start/quick_start_with_jupyter.md.txt    |    25 +
 .../latest/_sources/security/authentication.md.txt |    91 +
 .../latest/_sources/security/authorization.md.txt  |    49 +
 .../docs/latest/_sources/security/index.rst.txt    |    29 +
 content/docs/latest/_sources/security/kinit.md.txt |    96 +
 content/docs/latest/_sources/sql/functions.md.txt  |    35 +
 content/docs/latest/_sources/sql/index.rst.txt     |    30 +
 content/docs/latest/_sources/sql/rules.md.txt      |    69 +
 content/docs/latest/_sources/tools/index.rst.txt   |    26 +
 .../_sources/tools/spark_block_cleaner.md.txt      |   134 +
 content/docs/latest/_static/basic.css              |   861 ++
 content/docs/latest/_static/css/badge_only.css     |     1 +
 .../latest/_static/css/fonts/Roboto-Slab-Bold.woff |   Bin 0 -> 87624 bytes
 .../_static/css/fonts/Roboto-Slab-Bold.woff2       |   Bin 0 -> 67312 bytes
 .../_static/css/fonts/Roboto-Slab-Regular.woff     |   Bin 0 -> 86288 bytes
 .../_static/css/fonts/Roboto-Slab-Regular.woff2    |   Bin 0 -> 66444 bytes
 .../_static/css/fonts/fontawesome-webfont.eot      |   Bin 0 -> 165742 bytes
 .../_static/css/fonts/fontawesome-webfont.svg      |  2671 +++++
 .../_static/css/fonts/fontawesome-webfont.ttf      |   Bin 0 -> 165548 bytes
 .../_static/css/fonts/fontawesome-webfont.woff     |   Bin 0 -> 98024 bytes
 .../_static/css/fonts/fontawesome-webfont.woff2    |   Bin 0 -> 77160 bytes
 .../latest/_static/css/fonts/lato-bold-italic.woff |   Bin 0 -> 323344 bytes
 .../_static/css/fonts/lato-bold-italic.woff2       |   Bin 0 -> 193308 bytes
 .../docs/latest/_static/css/fonts/lato-bold.woff   |   Bin 0 -> 309728 bytes
 .../docs/latest/_static/css/fonts/lato-bold.woff2  |   Bin 0 -> 184912 bytes
 .../_static/css/fonts/lato-normal-italic.woff      |   Bin 0 -> 328412 bytes
 .../_static/css/fonts/lato-normal-italic.woff2     |   Bin 0 -> 195704 bytes
 .../docs/latest/_static/css/fonts/lato-normal.woff |   Bin 0 -> 309192 bytes
 .../latest/_static/css/fonts/lato-normal.woff2     |   Bin 0 -> 182708 bytes
 content/docs/latest/_static/css/theme.css          |     4 +
 content/docs/latest/_static/doctools.js            |   321 +
 .../docs/latest/_static/documentation_options.js   |    12 +
 content/docs/latest/_static/file.png               |   Bin 0 -> 286 bytes
 .../docs/latest/_static/fonts/Inconsolata-Bold.ttf |   Bin 0 -> 109948 bytes
 .../latest/_static/fonts/Inconsolata-Regular.ttf   |   Bin 0 -> 96964 bytes
 content/docs/latest/_static/fonts/Inconsolata.ttf  |   Bin 0 -> 63184 bytes
 content/docs/latest/_static/fonts/Lato-Bold.ttf    |   Bin 0 -> 656544 bytes
 content/docs/latest/_static/fonts/Lato-Regular.ttf |   Bin 0 -> 656568 bytes
 .../docs/latest/_static/fonts/Lato/lato-bold.eot   |   Bin 0 -> 256056 bytes
 .../docs/latest/_static/fonts/Lato/lato-bold.ttf   |   Bin 0 -> 600856 bytes
 .../docs/latest/_static/fonts/Lato/lato-bold.woff  |   Bin 0 -> 309728 bytes
 .../docs/latest/_static/fonts/Lato/lato-bold.woff2 |   Bin 0 -> 184912 bytes
 .../latest/_static/fonts/Lato/lato-bolditalic.eot  |   Bin 0 -> 266158 bytes
 .../latest/_static/fonts/Lato/lato-bolditalic.ttf  |   Bin 0 -> 622572 bytes
 .../latest/_static/fonts/Lato/lato-bolditalic.woff |   Bin 0 -> 323344 bytes
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin 0 -> 193308 bytes
 .../docs/latest/_static/fonts/Lato/lato-italic.eot |   Bin 0 -> 268604 bytes
 .../docs/latest/_static/fonts/Lato/lato-italic.ttf |   Bin 0 -> 639388 bytes
 .../latest/_static/fonts/Lato/lato-italic.woff     |   Bin 0 -> 328412 bytes
 .../latest/_static/fonts/Lato/lato-italic.woff2    |   Bin 0 -> 195704 bytes
 .../latest/_static/fonts/Lato/lato-regular.eot     |   Bin 0 -> 253461 bytes
 .../latest/_static/fonts/Lato/lato-regular.ttf     |   Bin 0 -> 607720 bytes
 .../latest/_static/fonts/Lato/lato-regular.woff    |   Bin 0 -> 309192 bytes
 .../latest/_static/fonts/Lato/lato-regular.woff2   |   Bin 0 -> 182708 bytes
 .../docs/latest/_static/fonts/RobotoSlab-Bold.ttf  |   Bin 0 -> 170616 bytes
 .../latest/_static/fonts/RobotoSlab-Regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 0 -> 79520 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 0 -> 170616 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 0 -> 87624 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 0 -> 67312 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 0 -> 78331 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 0 -> 86288 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 0 -> 66444 bytes
 .../latest/_static/fonts/fontawesome-webfont.eot   |   Bin 0 -> 165742 bytes
 .../latest/_static/fonts/fontawesome-webfont.svg   |  2671 +++++
 .../latest/_static/fonts/fontawesome-webfont.ttf   |   Bin 0 -> 165548 bytes
 .../latest/_static/fonts/fontawesome-webfont.woff  |   Bin 0 -> 98024 bytes
 .../latest/_static/fonts/fontawesome-webfont.woff2 |   Bin 0 -> 77160 bytes
 content/docs/latest/_static/jquery-3.5.1.js        | 10872 +++++++++++++++++++
 content/docs/latest/_static/jquery.js              |     2 +
 content/docs/latest/_static/js/badge_only.js       |     1 +
 .../latest/_static/js/html5shiv-printshiv.min.js   |     4 +
 content/docs/latest/_static/js/html5shiv.min.js    |     4 +
 content/docs/latest/_static/js/modernizr.min.js    |     4 +
 content/docs/latest/_static/js/theme.js            |     1 +
 content/docs/latest/_static/kyuubi_logo_gray.png   |   Bin 0 -> 6739 bytes
 content/docs/latest/_static/language_data.js       |   297 +
 content/docs/latest/_static/minus.png              |   Bin 0 -> 90 bytes
 content/docs/latest/_static/plus.png               |   Bin 0 -> 90 bytes
 content/docs/latest/_static/pygments.css           |    74 +
 content/docs/latest/_static/searchtools.js         |   522 +
 content/docs/latest/_static/underscore-1.12.0.js   |  2027 ++++
 content/docs/latest/_static/underscore.js          |     6 +
 content/docs/latest/appendix/index.html            |   274 +
 content/docs/latest/appendix/terminology.html      |   426 +
 content/docs/latest/client/hive_jdbc.html          |   362 +
 content/docs/latest/client/index.html              |   263 +
 content/docs/latest/community/badges.html          |   276 +
 content/docs/latest/community/collaborators.html   |   273 +
 content/docs/latest/community/contributions.html   |   336 +
 .../latest/community/improvement-proposals.html    |   343 +
 content/docs/latest/community/index.html           |   283 +
 content/docs/latest/community/release.html         |   478 +
 .../latest/deployment/high_availability_guide.html |   357 +
 content/docs/latest/deployment/hive_metastore.html |   507 +
 content/docs/latest/deployment/index.html          |   316 +
 content/docs/latest/deployment/on_kubernetes.html  |   370 +
 content/docs/latest/deployment/on_yarn.html        |   411 +
 content/docs/latest/deployment/settings.html       |  1256 +++
 content/docs/latest/deployment/spark/aqe.html      |   471 +
 content/docs/latest/deployment/spark/basics.html   |   268 +
 content/docs/latest/deployment/spark/driver.html   |   265 +
 .../deployment/spark/dynamic_allocation.html       |   434 +
 .../deployment/spark/dynamicpartitionpruning.html  |   262 +
 content/docs/latest/deployment/spark/ess.html      |   259 +
 .../docs/latest/deployment/spark/eventqueue.html   |   264 +
 content/docs/latest/deployment/spark/executor.html |   261 +
 .../docs/latest/deployment/spark/heartbeart.html   |   261 +
 content/docs/latest/deployment/spark/index.html    |   287 +
 content/docs/latest/deployment/spark/locality.html |   260 +
 .../docs/latest/deployment/spark/monitering.html   |   262 +
 content/docs/latest/deployment/spark/shuffle.html  |   282 +
 .../docs/latest/deployment/spark/speculation.html  |   261 +
 content/docs/latest/deployment/spark/sql.html      |   266 +
 .../docs/latest/develop_tools/build_document.html  |   317 +
 content/docs/latest/develop_tools/building.html    |   353 +
 content/docs/latest/develop_tools/debugging.html   |   305 +
 content/docs/latest/develop_tools/developer.html   |   299 +
 .../docs/latest/develop_tools/distribution.html    |   297 +
 content/docs/latest/develop_tools/index.html       |   294 +
 content/docs/latest/develop_tools/testing.html     |   306 +
 content/docs/latest/genindex.html                  |   242 +
 content/docs/latest/index.html                     |   395 +
 content/docs/latest/integrations/index.html        |   263 +
 content/docs/latest/integrations/kudu.html         |   450 +
 content/docs/latest/monitor/index.html             |   273 +
 content/docs/latest/monitor/logging.html           |   284 +
 content/docs/latest/monitor/metrics.html           |   462 +
 content/docs/latest/monitor/trouble_shooting.html  |   514 +
 content/docs/latest/objects.inv                    |   Bin 0 -> 1566 bytes
 content/docs/latest/overview/architecture.html     |   406 +
 content/docs/latest/overview/index.html            |   282 +
 content/docs/latest/overview/kyuubi_vs_hive.html   |   340 +
 .../latest/overview/kyuubi_vs_thriftserver.html    |   601 +
 content/docs/latest/quick_start/index.html         |   303 +
 content/docs/latest/quick_start/quick_start.html   |   538 +
 .../quick_start/quick_start_with_beeline.html      |   349 +
 .../quick_start/quick_start_with_datagrip.html     |   340 +
 .../quick_start/quick_start_with_dbeaver.html      |   480 +
 .../latest/quick_start/quick_start_with_hue.html   |   387 +
 .../latest/quick_start/quick_start_with_jdbc.html  |   349 +
 .../quick_start/quick_start_with_jupyter.html      |   257 +
 content/docs/latest/search.html                    |   255 +
 content/docs/latest/searchindex.js                 |     1 +
 content/docs/latest/security/authentication.html   |   395 +
 content/docs/latest/security/authorization.html    |   291 +
 content/docs/latest/security/index.html            |   269 +
 content/docs/latest/security/kinit.html            |   366 +
 content/docs/latest/sql/functions.html             |   299 +
 content/docs/latest/sql/index.html                 |   263 +
 content/docs/latest/sql/rules.html                 |   347 +
 content/docs/latest/tools/index.html               |   263 +
 content/docs/latest/tools/spark_block_cleaner.html |   416 +
 content/docs/r1.3.0-incubating/.buildinfo          |     4 +
 content/docs/r1.3.0-incubating/404.html            |   236 +
 .../r1.3.0-incubating/_images/aqe_switch_join.png  |   Bin 0 -> 38666 bytes
 .../_images/blog-adaptive-query-execution-2.png    |   Bin 0 -> 96428 bytes
 .../_images/blog-adaptive-query-execution-3.png    |   Bin 0 -> 28412 bytes
 .../_images/blog-adaptive-query-execution-6.png    |   Bin 0 -> 45949 bytes
 .../r1.3.0-incubating/_images/cloudera_manager.png |   Bin 0 -> 31447 bytes
 .../r1.3.0-incubating/_images/configuration.png    |   Bin 0 -> 60289 bytes
 .../docs/r1.3.0-incubating/_images/connected.png   |   Bin 0 -> 17478 bytes
 .../_images/datasource_and_driver.png              |   Bin 0 -> 57829 bytes
 .../_images/dbeaver_connnect_to_database.png       |   Bin 0 -> 146299 bytes
 .../dbeaver_connnect_to_database_connection.png    |   Bin 0 -> 120468 bytes
 .../dbeaver_connnect_to_database_driver.png        |   Bin 0 -> 119670 bytes
 .../_images/dbeaver_connnect_to_database_port.png  |   Bin 0 -> 133784 bytes
 .../r1.3.0-incubating/_images/desc_database.png    |   Bin 0 -> 389808 bytes
 .../r1.3.0-incubating/_images/download_driver.png  |   Bin 0 -> 121709 bytes
 .../_images/dra_executor_add_ratio.png             |   Bin 0 -> 14894 bytes
 .../_images/dra_executor_added.png                 |   Bin 0 -> 15171 bytes
 .../_images/dra_executor_removal.png               |   Bin 0 -> 15336 bytes
 .../r1.3.0-incubating/_images/dra_task_fin.png     |   Bin 0 -> 16225 bytes
 .../r1.3.0-incubating/_images/dra_task_pending.png |   Bin 0 -> 14941 bytes
 content/docs/r1.3.0-incubating/_images/editor.png  |   Bin 0 -> 26132 bytes
 content/docs/r1.3.0-incubating/_images/ha.png      |   Bin 0 -> 28507 bytes
 content/docs/r1.3.0-incubating/_images/hang.png    |   Bin 0 -> 18064 bytes
 .../docs/r1.3.0-incubating/_images/idea_debug.png  |   Bin 0 -> 64079 bytes
 content/docs/r1.3.0-incubating/_images/kyuubi.png  |   Bin 0 -> 129424 bytes
 .../_images/kyuubi_architecture_new.png            |   Bin 0 -> 127660 bytes
 .../r1.3.0-incubating/_images/kyuubi_layers.png    |   Bin 0 -> 36471 bytes
 .../docs/r1.3.0-incubating/_images/kyuubi_logo.png |   Bin 0 -> 2663 bytes
 .../_images/localshufflereader.png                 |   Bin 0 -> 75119 bytes
 .../docs/r1.3.0-incubating/_images/metadata.png    |   Bin 0 -> 396949 bytes
 content/docs/r1.3.0-incubating/_images/query.png   |   Bin 0 -> 384802 bytes
 .../r1.3.0-incubating/_images/query41_result.png   |   Bin 0 -> 555745 bytes
 .../r1.3.0-incubating/_images/select_database.png  |   Bin 0 -> 55223 bytes
 .../r1.3.0-incubating/_images/spark_jobs_page.png  |   Bin 0 -> 69593 bytes
 .../r1.3.0-incubating/_images/spark_sql_cdh6.png   |   Bin 0 -> 123038 bytes
 .../r1.3.0-incubating/_images/spark_sql_docker.png |   Bin 0 -> 110905 bytes
 content/docs/r1.3.0-incubating/_images/start.png   |   Bin 0 -> 35392 bytes
 content/docs/r1.3.0-incubating/_images/sts.png     |   Bin 0 -> 56068 bytes
 .../r1.3.0-incubating/_images/tpcds_schema.png     |   Bin 0 -> 95662 bytes
 .../docs/r1.3.0-incubating/_images/viewdata.png    |   Bin 0 -> 778197 bytes
 .../docs/r1.3.0-incubating/_images/workspace.png   |   Bin 0 -> 16371 bytes
 .../_sources/appendix/index.rst.txt                |    27 +
 .../_sources/appendix/terminology.md.txt           |   170 +
 .../_sources/client/hive_jdbc.md.txt               |    87 +
 .../_sources/client/index.rst.txt                  |    26 +
 .../_sources/community/badges.md.txt               |    25 +
 .../_sources/community/collaborators.md.txt        |    22 +
 .../_sources/community/contributions.md.txt        |    84 +
 .../community/improvement-proposals.md.txt         |    97 +
 .../_sources/community/index.rst.txt               |    31 +
 .../_sources/community/release.md.txt              |   217 +
 .../deployment/high_availability_guide.md.txt      |    50 +
 .../_sources/deployment/hive_metastore.md.txt      |   215 +
 .../_sources/deployment/index.rst.txt              |    49 +
 .../_sources/deployment/on_kubernetes.md.txt       |   126 +
 .../_sources/deployment/on_yarn.md.txt             |   121 +
 .../_sources/deployment/settings.md.txt            |   360 +
 .../_sources/deployment/spark/aqe.md.txt           |   269 +
 .../_sources/deployment/spark/basics.md.txt        |    32 +
 .../_sources/deployment/spark/driver.md.txt        |    29 +
 .../deployment/spark/dynamic_allocation.md.txt     |   242 +
 .../spark/dynamicpartitionpruning.md.txt           |    25 +
 .../_sources/deployment/spark/ess.md.txt           |    23 +
 .../_sources/deployment/spark/eventqueue.md.txt    |    27 +
 .../_sources/deployment/spark/executor.md.txt      |    25 +
 .../_sources/deployment/spark/heartbeart.md.txt    |    24 +
 .../_sources/deployment/spark/index.rst.txt        |    34 +
 .../_sources/deployment/spark/locality.md.txt      |    24 +
 .../_sources/deployment/spark/monitering.md.txt    |    26 +
 .../_sources/deployment/spark/shuffle.md.txt       |    46 +
 .../_sources/deployment/spark/speculation.md.txt   |    25 +
 .../_sources/deployment/spark/sql.md.txt           |    30 +
 .../_sources/develop_tools/build_document.md.txt   |    72 +
 .../_sources/develop_tools/building.md.txt         |    93 +
 .../_sources/develop_tools/debugging.md.txt        |    58 +
 .../_sources/develop_tools/developer.md.txt        |    52 +
 .../_sources/develop_tools/distribution.md.txt     |    57 +
 .../_sources/develop_tools/index.rst.txt           |    32 +
 .../_sources/develop_tools/testing.md.txt          |    59 +
 .../docs/r1.3.0-incubating/_sources/index.rst.txt  |   127 +
 .../_sources/integrations/index.rst.txt            |    26 +
 .../_sources/integrations/kudu.md.txt              |   185 +
 .../_sources/monitor/index.rst.txt                 |    31 +
 .../_sources/monitor/logging.md.txt                |    31 +
 .../_sources/monitor/metrics.md.txt                |    58 +
 .../_sources/monitor/trouble_shooting.md.txt       |   270 +
 .../_sources/overview/architecture.md.txt          |   182 +
 .../_sources/overview/index.rst.txt                |    28 +
 .../_sources/overview/kyuubi_vs_hive.md.txt        |    53 +
 .../overview/kyuubi_vs_thriftserver.md.txt         |   263 +
 .../_sources/quick_start/index.rst.txt             |    34 +
 .../_sources/quick_start/quick_start.md.txt        |   268 +
 .../quick_start/quick_start_with_beeline.md.txt    |    99 +
 .../quick_start/quick_start_with_datagrip.md.txt   |    57 +
 .../quick_start/quick_start_with_dbeaver.md.txt    |   229 +
 .../quick_start/quick_start_with_hue.md.txt        |   135 +
 .../quick_start/quick_start_with_jdbc.md.txt       |    98 +
 .../quick_start/quick_start_with_jupyter.md.txt    |    25 +
 .../_sources/security/authentication.md.txt        |    91 +
 .../_sources/security/authorization.md.txt         |    49 +
 .../_sources/security/index.rst.txt                |    29 +
 .../_sources/security/kinit.md.txt                 |    96 +
 .../_sources/sql/functions.md.txt                  |    35 +
 .../r1.3.0-incubating/_sources/sql/index.rst.txt   |    30 +
 .../r1.3.0-incubating/_sources/sql/rules.md.txt    |    69 +
 .../r1.3.0-incubating/_sources/tools/index.rst.txt |    26 +
 .../_sources/tools/spark_block_cleaner.md.txt      |   134 +
 content/docs/r1.3.0-incubating/_static/basic.css   |   861 ++
 .../r1.3.0-incubating/_static/css/badge_only.css   |     1 +
 .../_static/css/fonts/Roboto-Slab-Bold.woff        |   Bin 0 -> 87624 bytes
 .../_static/css/fonts/Roboto-Slab-Bold.woff2       |   Bin 0 -> 67312 bytes
 .../_static/css/fonts/Roboto-Slab-Regular.woff     |   Bin 0 -> 86288 bytes
 .../_static/css/fonts/Roboto-Slab-Regular.woff2    |   Bin 0 -> 66444 bytes
 .../_static/css/fonts/fontawesome-webfont.eot      |   Bin 0 -> 165742 bytes
 .../_static/css/fonts/fontawesome-webfont.svg      |  2671 +++++
 .../_static/css/fonts/fontawesome-webfont.ttf      |   Bin 0 -> 165548 bytes
 .../_static/css/fonts/fontawesome-webfont.woff     |   Bin 0 -> 98024 bytes
 .../_static/css/fonts/fontawesome-webfont.woff2    |   Bin 0 -> 77160 bytes
 .../_static/css/fonts/lato-bold-italic.woff        |   Bin 0 -> 323344 bytes
 .../_static/css/fonts/lato-bold-italic.woff2       |   Bin 0 -> 193308 bytes
 .../_static/css/fonts/lato-bold.woff               |   Bin 0 -> 309728 bytes
 .../_static/css/fonts/lato-bold.woff2              |   Bin 0 -> 184912 bytes
 .../_static/css/fonts/lato-normal-italic.woff      |   Bin 0 -> 328412 bytes
 .../_static/css/fonts/lato-normal-italic.woff2     |   Bin 0 -> 195704 bytes
 .../_static/css/fonts/lato-normal.woff             |   Bin 0 -> 309192 bytes
 .../_static/css/fonts/lato-normal.woff2            |   Bin 0 -> 182708 bytes
 .../docs/r1.3.0-incubating/_static/css/theme.css   |     4 +
 content/docs/r1.3.0-incubating/_static/doctools.js |   321 +
 .../_static/documentation_options.js               |    12 +
 content/docs/r1.3.0-incubating/_static/file.png    |   Bin 0 -> 286 bytes
 .../_static/fonts/Inconsolata-Bold.ttf             |   Bin 0 -> 109948 bytes
 .../_static/fonts/Inconsolata-Regular.ttf          |   Bin 0 -> 96964 bytes
 .../_static/fonts/Inconsolata.ttf                  |   Bin 0 -> 63184 bytes
 .../r1.3.0-incubating/_static/fonts/Lato-Bold.ttf  |   Bin 0 -> 656544 bytes
 .../_static/fonts/Lato-Regular.ttf                 |   Bin 0 -> 656568 bytes
 .../_static/fonts/Lato/lato-bold.eot               |   Bin 0 -> 256056 bytes
 .../_static/fonts/Lato/lato-bold.ttf               |   Bin 0 -> 600856 bytes
 .../_static/fonts/Lato/lato-bold.woff              |   Bin 0 -> 309728 bytes
 .../_static/fonts/Lato/lato-bold.woff2             |   Bin 0 -> 184912 bytes
 .../_static/fonts/Lato/lato-bolditalic.eot         |   Bin 0 -> 266158 bytes
 .../_static/fonts/Lato/lato-bolditalic.ttf         |   Bin 0 -> 622572 bytes
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin 0 -> 323344 bytes
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin 0 -> 193308 bytes
 .../_static/fonts/Lato/lato-italic.eot             |   Bin 0 -> 268604 bytes
 .../_static/fonts/Lato/lato-italic.ttf             |   Bin 0 -> 639388 bytes
 .../_static/fonts/Lato/lato-italic.woff            |   Bin 0 -> 328412 bytes
 .../_static/fonts/Lato/lato-italic.woff2           |   Bin 0 -> 195704 bytes
 .../_static/fonts/Lato/lato-regular.eot            |   Bin 0 -> 253461 bytes
 .../_static/fonts/Lato/lato-regular.ttf            |   Bin 0 -> 607720 bytes
 .../_static/fonts/Lato/lato-regular.woff           |   Bin 0 -> 309192 bytes
 .../_static/fonts/Lato/lato-regular.woff2          |   Bin 0 -> 182708 bytes
 .../_static/fonts/RobotoSlab-Bold.ttf              |   Bin 0 -> 170616 bytes
 .../_static/fonts/RobotoSlab-Regular.ttf           |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 0 -> 79520 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 0 -> 170616 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 0 -> 87624 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 0 -> 67312 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 0 -> 78331 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 0 -> 86288 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 0 -> 66444 bytes
 .../_static/fonts/fontawesome-webfont.eot          |   Bin 0 -> 165742 bytes
 .../_static/fonts/fontawesome-webfont.svg          |  2671 +++++
 .../_static/fonts/fontawesome-webfont.ttf          |   Bin 0 -> 165548 bytes
 .../_static/fonts/fontawesome-webfont.woff         |   Bin 0 -> 98024 bytes
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin 0 -> 77160 bytes
 .../docs/r1.3.0-incubating/_static/jquery-3.5.1.js | 10872 +++++++++++++++++++
 content/docs/r1.3.0-incubating/_static/jquery.js   |     2 +
 .../r1.3.0-incubating/_static/js/badge_only.js     |     1 +
 .../_static/js/html5shiv-printshiv.min.js          |     4 +
 .../r1.3.0-incubating/_static/js/html5shiv.min.js  |     4 +
 .../r1.3.0-incubating/_static/js/modernizr.min.js  |     4 +
 content/docs/r1.3.0-incubating/_static/js/theme.js |     1 +
 .../r1.3.0-incubating/_static/kyuubi_logo_gray.png |   Bin 0 -> 6739 bytes
 .../r1.3.0-incubating/_static/language_data.js     |   297 +
 content/docs/r1.3.0-incubating/_static/minus.png   |   Bin 0 -> 90 bytes
 content/docs/r1.3.0-incubating/_static/plus.png    |   Bin 0 -> 90 bytes
 .../docs/r1.3.0-incubating/_static/pygments.css    |    74 +
 .../docs/r1.3.0-incubating/_static/searchtools.js  |   522 +
 .../r1.3.0-incubating/_static/underscore-1.12.0.js |  2027 ++++
 .../docs/r1.3.0-incubating/_static/underscore.js   |     6 +
 content/docs/r1.3.0-incubating/appendix/index.html |   274 +
 .../r1.3.0-incubating/appendix/terminology.html    |   426 +
 .../docs/r1.3.0-incubating/client/hive_jdbc.html   |   362 +
 content/docs/r1.3.0-incubating/client/index.html   |   263 +
 .../docs/r1.3.0-incubating/community/badges.html   |   276 +
 .../r1.3.0-incubating/community/collaborators.html |   273 +
 .../r1.3.0-incubating/community/contributions.html |   336 +
 .../community/improvement-proposals.html           |   343 +
 .../docs/r1.3.0-incubating/community/index.html    |   283 +
 .../docs/r1.3.0-incubating/community/release.html  |   478 +
 .../deployment/high_availability_guide.html        |   357 +
 .../deployment/hive_metastore.html                 |   507 +
 .../docs/r1.3.0-incubating/deployment/index.html   |   316 +
 .../deployment/on_kubernetes.html                  |   370 +
 .../docs/r1.3.0-incubating/deployment/on_yarn.html |   411 +
 .../r1.3.0-incubating/deployment/settings.html     |  1256 +++
 .../r1.3.0-incubating/deployment/spark/aqe.html    |   471 +
 .../r1.3.0-incubating/deployment/spark/basics.html |   268 +
 .../r1.3.0-incubating/deployment/spark/driver.html |   265 +
 .../deployment/spark/dynamic_allocation.html       |   434 +
 .../deployment/spark/dynamicpartitionpruning.html  |   262 +
 .../r1.3.0-incubating/deployment/spark/ess.html    |   259 +
 .../deployment/spark/eventqueue.html               |   264 +
 .../deployment/spark/executor.html                 |   261 +
 .../deployment/spark/heartbeart.html               |   261 +
 .../r1.3.0-incubating/deployment/spark/index.html  |   287 +
 .../deployment/spark/locality.html                 |   260 +
 .../deployment/spark/monitering.html               |   262 +
 .../deployment/spark/shuffle.html                  |   282 +
 .../deployment/spark/speculation.html              |   261 +
 .../r1.3.0-incubating/deployment/spark/sql.html    |   266 +
 .../develop_tools/build_document.html              |   317 +
 .../r1.3.0-incubating/develop_tools/building.html  |   353 +
 .../r1.3.0-incubating/develop_tools/debugging.html |   305 +
 .../r1.3.0-incubating/develop_tools/developer.html |   299 +
 .../develop_tools/distribution.html                |   297 +
 .../r1.3.0-incubating/develop_tools/index.html     |   294 +
 .../r1.3.0-incubating/develop_tools/testing.html   |   306 +
 content/docs/r1.3.0-incubating/genindex.html       |   242 +
 content/docs/r1.3.0-incubating/index.html          |   395 +
 .../docs/r1.3.0-incubating/integrations/index.html |   263 +
 .../docs/r1.3.0-incubating/integrations/kudu.html  |   450 +
 content/docs/r1.3.0-incubating/monitor/index.html  |   273 +
 .../docs/r1.3.0-incubating/monitor/logging.html    |   284 +
 .../docs/r1.3.0-incubating/monitor/metrics.html    |   462 +
 .../monitor/trouble_shooting.html                  |   514 +
 content/docs/r1.3.0-incubating/objects.inv         |   Bin 0 -> 1566 bytes
 .../r1.3.0-incubating/overview/architecture.html   |   406 +
 content/docs/r1.3.0-incubating/overview/index.html |   282 +
 .../r1.3.0-incubating/overview/kyuubi_vs_hive.html |   340 +
 .../overview/kyuubi_vs_thriftserver.html           |   601 +
 .../docs/r1.3.0-incubating/quick_start/index.html  |   303 +
 .../r1.3.0-incubating/quick_start/quick_start.html |   538 +
 .../quick_start/quick_start_with_beeline.html      |   349 +
 .../quick_start/quick_start_with_datagrip.html     |   340 +
 .../quick_start/quick_start_with_dbeaver.html      |   480 +
 .../quick_start/quick_start_with_hue.html          |   387 +
 .../quick_start/quick_start_with_jdbc.html         |   349 +
 .../quick_start/quick_start_with_jupyter.html      |   257 +
 content/docs/r1.3.0-incubating/search.html         |   255 +
 content/docs/r1.3.0-incubating/searchindex.js      |     1 +
 .../r1.3.0-incubating/security/authentication.html |   395 +
 .../r1.3.0-incubating/security/authorization.html  |   291 +
 content/docs/r1.3.0-incubating/security/index.html |   269 +
 content/docs/r1.3.0-incubating/security/kinit.html |   366 +
 content/docs/r1.3.0-incubating/sql/functions.html  |   299 +
 content/docs/r1.3.0-incubating/sql/index.html      |   263 +
 content/docs/r1.3.0-incubating/sql/rules.html      |   347 +
 content/docs/r1.3.0-incubating/tools/index.html    |   263 +
 .../tools/spark_block_cleaner.html                 |   416 +
 content/docs/stable/.buildinfo                     |     4 +
 content/docs/stable/404.html                       |   236 +
 content/docs/stable/_images/aqe_switch_join.png    |   Bin 0 -> 38666 bytes
 .../_images/blog-adaptive-query-execution-2.png    |   Bin 0 -> 96428 bytes
 .../_images/blog-adaptive-query-execution-3.png    |   Bin 0 -> 28412 bytes
 .../_images/blog-adaptive-query-execution-6.png    |   Bin 0 -> 45949 bytes
 content/docs/stable/_images/cloudera_manager.png   |   Bin 0 -> 31447 bytes
 content/docs/stable/_images/configuration.png      |   Bin 0 -> 60289 bytes
 content/docs/stable/_images/connected.png          |   Bin 0 -> 17478 bytes
 .../docs/stable/_images/datasource_and_driver.png  |   Bin 0 -> 57829 bytes
 .../_images/dbeaver_connnect_to_database.png       |   Bin 0 -> 146299 bytes
 .../dbeaver_connnect_to_database_connection.png    |   Bin 0 -> 120468 bytes
 .../dbeaver_connnect_to_database_driver.png        |   Bin 0 -> 119670 bytes
 .../_images/dbeaver_connnect_to_database_port.png  |   Bin 0 -> 133784 bytes
 content/docs/stable/_images/desc_database.png      |   Bin 0 -> 389808 bytes
 content/docs/stable/_images/download_driver.png    |   Bin 0 -> 121709 bytes
 .../docs/stable/_images/dra_executor_add_ratio.png |   Bin 0 -> 14894 bytes
 content/docs/stable/_images/dra_executor_added.png |   Bin 0 -> 15171 bytes
 .../docs/stable/_images/dra_executor_removal.png   |   Bin 0 -> 15336 bytes
 content/docs/stable/_images/dra_task_fin.png       |   Bin 0 -> 16225 bytes
 content/docs/stable/_images/dra_task_pending.png   |   Bin 0 -> 14941 bytes
 content/docs/stable/_images/editor.png             |   Bin 0 -> 26132 bytes
 content/docs/stable/_images/ha.png                 |   Bin 0 -> 28507 bytes
 content/docs/stable/_images/hang.png               |   Bin 0 -> 18064 bytes
 content/docs/stable/_images/idea_debug.png         |   Bin 0 -> 64079 bytes
 content/docs/stable/_images/kyuubi.png             |   Bin 0 -> 129424 bytes
 .../stable/_images/kyuubi_architecture_new.png     |   Bin 0 -> 127660 bytes
 content/docs/stable/_images/kyuubi_layers.png      |   Bin 0 -> 36471 bytes
 content/docs/stable/_images/kyuubi_logo.png        |   Bin 0 -> 2663 bytes
 content/docs/stable/_images/localshufflereader.png |   Bin 0 -> 75119 bytes
 content/docs/stable/_images/metadata.png           |   Bin 0 -> 396949 bytes
 content/docs/stable/_images/query.png              |   Bin 0 -> 384802 bytes
 content/docs/stable/_images/query41_result.png     |   Bin 0 -> 555745 bytes
 content/docs/stable/_images/select_database.png    |   Bin 0 -> 55223 bytes
 content/docs/stable/_images/spark_jobs_page.png    |   Bin 0 -> 69593 bytes
 content/docs/stable/_images/spark_sql_cdh6.png     |   Bin 0 -> 123038 bytes
 content/docs/stable/_images/spark_sql_docker.png   |   Bin 0 -> 110905 bytes
 content/docs/stable/_images/start.png              |   Bin 0 -> 35392 bytes
 content/docs/stable/_images/sts.png                |   Bin 0 -> 56068 bytes
 content/docs/stable/_images/tpcds_schema.png       |   Bin 0 -> 95662 bytes
 content/docs/stable/_images/viewdata.png           |   Bin 0 -> 778197 bytes
 content/docs/stable/_images/workspace.png          |   Bin 0 -> 16371 bytes
 .../docs/stable/_sources/appendix/index.rst.txt    |    27 +
 .../stable/_sources/appendix/terminology.md.txt    |   170 +
 .../docs/stable/_sources/client/hive_jdbc.md.txt   |    87 +
 content/docs/stable/_sources/client/index.rst.txt  |    26 +
 .../docs/stable/_sources/community/badges.md.txt   |    25 +
 .../stable/_sources/community/collaborators.md.txt |    22 +
 .../stable/_sources/community/contributions.md.txt |    84 +
 .../community/improvement-proposals.md.txt         |    97 +
 .../docs/stable/_sources/community/index.rst.txt   |    31 +
 .../docs/stable/_sources/community/release.md.txt  |   217 +
 .../deployment/high_availability_guide.md.txt      |    50 +
 .../_sources/deployment/hive_metastore.md.txt      |   215 +
 .../docs/stable/_sources/deployment/index.rst.txt  |    49 +
 .../_sources/deployment/on_kubernetes.md.txt       |   126 +
 .../docs/stable/_sources/deployment/on_yarn.md.txt |   121 +
 .../stable/_sources/deployment/settings.md.txt     |   360 +
 .../stable/_sources/deployment/spark/aqe.md.txt    |   269 +
 .../stable/_sources/deployment/spark/basics.md.txt |    32 +
 .../stable/_sources/deployment/spark/driver.md.txt |    29 +
 .../deployment/spark/dynamic_allocation.md.txt     |   242 +
 .../spark/dynamicpartitionpruning.md.txt           |    25 +
 .../stable/_sources/deployment/spark/ess.md.txt    |    23 +
 .../_sources/deployment/spark/eventqueue.md.txt    |    27 +
 .../_sources/deployment/spark/executor.md.txt      |    25 +
 .../_sources/deployment/spark/heartbeart.md.txt    |    24 +
 .../stable/_sources/deployment/spark/index.rst.txt |    34 +
 .../_sources/deployment/spark/locality.md.txt      |    24 +
 .../_sources/deployment/spark/monitering.md.txt    |    26 +
 .../_sources/deployment/spark/shuffle.md.txt       |    46 +
 .../_sources/deployment/spark/speculation.md.txt   |    25 +
 .../stable/_sources/deployment/spark/sql.md.txt    |    30 +
 .../_sources/develop_tools/build_document.md.txt   |    72 +
 .../stable/_sources/develop_tools/building.md.txt  |    93 +
 .../stable/_sources/develop_tools/debugging.md.txt |    58 +
 .../stable/_sources/develop_tools/developer.md.txt |    52 +
 .../_sources/develop_tools/distribution.md.txt     |    57 +
 .../stable/_sources/develop_tools/index.rst.txt    |    32 +
 .../stable/_sources/develop_tools/testing.md.txt   |    59 +
 content/docs/stable/_sources/index.rst.txt         |   127 +
 .../stable/_sources/integrations/index.rst.txt     |    26 +
 .../docs/stable/_sources/integrations/kudu.md.txt  |   185 +
 content/docs/stable/_sources/monitor/index.rst.txt |    31 +
 .../docs/stable/_sources/monitor/logging.md.txt    |    31 +
 .../docs/stable/_sources/monitor/metrics.md.txt    |    58 +
 .../_sources/monitor/trouble_shooting.md.txt       |   270 +
 .../stable/_sources/overview/architecture.md.txt   |   182 +
 .../docs/stable/_sources/overview/index.rst.txt    |    28 +
 .../stable/_sources/overview/kyuubi_vs_hive.md.txt |    53 +
 .../overview/kyuubi_vs_thriftserver.md.txt         |   263 +
 .../docs/stable/_sources/quick_start/index.rst.txt |    34 +
 .../stable/_sources/quick_start/quick_start.md.txt |   268 +
 .../quick_start/quick_start_with_beeline.md.txt    |    99 +
 .../quick_start/quick_start_with_datagrip.md.txt   |    57 +
 .../quick_start/quick_start_with_dbeaver.md.txt    |   229 +
 .../quick_start/quick_start_with_hue.md.txt        |   135 +
 .../quick_start/quick_start_with_jdbc.md.txt       |    98 +
 .../quick_start/quick_start_with_jupyter.md.txt    |    25 +
 .../stable/_sources/security/authentication.md.txt |    91 +
 .../stable/_sources/security/authorization.md.txt  |    49 +
 .../docs/stable/_sources/security/index.rst.txt    |    29 +
 content/docs/stable/_sources/security/kinit.md.txt |    96 +
 content/docs/stable/_sources/sql/functions.md.txt  |    35 +
 content/docs/stable/_sources/sql/index.rst.txt     |    30 +
 content/docs/stable/_sources/sql/rules.md.txt      |    69 +
 content/docs/stable/_sources/tools/index.rst.txt   |    26 +
 .../_sources/tools/spark_block_cleaner.md.txt      |   134 +
 content/docs/stable/_static/basic.css              |   861 ++
 content/docs/stable/_static/css/badge_only.css     |     1 +
 .../stable/_static/css/fonts/Roboto-Slab-Bold.woff |   Bin 0 -> 87624 bytes
 .../_static/css/fonts/Roboto-Slab-Bold.woff2       |   Bin 0 -> 67312 bytes
 .../_static/css/fonts/Roboto-Slab-Regular.woff     |   Bin 0 -> 86288 bytes
 .../_static/css/fonts/Roboto-Slab-Regular.woff2    |   Bin 0 -> 66444 bytes
 .../_static/css/fonts/fontawesome-webfont.eot      |   Bin 0 -> 165742 bytes
 .../_static/css/fonts/fontawesome-webfont.svg      |  2671 +++++
 .../_static/css/fonts/fontawesome-webfont.ttf      |   Bin 0 -> 165548 bytes
 .../_static/css/fonts/fontawesome-webfont.woff     |   Bin 0 -> 98024 bytes
 .../_static/css/fonts/fontawesome-webfont.woff2    |   Bin 0 -> 77160 bytes
 .../stable/_static/css/fonts/lato-bold-italic.woff |   Bin 0 -> 323344 bytes
 .../_static/css/fonts/lato-bold-italic.woff2       |   Bin 0 -> 193308 bytes
 .../docs/stable/_static/css/fonts/lato-bold.woff   |   Bin 0 -> 309728 bytes
 .../docs/stable/_static/css/fonts/lato-bold.woff2  |   Bin 0 -> 184912 bytes
 .../_static/css/fonts/lato-normal-italic.woff      |   Bin 0 -> 328412 bytes
 .../_static/css/fonts/lato-normal-italic.woff2     |   Bin 0 -> 195704 bytes
 .../docs/stable/_static/css/fonts/lato-normal.woff |   Bin 0 -> 309192 bytes
 .../stable/_static/css/fonts/lato-normal.woff2     |   Bin 0 -> 182708 bytes
 content/docs/stable/_static/css/theme.css          |     4 +
 content/docs/stable/_static/doctools.js            |   321 +
 .../docs/stable/_static/documentation_options.js   |    12 +
 content/docs/stable/_static/file.png               |   Bin 0 -> 286 bytes
 .../docs/stable/_static/fonts/Inconsolata-Bold.ttf |   Bin 0 -> 109948 bytes
 .../stable/_static/fonts/Inconsolata-Regular.ttf   |   Bin 0 -> 96964 bytes
 content/docs/stable/_static/fonts/Inconsolata.ttf  |   Bin 0 -> 63184 bytes
 content/docs/stable/_static/fonts/Lato-Bold.ttf    |   Bin 0 -> 656544 bytes
 content/docs/stable/_static/fonts/Lato-Regular.ttf |   Bin 0 -> 656568 bytes
 .../docs/stable/_static/fonts/Lato/lato-bold.eot   |   Bin 0 -> 256056 bytes
 .../docs/stable/_static/fonts/Lato/lato-bold.ttf   |   Bin 0 -> 600856 bytes
 .../docs/stable/_static/fonts/Lato/lato-bold.woff  |   Bin 0 -> 309728 bytes
 .../docs/stable/_static/fonts/Lato/lato-bold.woff2 |   Bin 0 -> 184912 bytes
 .../stable/_static/fonts/Lato/lato-bolditalic.eot  |   Bin 0 -> 266158 bytes
 .../stable/_static/fonts/Lato/lato-bolditalic.ttf  |   Bin 0 -> 622572 bytes
 .../stable/_static/fonts/Lato/lato-bolditalic.woff |   Bin 0 -> 323344 bytes
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin 0 -> 193308 bytes
 .../docs/stable/_static/fonts/Lato/lato-italic.eot |   Bin 0 -> 268604 bytes
 .../docs/stable/_static/fonts/Lato/lato-italic.ttf |   Bin 0 -> 639388 bytes
 .../stable/_static/fonts/Lato/lato-italic.woff     |   Bin 0 -> 328412 bytes
 .../stable/_static/fonts/Lato/lato-italic.woff2    |   Bin 0 -> 195704 bytes
 .../stable/_static/fonts/Lato/lato-regular.eot     |   Bin 0 -> 253461 bytes
 .../stable/_static/fonts/Lato/lato-regular.ttf     |   Bin 0 -> 607720 bytes
 .../stable/_static/fonts/Lato/lato-regular.woff    |   Bin 0 -> 309192 bytes
 .../stable/_static/fonts/Lato/lato-regular.woff2   |   Bin 0 -> 182708 bytes
 .../docs/stable/_static/fonts/RobotoSlab-Bold.ttf  |   Bin 0 -> 170616 bytes
 .../stable/_static/fonts/RobotoSlab-Regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 0 -> 79520 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 0 -> 170616 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 0 -> 87624 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 0 -> 67312 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 0 -> 78331 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 0 -> 86288 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 0 -> 66444 bytes
 .../stable/_static/fonts/fontawesome-webfont.eot   |   Bin 0 -> 165742 bytes
 .../stable/_static/fonts/fontawesome-webfont.svg   |  2671 +++++
 .../stable/_static/fonts/fontawesome-webfont.ttf   |   Bin 0 -> 165548 bytes
 .../stable/_static/fonts/fontawesome-webfont.woff  |   Bin 0 -> 98024 bytes
 .../stable/_static/fonts/fontawesome-webfont.woff2 |   Bin 0 -> 77160 bytes
 content/docs/stable/_static/jquery-3.5.1.js        | 10872 +++++++++++++++++++
 content/docs/stable/_static/jquery.js              |     2 +
 content/docs/stable/_static/js/badge_only.js       |     1 +
 .../stable/_static/js/html5shiv-printshiv.min.js   |     4 +
 content/docs/stable/_static/js/html5shiv.min.js    |     4 +
 content/docs/stable/_static/js/modernizr.min.js    |     4 +
 content/docs/stable/_static/js/theme.js            |     1 +
 content/docs/stable/_static/kyuubi_logo_gray.png   |   Bin 0 -> 6739 bytes
 content/docs/stable/_static/language_data.js       |   297 +
 content/docs/stable/_static/minus.png              |   Bin 0 -> 90 bytes
 content/docs/stable/_static/plus.png               |   Bin 0 -> 90 bytes
 content/docs/stable/_static/pygments.css           |    74 +
 content/docs/stable/_static/searchtools.js         |   522 +
 content/docs/stable/_static/underscore-1.12.0.js   |  2027 ++++
 content/docs/stable/_static/underscore.js          |     6 +
 content/docs/stable/appendix/index.html            |   274 +
 content/docs/stable/appendix/terminology.html      |   426 +
 content/docs/stable/client/hive_jdbc.html          |   362 +
 content/docs/stable/client/index.html              |   263 +
 content/docs/stable/community/badges.html          |   276 +
 content/docs/stable/community/collaborators.html   |   273 +
 content/docs/stable/community/contributions.html   |   336 +
 .../stable/community/improvement-proposals.html    |   343 +
 content/docs/stable/community/index.html           |   283 +
 content/docs/stable/community/release.html         |   478 +
 .../stable/deployment/high_availability_guide.html |   357 +
 content/docs/stable/deployment/hive_metastore.html |   507 +
 content/docs/stable/deployment/index.html          |   316 +
 content/docs/stable/deployment/on_kubernetes.html  |   370 +
 content/docs/stable/deployment/on_yarn.html        |   411 +
 content/docs/stable/deployment/settings.html       |  1256 +++
 content/docs/stable/deployment/spark/aqe.html      |   471 +
 content/docs/stable/deployment/spark/basics.html   |   268 +
 content/docs/stable/deployment/spark/driver.html   |   265 +
 .../deployment/spark/dynamic_allocation.html       |   434 +
 .../deployment/spark/dynamicpartitionpruning.html  |   262 +
 content/docs/stable/deployment/spark/ess.html      |   259 +
 .../docs/stable/deployment/spark/eventqueue.html   |   264 +
 content/docs/stable/deployment/spark/executor.html |   261 +
 .../docs/stable/deployment/spark/heartbeart.html   |   261 +
 content/docs/stable/deployment/spark/index.html    |   287 +
 content/docs/stable/deployment/spark/locality.html |   260 +
 .../docs/stable/deployment/spark/monitering.html   |   262 +
 content/docs/stable/deployment/spark/shuffle.html  |   282 +
 .../docs/stable/deployment/spark/speculation.html  |   261 +
 content/docs/stable/deployment/spark/sql.html      |   266 +
 .../docs/stable/develop_tools/build_document.html  |   317 +
 content/docs/stable/develop_tools/building.html    |   353 +
 content/docs/stable/develop_tools/debugging.html   |   305 +
 content/docs/stable/develop_tools/developer.html   |   299 +
 .../docs/stable/develop_tools/distribution.html    |   297 +
 content/docs/stable/develop_tools/index.html       |   294 +
 content/docs/stable/develop_tools/testing.html     |   306 +
 content/docs/stable/genindex.html                  |   242 +
 content/docs/stable/index.html                     |   395 +
 content/docs/stable/integrations/index.html        |   263 +
 content/docs/stable/integrations/kudu.html         |   450 +
 content/docs/stable/monitor/index.html             |   273 +
 content/docs/stable/monitor/logging.html           |   284 +
 content/docs/stable/monitor/metrics.html           |   462 +
 content/docs/stable/monitor/trouble_shooting.html  |   514 +
 content/docs/stable/objects.inv                    |   Bin 0 -> 1566 bytes
 content/docs/stable/overview/architecture.html     |   406 +
 content/docs/stable/overview/index.html            |   282 +
 content/docs/stable/overview/kyuubi_vs_hive.html   |   340 +
 .../stable/overview/kyuubi_vs_thriftserver.html    |   601 +
 content/docs/stable/quick_start/index.html         |   303 +
 content/docs/stable/quick_start/quick_start.html   |   538 +
 .../quick_start/quick_start_with_beeline.html      |   349 +
 .../quick_start/quick_start_with_datagrip.html     |   340 +
 .../quick_start/quick_start_with_dbeaver.html      |   480 +
 .../stable/quick_start/quick_start_with_hue.html   |   387 +
 .../stable/quick_start/quick_start_with_jdbc.html  |   349 +
 .../quick_start/quick_start_with_jupyter.html      |   257 +
 content/docs/stable/search.html                    |   255 +
 content/docs/stable/searchindex.js                 |     1 +
 content/docs/stable/security/authentication.html   |   395 +
 content/docs/stable/security/authorization.html    |   291 +
 content/docs/stable/security/index.html            |   269 +
 content/docs/stable/security/kinit.html            |   366 +
 content/docs/stable/sql/functions.html             |   299 +
 content/docs/stable/sql/index.html                 |   263 +
 content/docs/stable/sql/rules.html                 |   347 +
 content/docs/stable/tools/index.html               |   263 +
 content/docs/stable/tools/spark_block_cleaner.html |   416 +
 content/ecosystems.html                            |    95 +
 content/favicon.ico                                |   Bin 0 -> 1179 bytes
 content/improvement-proposals.html                 |   161 +
 content/index.html                                 |   136 +
 content/index.xml                                  |    23 +
 content/issue_tracking.html                        |    95 +
 content/js/vendor/jquery-1.12.4.min.js             |     5 +
 content/kyuubi-logo.jpg                            |   Bin 0 -> 2663 bytes
 content/kyuubi_ecosystem.png                       |   Bin 0 -> 735627 bytes
 content/mailing_lists.html                         |    96 +
 content/news.html                                  |   105 +
 ...-07-01-accept-kyuubi-into-apache-incubator.html |    94 +
 ...021-09-14-kyuubi-1.3.0-incubating-released.html |    94 +
 content/news/NOTE.txt                              |    16 +
 content/news/index.xml                             |     1 +
 content/news/page/1.html                           |     1 +
 content/privacy_policy.html                        |   116 +
 content/public/categories/index.xml                |    13 +
 content/public/index.xml                           |    13 +
 content/public/sitemap.xml                         |    17 +
 content/public/tags/index.xml                      |    13 +
 content/release.html                               |   243 +
 content/release/1.3.0-incubating.html              |   251 +
 content/release/index.xml                          |     7 +
 content/release/page/1.html                        |     1 +
 content/releases.html                              |    96 +
 content/sitemap.xml                                |     1 +
 content/tags.html                                  |    99 +
 content/tags/index.xml                             |     1 +
 content/tags/page/1.html                           |     1 +
 content/usage.html                                 |    97 +
 content/version_control.html                       |    97 +
 796 files changed, 153028 insertions(+)

diff --git a/content/asf_logo_wide.png b/content/asf_logo_wide.png
new file mode 100644
index 0000000..632a5b3
Binary files /dev/null and b/content/asf_logo_wide.png differ
diff --git a/content/categories.html b/content/categories.html
new file mode 100644
index 0000000..1d70ab9
--- /dev/null
+++ b/content/categories.html
@@ -0,0 +1,99 @@
+<!doctype html><html lang=en>
+<head>
+<meta charset=utf-8>
+<meta http-equiv=x-ua-compatible content="IE=edge">
+<meta name=viewport content="width=device-width,initial-scale=1">
+<meta name=description content>
+<meta name=author content>
+<link rel=icon href=/favicon.ico>
+<base href=https://kyuubi.apache.org>
+<title>Apache Kyuubi(Incubating) - Multi-tenant Thrift JDBC/ODBC server</title>
+<link rel=stylesheet href=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u crossorigin=anonymous>
+<link rel=stylesheet href=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css integrity=sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp crossorigin=anonymous>
+<link rel=stylesheet href=/css/kyuubi.css>
+</head>
+<body>
+<nav class="navbar navbar-inverse navbar-fixed-top">
+<div class=container>
+<div class=navbar-header>
+<button type=button class="navbar-toggle collapsed" data-toggle=collapse data-target=#navbar aria-expanded=false aria-controls=navbar>
+<span class=sr-only>Toggle navigation</span>
+<span class=icon-bar></span>
+<span class=icon-bar></span>
+<span class=icon-bar></span>
+</button>
+<img class=navbar-logo src=/favicon.ico>
+<a class=navbar-brand href=/> Apache Kyuubi</a>
+</div>
+<div id=navbar class="navbar-collapse collapse">
+<ul class="nav navbar-nav">
+<li><a href=releases.html>Download</a></li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Documentation <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=docs/latest/index.html>Latest</a></li>
+<li><a href=docs/stable/index.html>Stable</a></li>
+<li role=separator class=divider></li>
+</ul>
+</li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Community <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=/contributing.html>Contributing to kyuubi</a></li>
+<li><a href=/improvement-proposals.html>Improvement proposals (KPIP)</a></li>
+<li><a href=/issue_tracking.html>Issue Tracking</a></li>
+<li><a href=/mailing_lists.html>Mailing lists</a></li>
+</ul>
+</li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Development <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=/developer-tools.html>Useful Developer Tools</a></li>
+<li><a href=/version_control.html>Version Control</a></li>
+</ul>
+</li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Help <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=https://www.apache.org/foundation/sponsorship.html>Sponsorship</a></li>
+<li><a href=https://www.apache.org/foundation/thanks.html>Thanks</a></li>
+</ul>
+</li>
+</ul>
+<ul class="nav navbar-nav navbar-right">
+<li>
+<a href=https://www.apache.org/>Apache Software Foundation <span class="glyphicon glyphicon-new-window" aria-hidden=true></span></a>
+</li>
+</ul>
+</div>
+</div>
+</nav>
+<div class=container>
+<section id=main>
+<div>
+<h1 id=title>Categories Archive</h1>
+<ul id=list>
+</ul>
+</div>
+</section>
+</div>
+<div class=container>
+<footer class="footer container">
+<div class=col-md-6>
+<p>Apache Kyuubi, Kyuubi, Apache, the Apache feather logo,
+and the Apache Kyuubi project logo are either registered trademarks or trademarks of the Apache Software Foundation
+in the United States and other countries</p>
+<p>Copyright © 2021-2021 The Apache Software Foundation</p>
+<p><a href=/privacy_policy.html>Privacy policy</a></p>
+</div>
+<div class=col-md-6>
+<img class=img-responsive src=/asf_logo_wide.png>
+</div>
+</footer>
+</div>
+<script src=js/vendor/jquery-1.12.4.min.js></script>
+<script>window.jQuery||document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
+<script src=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymous></script>
+<script>$(function(){$('table').addClass('table table-striped')})</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/categories/index.xml b/content/categories/index.xml
new file mode 100644
index 0000000..938b6c4
--- /dev/null
+++ b/content/categories/index.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on Apache Kyuubi</title><link>https://kyuubi.apache.org/categories.html</link><description>Recent content in Categories on Apache Kyuubi</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Copyright © 2021-{year} The Apache Software Foundation</copyright><atom:link href="https://kyuubi.apache.org/categories/ind [...]
\ No newline at end of file
diff --git a/content/categories/page/1.html b/content/categories/page/1.html
new file mode 100644
index 0000000..58448d0
--- /dev/null
+++ b/content/categories/page/1.html
@@ -0,0 +1 @@
+<!doctype html><html><head><title>https://kyuubi.apache.org/categories.html</title><link rel=canonical href=https://kyuubi.apache.org/categories.html><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=https://kyuubi.apache.org/categories.html"></head></html>
\ No newline at end of file
diff --git a/content/contributing.html b/content/contributing.html
new file mode 100644
index 0000000..504f070
--- /dev/null
+++ b/content/contributing.html
@@ -0,0 +1,149 @@
+<!doctype html><html lang=en>
+<head>
+<meta charset=utf-8>
+<meta http-equiv=x-ua-compatible content="IE=edge">
+<meta name=viewport content="width=device-width,initial-scale=1">
+<meta name=description content>
+<meta name=author content>
+<link rel=icon href=/favicon.ico>
+<base href=https://kyuubi.apache.org>
+<title>Apache Kyuubi(Incubating) - Multi-tenant Thrift JDBC/ODBC server</title>
+<link rel=stylesheet href=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u crossorigin=anonymous>
+<link rel=stylesheet href=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css integrity=sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp crossorigin=anonymous>
+<link rel=stylesheet href=/css/kyuubi.css>
+</head>
+<body>
+<nav class="navbar navbar-inverse navbar-fixed-top">
+<div class=container>
+<div class=navbar-header>
+<button type=button class="navbar-toggle collapsed" data-toggle=collapse data-target=#navbar aria-expanded=false aria-controls=navbar>
+<span class=sr-only>Toggle navigation</span>
+<span class=icon-bar></span>
+<span class=icon-bar></span>
+<span class=icon-bar></span>
+</button>
+<img class=navbar-logo src=/favicon.ico>
+<a class=navbar-brand href=/> Apache Kyuubi</a>
+</div>
+<div id=navbar class="navbar-collapse collapse">
+<ul class="nav navbar-nav">
+<li><a href=releases.html>Download</a></li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Documentation <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=docs/latest/index.html>Latest</a></li>
+<li><a href=docs/stable/index.html>Stable</a></li>
+<li role=separator class=divider></li>
+</ul>
+</li>
+<li class="dropdown active">
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Community <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=/contributing.html>Contributing to kyuubi</a></li>
+<li><a href=/improvement-proposals.html>Improvement proposals (KPIP)</a></li>
+<li><a href=/issue_tracking.html>Issue Tracking</a></li>
+<li><a href=/mailing_lists.html>Mailing lists</a></li>
+</ul>
+</li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Development <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=/developer-tools.html>Useful Developer Tools</a></li>
+<li><a href=/version_control.html>Version Control</a></li>
+</ul>
+</li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Help <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=https://www.apache.org/foundation/sponsorship.html>Sponsorship</a></li>
+<li><a href=https://www.apache.org/foundation/thanks.html>Thanks</a></li>
+</ul>
+</li>
+</ul>
+<ul class="nav navbar-nav navbar-right">
+<li>
+<a href=https://www.apache.org/>Apache Software Foundation <span class="glyphicon glyphicon-new-window" aria-hidden=true></span></a>
+</li>
+</ul>
+</div>
+</div>
+</nav>
+<div class=container>
+<h1>Contributing</h1>
+<p>Contributing to Kyuubi including source code, documents, tests e.t.c. means that you agree to the Apache License v2.0.</p>
+<ul>
+<li>Better to search the issue history first before reporting an <a class=github-button href=https://github.com/apache/incubator-kyuubi/issues data-color-scheme="no-preference: light; light: dark; dark: light;" data-icon=octicon-issue-opened data-show-count=true aria-label="Issue apache/incubator-kyuubi on GitHub">Issue</a></li>
+<li>Better to create an <a class=github-button href=https://github.com/apache/incubator-kyuubi/issues data-color-scheme="no-preference: light; light: dark; dark: light;" data-icon=octicon-issue-opened data-show-count=true aria-label="Issue apache/incubator-kyuubi on GitHub">Issue</a> to describe the feature or bug first before make a pull request.</li>
+<li>Better to use English for world widely understanding.</li>
+<li>Ask us anything</li>
+</ul>
+<p>Before you start, please read the <a href=http://www.apache.org/foundation/policies/conduct.html>Code of Conduct</a> carefully, familiarize yourself with it and refer to it whenever you need it.</p>
+<h2 id=prepare-github-environment>Prepare github environment</h2>
+<p>If you are new to submit a Pull Request, the follow steps are helpful to you.</p>
+<ol>
+<li>An available <a href=https://git-scm.com/downloads>git</a>, you can run <code>git version</code> if you not sure you have</li>
+<li>Fork <a href=https://github.com/apache/incubator-kyuubi>Kyuubi</a> on github, now you have a cloned Kyuubi repo</li>
+<li>Clone your Kyuubi repo with cmd <code>git clone https://github.com/${yourname}/kyuubi.git</code></li>
+<li>Create a new branch with cmd <code>git checkout -b test-branch</code></li>
+<li>Modify the code you want</li>
+<li>Commit and push code to your Kyuubi repo with commd <code>git commit -am "comment"; git push test-branch test-branch</code></li>
+<li>Back to <a href=https://github.com/apache/incubator-kyuubi>Kyuubi</a>, you can see a banner about <code>new pull request</code></li>
+<li>Now we can create a pull request to Kyuubi</li>
+</ol>
+<h2 id=creating-a-pull-request>Creating a Pull Request</h2>
+<p>When creating a Pull Request, you will automatically get the template below.</p>
+<p>Fulfilling it thoroughly can improve the speed of the review process.</p>
+<pre><code>&lt;!--
+Thanks for sending a pull request!
+
+Here are some tips for you:
+  1. If this is your first time, please read our contributor guidelines:
+     https://kyuubi.readthedocs.io/en/latest/community/contributions.html
+--&gt;
+
+### _Which issue are you going to fix?_
+&lt;!--
+Replace ${ID} below with the actual issue id from
+https://github.com/apache/incubator-kyuubi/issues,
+so that the issue will be linked and automatically closed after merging
+--&gt;
+
+Fixes #${ID}
+
+### _Why are the changes needed?_
+&lt;!--
+Please clarify why the changes are needed. For instance,
+  1. If you add a feature, you can talk about the user case of it.
+  2. If you fix a bug, you can clarify why it is a bug.
+--&gt;
+
+
+### _How was this patch tested?_
+- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible
+
+- [ ] Add screenshots for manual tests if appropriate
+
+- [ ] [Run test](https://kyuubi.readthedocs.io/en/latest/tools/testing.html#running-tests) locally before make a pull request
+
+</code></pre>
+</div>
+<div class=container>
+<footer class="footer container">
+<div class=col-md-6>
+<p>Apache Kyuubi, Kyuubi, Apache, the Apache feather logo,
+and the Apache Kyuubi project logo are either registered trademarks or trademarks of the Apache Software Foundation
+in the United States and other countries</p>
+<p>Copyright © 2021-2021 The Apache Software Foundation</p>
+<p><a href=/privacy_policy.html>Privacy policy</a></p>
+</div>
+<div class=col-md-6>
+<img class=img-responsive src=/asf_logo_wide.png>
+</div>
+</footer>
+</div>
+<script src=js/vendor/jquery-1.12.4.min.js></script>
+<script>window.jQuery||document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
+<script src=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymous></script>
+<script>$(function(){$('table').addClass('table table-striped')})</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/css/kyuubi.css b/content/css/kyuubi.css
new file mode 100644
index 0000000..58990e3
--- /dev/null
+++ b/content/css/kyuubi.css
@@ -0,0 +1,140 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/*=============================================================================
+                         Navbar at the top of the page
+=============================================================================*/
+
+body {
+	padding-top: 80px;
+}
+
+.jumbotron{
+	margin-top: -30px;
+}
+
+/* Links */
+.navbar-default .navbar-nav > li > a {
+	color: black;
+	font-weight: bold;
+}
+.navbar-default .navbar-nav > li > a:hover {
+	background: #E7E7E7;
+}
+
+.navbar-collapse .dropdown-header {
+	color: black;
+}
+img.navbar-logo{
+	float: left;
+	height: 40px;
+	width: 40px;
+	margin: 5px;
+	margin-right: 10px;
+
+}
+
+.footer {
+	margin-top: 30px;
+	padding: 10px;
+	background-color: #EFEFEF;
+	color: #505050;
+	font-size: 80%;
+}
+
+.kyuubi-logo {
+
+}
+/*=============================================================================
+                                    Text
+=============================================================================*/
+
+/* The auto-generated TOC anchors are hidden by the top navbar otherwise. */
+h1, h2, h3, h4, h5, h6 {
+    padding-top: 70px;
+    margin-top: -60px;
+}
+
+h1 {
+	font-size: 160%;
+}
+
+h2 {
+	font-size: 140%;
+}
+
+h3, h4, h5, h6 {
+	font-size: 120%;
+}
+
+/*=============================================================================
+                              Table of Contents
+=============================================================================*/
+
+.page-toc {
+	padding-bottom: 2em;
+}
+
+#markdown-toc {
+	font-size: 90%;
+}
+
+@media (min-width: 768px) {
+	#markdown-toc {
+		/*width: 35%;*/
+	}
+}
+
+/* Custom list styling */
+#markdown-toc, #markdown-toc ul {
+	list-style: none;
+	display: block;
+	position: relative;
+	padding-left: 0;
+	margin-bottom: 0;
+}
+
+/* All element */
+#markdown-toc li > a {
+	display: block;
+	padding: 5px 10px;
+	border: 1px solid #E5E5E5;
+	margin:-1px;
+}
+#markdown-toc li > a:hover,
+#markdown-toc li > a:focus {
+  text-decoration: none;
+  background-color: #eee;
+}
+
+/* 1st-level elements */
+#markdown-toc > li > a {
+	font-weight: bold;
+}
+
+/* 2nd-level element */
+#markdown-toc > li li > a {
+	padding-left: 20px; /* A little more indentation*/
+}
+
+/* >= 3rd-level element */
+#markdown-toc > li li li {
+	display: none; /* hide */
+}
+
+#markdown-toc li:last-child > a {
+	border-bottom: 1px solid #E5E5E5;
+}
diff --git a/content/description.html b/content/description.html
new file mode 100644
index 0000000..c35ace8
--- /dev/null
+++ b/content/description.html
@@ -0,0 +1,95 @@
+<!doctype html><html lang=en>
+<head>
+<meta charset=utf-8>
+<meta http-equiv=x-ua-compatible content="IE=edge">
+<meta name=viewport content="width=device-width,initial-scale=1">
+<meta name=description content>
+<meta name=author content>
+<link rel=icon href=/favicon.ico>
+<base href=https://kyuubi.apache.org>
+<title>Apache Kyuubi(Incubating) - Multi-tenant Thrift JDBC/ODBC server</title>
+<link rel=stylesheet href=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u crossorigin=anonymous>
+<link rel=stylesheet href=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css integrity=sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp crossorigin=anonymous>
+<link rel=stylesheet href=/css/kyuubi.css>
+</head>
+<body>
+<nav class="navbar navbar-inverse navbar-fixed-top">
+<div class=container>
+<div class=navbar-header>
+<button type=button class="navbar-toggle collapsed" data-toggle=collapse data-target=#navbar aria-expanded=false aria-controls=navbar>
+<span class=sr-only>Toggle navigation</span>
+<span class=icon-bar></span>
+<span class=icon-bar></span>
+<span class=icon-bar></span>
+</button>
+<img class=navbar-logo src=/favicon.ico>
+<a class=navbar-brand href=/> Apache Kyuubi</a>
+</div>
+<div id=navbar class="navbar-collapse collapse">
+<ul class="nav navbar-nav">
+<li><a href=releases.html>Download</a></li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Documentation <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=docs/latest/index.html>Latest</a></li>
+<li><a href=docs/stable/index.html>Stable</a></li>
+<li role=separator class=divider></li>
+</ul>
+</li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Community <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=/contributing.html>Contributing to kyuubi</a></li>
+<li><a href=/improvement-proposals.html>Improvement proposals (KPIP)</a></li>
+<li><a href=/issue_tracking.html>Issue Tracking</a></li>
+<li><a href=/mailing_lists.html>Mailing lists</a></li>
+</ul>
+</li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Development <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=/developer-tools.html>Useful Developer Tools</a></li>
+<li><a href=/version_control.html>Version Control</a></li>
+</ul>
+</li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Help <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=https://www.apache.org/foundation/sponsorship.html>Sponsorship</a></li>
+<li><a href=https://www.apache.org/foundation/thanks.html>Thanks</a></li>
+</ul>
+</li>
+</ul>
+<ul class="nav navbar-nav navbar-right">
+<li>
+<a href=https://www.apache.org/>Apache Software Foundation <span class="glyphicon glyphicon-new-window" aria-hidden=true></span></a>
+</li>
+</ul>
+</div>
+</div>
+</nav>
+<div class=container>
+<h1>Description</h1>
+<p><img src=kyuubi-logo.jpg title=kyuubi-logo width=200px>Apache Kyuubi (Incubating)</p>
+<p>Kyuubi is a distributed multi-tenant Thrift JDBC/ODBC server for large-scale data management, processing, and analytics, built on top of Apache Spark and designed to support more engines (i.e., Flink).</p>
+</div>
+<div class=container>
+<footer class="footer container">
+<div class=col-md-6>
+<p>Apache Kyuubi, Kyuubi, Apache, the Apache feather logo,
+and the Apache Kyuubi project logo are either registered trademarks or trademarks of the Apache Software Foundation
+in the United States and other countries</p>
+<p>Copyright © 2021-2021 The Apache Software Foundation</p>
+<p><a href=/privacy_policy.html>Privacy policy</a></p>
+</div>
+<div class=col-md-6>
+<img class=img-responsive src=/asf_logo_wide.png>
+</div>
+</footer>
+</div>
+<script src=js/vendor/jquery-1.12.4.min.js></script>
+<script>window.jQuery||document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
+<script src=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymous></script>
+<script>$(function(){$('table').addClass('table table-striped')})</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/developer-tools.html b/content/developer-tools.html
new file mode 100644
index 0000000..a86a70d
--- /dev/null
+++ b/content/developer-tools.html
@@ -0,0 +1,228 @@
+<!doctype html><html lang=en>
+<head>
+<meta charset=utf-8>
+<meta http-equiv=x-ua-compatible content="IE=edge">
+<meta name=viewport content="width=device-width,initial-scale=1">
+<meta name=description content>
+<meta name=author content>
+<link rel=icon href=/favicon.ico>
+<base href=https://kyuubi.apache.org>
+<title>Apache Kyuubi(Incubating) - Multi-tenant Thrift JDBC/ODBC server</title>
+<link rel=stylesheet href=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u crossorigin=anonymous>
+<link rel=stylesheet href=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css integrity=sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp crossorigin=anonymous>
+<link rel=stylesheet href=/css/kyuubi.css>
+</head>
+<body>
+<nav class="navbar navbar-inverse navbar-fixed-top">
+<div class=container>
+<div class=navbar-header>
+<button type=button class="navbar-toggle collapsed" data-toggle=collapse data-target=#navbar aria-expanded=false aria-controls=navbar>
+<span class=sr-only>Toggle navigation</span>
+<span class=icon-bar></span>
+<span class=icon-bar></span>
+<span class=icon-bar></span>
+</button>
+<img class=navbar-logo src=/favicon.ico>
+<a class=navbar-brand href=/> Apache Kyuubi</a>
+</div>
+<div id=navbar class="navbar-collapse collapse">
+<ul class="nav navbar-nav">
+<li><a href=releases.html>Download</a></li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Documentation <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=docs/latest/index.html>Latest</a></li>
+<li><a href=docs/stable/index.html>Stable</a></li>
+<li role=separator class=divider></li>
+</ul>
+</li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Community <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=/contributing.html>Contributing to kyuubi</a></li>
+<li><a href=/improvement-proposals.html>Improvement proposals (KPIP)</a></li>
+<li><a href=/issue_tracking.html>Issue Tracking</a></li>
+<li><a href=/mailing_lists.html>Mailing lists</a></li>
+</ul>
+</li>
+<li class="dropdown active">
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Development <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=/developer-tools.html>Useful Developer Tools</a></li>
+<li><a href=/version_control.html>Version Control</a></li>
+</ul>
+</li>
+<li class=dropdown>
+<a href=# class=dropdown-toggle data-toggle=dropdown role=button aria-haspopup=true aria-expanded=false>Help <span class=caret></span></a>
+<ul class=dropdown-menu>
+<li><a href=https://www.apache.org/foundation/sponsorship.html>Sponsorship</a></li>
+<li><a href=https://www.apache.org/foundation/thanks.html>Thanks</a></li>
+</ul>
+</li>
+</ul>
+<ul class="nav navbar-nav navbar-right">
+<li>
+<a href=https://www.apache.org/>Apache Software Foundation <span class="glyphicon glyphicon-new-window" aria-hidden=true></span></a>
+</li>
+</ul>
+</div>
+</div>
+</nav>
+<div class=container>
+<h1>Useful Developer Tools</h1>
+<h2 id=building-kyuubi>Building Kyuubi</h2>
+<h3 id=building-kyuubi-with-apache-maven>Building Kyuubi with Apache Maven</h3>
+<p><strong>Kyuubi</strong> is built based on <a href=http://maven.apache.org>Apache Maven</a>,</p>
+<pre><code>./build/mvn clean package -DskipTests
+</code></pre><p>This results in the creation of all sub-modules of Kyuubi project without running any unit test.</p>
+<p>If you want to test it manually, you can start Kyuubi directly from the Kyuubi project root by running</p>
+<pre><code>bin/kyuubi start
+</code></pre><h3 id=building-a-submodule-individually>Building a Submodule Individually</h3>
+<p>For instance, you can build the Kyuubi Common module using:</p>
+<pre><code>build/mvn clean package -pl :kyuubi-common -DskipTests
+</code></pre><h3 id=building-submodules-individually>Building Submodules Individually</h3>
+<p>For instance, you can build the Kyuubi Common module using:</p>
+<pre><code>build/mvn clean package -pl :kyuubi-common,:kyuubi-ha -DskipTests
+</code></pre><h3 id=skipping-some-modules>Skipping Some modules</h3>
+<p>For instance, you can build the Kyuubi modules without Kyuubi Codecov and Assembly modules using:</p>
+<pre><code> mvn clean install -pl '!:kyuubi-codecov,!:kyuubi-assembly' -DskipTests
+</code></pre><h3 id=building-kyuubi-against-different-apache-spark-versions>Building Kyuubi against Different Apache Spark versions</h3>
+<p>Since v1.1.0, Kyuubi support building with different Spark profiles,</p>
+<table>
+<thead>
+<tr>
+<th>Profile</th>
+<th>Default</th>
+<th>Since</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>-Pspark-3.0</td>
+<td>Yes</td>
+<td>1.0.0</td>
+</tr>
+<tr>
+<td>-Pspark-3.1</td>
+<td>No</td>
+<td>1.1.0</td>
+</tr>
+</tbody>
+</table>
+<h3 id=defining-the-apache-mirror-for-spark>Defining the Apache Mirror for Spark</h3>
+<p>By default, we use <code>https://archive.apache.org/dist/spark/</code> to download the built-in Spark release package,
+but if you find it hard to reach, or the downloading speed is too slow, you can define the <code>spark.archive.mirror</code>
+property to a suitable Apache mirror site. For instance,</p>
+<pre><code>build/mvn clean package -Dspark.archive.mirror=https://mirrors.bfsu.edu.cn/apache/spark/spark-3.0.1
+</code></pre><p>Visit <a href=http://www.apache.org/mirrors/>Apache Mirrors</a> and choose a mirror based on your region.</p>
+<p>Specifically for developers in China mainland, you can use the pre-defined profile named <code>mirror-cn</code> which use
+<code>mirrors.bfsu.edu.cn</code> to speed up Spark Binary downloading. For instance,</p>
+<pre><code>build/mvn clean package -Pmirror-cn
+</code></pre><h2 id=building-a-runnable-distribution>Building a Runnable Distribution</h2>
+<p>To create a Kyuubi distribution like those distributed by <a href=https://github.com/apache/incubaotr-kyuubi/releases>Kyuubi Release Page</a>,
+and that is laid out so as to be runnable, use <code>./build/dist</code> in the project root directory.</p>
+<p>For more information on usage, run <code>./build/dist --help</code></p>
+<pre><code class=language-logtalk data-lang=logtalk>./build/dist - Tool for making binary distributions of Kyuubi Server
+
+Usage:
++--------------------------------------------------------------------------------------+
+| ./build/dist [--name &lt;custom_name&gt;] [--tgz] [--spark-provided] &lt;maven build options&gt; |
++--------------------------------------------------------------------------------------+
+name:           -  custom binary name, using project version if undefined
+tgz:            -  whether to make a whole bundled package
+spark-provided: -  whether to make a package without Spark binary
+</code></pre><p>For instance,</p>
+<pre><code>./build/dist --name custom-name --tgz
+</code></pre><p>This results a Kyuubi distribution named <code>kyuubi-{version}-bin-custom-name.tar.gz</code> for you.</p>
+<p>If you are planing to deploy Kyuubi where <code>spark</code> is provided, in other word, it&rsquo;s not required to bundle spark binary, use</p>
+<pre><code>./build/dist --tgz --spark-provided
+</code></pre><p>Then you will get a Kyuubi distribution without spark binary named <code>kyuubi-{version}-bin-without-spark.tar.gz</code>.</p>
+<h2 id=building-kyuubi-documentation>Building Kyuubi Documentation</h2>
+<p>Follow the steps below and learn how to build the Kyuubi documentation as the one you are watching now.</p>
+<h3 id=install--activate-virtualenv>Install & Activate <code>virtualenv</code></h3>
+<p>Firstly, install <code>virtualenv</code>, this is optional but recommended as it is useful to create an independent environment to resolve dependency issues for building the documentation.</p>
+<pre><code>pip install virtualenv
+</code></pre><p>Switch to the <code>docs</code> root directory.</p>
+<pre><code>cd $KTUUBI_HOME/docs
+</code></pre><p>Create a virtual environment named &lsquo;kyuubi&rsquo; or anything you like using <code>virtualenv</code> if it&rsquo;s not existing.</p>
+<pre><code>virtualenv kyuubi
+</code></pre><p>Activate it,</p>
+<pre><code> source ./kyuubi/bin/activate
+</code></pre><h3 id=install-all-dependencies>Install all dependencies</h3>
+<p>Install all dependencies enumerated in the <code>requirements.txt</code></p>
+<pre><code>pip install -r requirements.txt
+</code></pre><h3 id=create-documentation>Create Documentation</h3>
+<pre><code>make html
+</code></pre><p>If the build process succeed, the HTML pages are in <code>_build/html</code>.</p>
+<h3 id=view-locally>View Locally</h3>
+<p>Open the <code>_build/html/index.html</code> file in your favorite web browser.</p>
+<h2 id=running-tests>Running Tests</h2>
+<p><strong>Kyuubi</strong> can be tested based on <a href=http://maven.apache.org>Apache Maven</a> and the ScalaTest Maven Plugin,
+please refer to the <a href=http://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin>ScalaTest documentation</a>,</p>
+<h3 id=running-tests-fully>Running Tests Fully</h3>
+<p>The following is an example of a command to run all the tests:</p>
+<pre><code>./build/mvn clean test
+</code></pre><h3 id=running-tests-for-a-module>Running Tests for a Module</h3>
+<pre><code>./build/mvn clean test -pl :kyuubi-common
+</code></pre><h3 id=running-tests-for-a-single-test>Running Tests for a Single Test</h3>
+<p>When developing locally, it’s convenient to run one single test, or a couple of tests, rather than all.</p>
+<p>With Maven, you can use the -DwildcardSuites flag to run individual Scala tests:</p>
+<pre><code>./build/mvn test -Dtest=none -DwildcardSuites=org.apache.kyuubi.service.FrontendServiceSuite
+</code></pre><p>If you want to make a single test that need integrate with kyuubi-spark-sql-engine module, please build the package for kyuubi-spark-sql-engine module at first.</p>
+<p>You can leverage the ready-made tool for creating a binary distribution.</p>
+<pre><code>./build/dist
+</code></pre><h2 id=debugging-kyuubi>Debugging Kyuubi</h2>
+<p>You can use the <a href=https://docs.oracle.com/javase/8/docs/technotes/guides/jpda/conninv.html#Plugin>Java Debug Wire Protocol</a> to debug Kyuubi
+with your favorite IDE tool, e.g. Intellij IDEA.</p>
+<h3 id=debugging-server>Debugging Server</h3>
+<p>We can configure the JDWP agent in <code>KYUUBI_JAVA_OPTS</code> for debugging.</p>
+<p>For example,</p>
+<pre><code>KYUUBI_JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 \
+bin/kyuubi start
+</code></pre><p>In the IDE, you set the corresponding parameters(host&port) in debug configurations, for example,</p>
+<div align=center>
+<p><img src=../imgs/idea_debug.png alt></p>
+</div>
+<h3 id=debugging-apps>Debugging Apps</h3>
+<ul>
+<li>Spark Driver</li>
+</ul>
+<pre><code>spark.driver.extraJavaOptions   -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
+</code></pre><ul>
+<li>Spark Executor</li>
+</ul>
+<pre><code>spark.executor.extraJavaOptions   -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
+</code></pre><h2 id=developer-tools>Developer Tools</h2>
+<h3 id=update-project-version>Update Project Version</h3>
+<pre><code>
+build/mvn versions:set -DgenerateBackupPoms=false
+</code></pre><h3 id=update-document-version>Update Document Version</h3>
+<p>Whenever Project version updates, please also update the document version at <code>docs/conf.py</code> to target the upcoming release.</p>
+<p>For example,</p>
+<pre><code>release = '1.2.0'
+</code></pre><h3 id=update-dependency-list>Update Dependency List</h3>
+<p>Kyuubi uses the <code>dev/dependencyList</code> file to indicates what upstream dependencies will actually go to the server-side classpath.</p>
+<p>For Pull requests, a linter for dependency check will be automatically executed in GitHub Actions.</p>
+<p>You can run <code>build/dependency.sh</code> locally first to detect the potential dependency change first.</p>
+<p>If the changes look expected, run <code>build/dependency.sh --replace</code> to update <code>dev/dependencyList</code> in your Pull request.</p>
+</div>
+<div class=container>
+<footer class="footer container">
+<div class=col-md-6>
+<p>Apache Kyuubi, Kyuubi, Apache, the Apache feather logo,
+and the Apache Kyuubi project logo are either registered trademarks or trademarks of the Apache Software Foundation
+in the United States and other countries</p>
+<p>Copyright © 2021-2021 The Apache Software Foundation</p>
+<p><a href=/privacy_policy.html>Privacy policy</a></p>
+</div>
+<div class=col-md-6>
+<img class=img-responsive src=/asf_logo_wide.png>
+</div>
+</footer>
+</div>
+<script src=js/vendor/jquery-1.12.4.min.js></script>
+<script>window.jQuery||document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
+<script src=https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymous></script>
+<script>$(function(){$('table').addClass('table table-striped')})</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/latest/.buildinfo b/content/docs/latest/.buildinfo
new file mode 100644
index 0000000..4e5d112
--- /dev/null
+++ b/content/docs/latest/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: 72693764f7fd103e9a0ef2273e717a26
+tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/content/docs/latest/404.html b/content/docs/latest/404.html
new file mode 100644
index 0000000..4165394
--- /dev/null
+++ b/content/docs/latest/404.html
@@ -0,0 +1,236 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Page not found &mdash; Kyuubi 1.3.0 documentation</title>
+  
+
+  
+  <link rel="stylesheet" href="/en/latest/_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="/en/latest/_static/pygments.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="/en/latest/_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="" src="/en/latest/_static/documentation_options.js"></script>
+        <script src="/en/latest/_static/jquery.js"></script>
+        <script src="/en/latest/_static/underscore.js"></script>
+        <script src="/en/latest/_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="/en/latest/_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="/en/latest/genindex.html" />
+    <link rel="search" title="Search" href="/en/latest/search.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="/en/latest/index.html" class="icon icon-home"> Kyuubi
+          
+
+          
+            
+            <img src="/en/latest/_static/kyuubi_logo_gray.png" class="logo" alt="Logo"/>
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="/en/latest/search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <p class="caption"><span class="caption-text">Usage Guide</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="/en/latest/quick_start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/en/latest/deployment/index.html">Deploying Kyuubi</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/en/latest/security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/en/latest/client/index.html">Client Documentation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/en/latest/integrations/index.html">Integrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/en/latest/monitor/index.html">Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/en/latest/sql/index.html">SQL References</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/en/latest/tools/index.html">Tools</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Kyuubi Insider</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="/en/latest/overview/index.html">Overview</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Contributing</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="/en/latest/develop_tools/index.html">Develop Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="/en/latest/community/index.html">Community</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Appendix</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="/en/latest/appendix/index.html">Appendixes</a></li>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="/en/latest/index.html">Kyuubi</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="/en/latest/index.html" class="icon icon-home"></a> &raquo;</li>
+        
+      <li>Page not found</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Page not found</h1>
+
+Thanks for trying.
+
+           </div>
+           
+          </div>
+          <footer>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the &#34;License&#34;); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an &#34;AS IS&#34; BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/latest/_images/aqe_switch_join.png b/content/docs/latest/_images/aqe_switch_join.png
new file mode 100644
index 0000000..3bf3989
Binary files /dev/null and b/content/docs/latest/_images/aqe_switch_join.png differ
diff --git a/content/docs/latest/_images/blog-adaptive-query-execution-2.png b/content/docs/latest/_images/blog-adaptive-query-execution-2.png
new file mode 100644
index 0000000..b1df760
Binary files /dev/null and b/content/docs/latest/_images/blog-adaptive-query-execution-2.png differ
diff --git a/content/docs/latest/_images/blog-adaptive-query-execution-3.png b/content/docs/latest/_images/blog-adaptive-query-execution-3.png
new file mode 100644
index 0000000..1df526d
Binary files /dev/null and b/content/docs/latest/_images/blog-adaptive-query-execution-3.png differ
diff --git a/content/docs/latest/_images/blog-adaptive-query-execution-6.png b/content/docs/latest/_images/blog-adaptive-query-execution-6.png
new file mode 100644
index 0000000..ff35a0b
Binary files /dev/null and b/content/docs/latest/_images/blog-adaptive-query-execution-6.png differ
diff --git a/content/docs/latest/_images/cloudera_manager.png b/content/docs/latest/_images/cloudera_manager.png
new file mode 100644
index 0000000..32e90ee
Binary files /dev/null and b/content/docs/latest/_images/cloudera_manager.png differ
diff --git a/content/docs/latest/_images/configuration.png b/content/docs/latest/_images/configuration.png
new file mode 100644
index 0000000..65ec046
Binary files /dev/null and b/content/docs/latest/_images/configuration.png differ
diff --git a/content/docs/latest/_images/connected.png b/content/docs/latest/_images/connected.png
new file mode 100644
index 0000000..372cf25
Binary files /dev/null and b/content/docs/latest/_images/connected.png differ
diff --git a/content/docs/latest/_images/datasource_and_driver.png b/content/docs/latest/_images/datasource_and_driver.png
new file mode 100644
index 0000000..a9b0700
Binary files /dev/null and b/content/docs/latest/_images/datasource_and_driver.png differ
diff --git a/content/docs/latest/_images/dbeaver_connnect_to_database.png b/content/docs/latest/_images/dbeaver_connnect_to_database.png
new file mode 100644
index 0000000..9b8a2e4
Binary files /dev/null and b/content/docs/latest/_images/dbeaver_connnect_to_database.png differ
diff --git a/content/docs/latest/_images/dbeaver_connnect_to_database_connection.png b/content/docs/latest/_images/dbeaver_connnect_to_database_connection.png
new file mode 100644
index 0000000..2442f4e
Binary files /dev/null and b/content/docs/latest/_images/dbeaver_connnect_to_database_connection.png differ
diff --git a/content/docs/latest/_images/dbeaver_connnect_to_database_driver.png b/content/docs/latest/_images/dbeaver_connnect_to_database_driver.png
new file mode 100644
index 0000000..35442b8
Binary files /dev/null and b/content/docs/latest/_images/dbeaver_connnect_to_database_driver.png differ
diff --git a/content/docs/latest/_images/dbeaver_connnect_to_database_port.png b/content/docs/latest/_images/dbeaver_connnect_to_database_port.png
new file mode 100644
index 0000000..15669f7
Binary files /dev/null and b/content/docs/latest/_images/dbeaver_connnect_to_database_port.png differ
diff --git a/content/docs/latest/_images/desc_database.png b/content/docs/latest/_images/desc_database.png
new file mode 100644
index 0000000..f4a18d0
Binary files /dev/null and b/content/docs/latest/_images/desc_database.png differ
diff --git a/content/docs/latest/_images/download_driver.png b/content/docs/latest/_images/download_driver.png
new file mode 100644
index 0000000..d936da8
Binary files /dev/null and b/content/docs/latest/_images/download_driver.png differ
diff --git a/content/docs/latest/_images/dra_executor_add_ratio.png b/content/docs/latest/_images/dra_executor_add_ratio.png
new file mode 100644
index 0000000..a9488d2
Binary files /dev/null and b/content/docs/latest/_images/dra_executor_add_ratio.png differ
diff --git a/content/docs/latest/_images/dra_executor_added.png b/content/docs/latest/_images/dra_executor_added.png
new file mode 100644
index 0000000..fd577df
Binary files /dev/null and b/content/docs/latest/_images/dra_executor_added.png differ
diff --git a/content/docs/latest/_images/dra_executor_removal.png b/content/docs/latest/_images/dra_executor_removal.png
new file mode 100644
index 0000000..bbd5104
Binary files /dev/null and b/content/docs/latest/_images/dra_executor_removal.png differ
diff --git a/content/docs/latest/_images/dra_task_fin.png b/content/docs/latest/_images/dra_task_fin.png
new file mode 100644
index 0000000..b1a2086
Binary files /dev/null and b/content/docs/latest/_images/dra_task_fin.png differ
diff --git a/content/docs/latest/_images/dra_task_pending.png b/content/docs/latest/_images/dra_task_pending.png
new file mode 100644
index 0000000..28fc35b
Binary files /dev/null and b/content/docs/latest/_images/dra_task_pending.png differ
diff --git a/content/docs/latest/_images/editor.png b/content/docs/latest/_images/editor.png
new file mode 100644
index 0000000..b0e53f5
Binary files /dev/null and b/content/docs/latest/_images/editor.png differ
diff --git a/content/docs/latest/_images/ha.png b/content/docs/latest/_images/ha.png
new file mode 100644
index 0000000..8e8980d
Binary files /dev/null and b/content/docs/latest/_images/ha.png differ
diff --git a/content/docs/latest/_images/hang.png b/content/docs/latest/_images/hang.png
new file mode 100644
index 0000000..1e1d76b
Binary files /dev/null and b/content/docs/latest/_images/hang.png differ
diff --git a/content/docs/latest/_images/idea_debug.png b/content/docs/latest/_images/idea_debug.png
new file mode 100644
index 0000000..b548c73
Binary files /dev/null and b/content/docs/latest/_images/idea_debug.png differ
diff --git a/content/docs/latest/_images/kyuubi.png b/content/docs/latest/_images/kyuubi.png
new file mode 100644
index 0000000..de17c46
Binary files /dev/null and b/content/docs/latest/_images/kyuubi.png differ
diff --git a/content/docs/latest/_images/kyuubi_architecture_new.png b/content/docs/latest/_images/kyuubi_architecture_new.png
new file mode 100644
index 0000000..5c5986f
Binary files /dev/null and b/content/docs/latest/_images/kyuubi_architecture_new.png differ
diff --git a/content/docs/latest/_images/kyuubi_layers.png b/content/docs/latest/_images/kyuubi_layers.png
new file mode 100644
index 0000000..5a60bb1
Binary files /dev/null and b/content/docs/latest/_images/kyuubi_layers.png differ
diff --git a/content/docs/latest/_images/kyuubi_logo.png b/content/docs/latest/_images/kyuubi_logo.png
new file mode 100644
index 0000000..1157e56
Binary files /dev/null and b/content/docs/latest/_images/kyuubi_logo.png differ
diff --git a/content/docs/latest/_images/localshufflereader.png b/content/docs/latest/_images/localshufflereader.png
new file mode 100644
index 0000000..e2c9ca5
Binary files /dev/null and b/content/docs/latest/_images/localshufflereader.png differ
diff --git a/content/docs/latest/_images/metadata.png b/content/docs/latest/_images/metadata.png
new file mode 100644
index 0000000..6d422bc
Binary files /dev/null and b/content/docs/latest/_images/metadata.png differ
diff --git a/content/docs/latest/_images/query.png b/content/docs/latest/_images/query.png
new file mode 100644
index 0000000..f21bd2d
Binary files /dev/null and b/content/docs/latest/_images/query.png differ
diff --git a/content/docs/latest/_images/query41_result.png b/content/docs/latest/_images/query41_result.png
new file mode 100644
index 0000000..bee75b9
Binary files /dev/null and b/content/docs/latest/_images/query41_result.png differ
diff --git a/content/docs/latest/_images/select_database.png b/content/docs/latest/_images/select_database.png
new file mode 100644
index 0000000..06f8418
Binary files /dev/null and b/content/docs/latest/_images/select_database.png differ
diff --git a/content/docs/latest/_images/spark_jobs_page.png b/content/docs/latest/_images/spark_jobs_page.png
new file mode 100644
index 0000000..de52466
Binary files /dev/null and b/content/docs/latest/_images/spark_jobs_page.png differ
diff --git a/content/docs/latest/_images/spark_sql_cdh6.png b/content/docs/latest/_images/spark_sql_cdh6.png
new file mode 100644
index 0000000..bf54414
Binary files /dev/null and b/content/docs/latest/_images/spark_sql_cdh6.png differ
diff --git a/content/docs/latest/_images/spark_sql_docker.png b/content/docs/latest/_images/spark_sql_docker.png
new file mode 100644
index 0000000..cbcd2c8
Binary files /dev/null and b/content/docs/latest/_images/spark_sql_docker.png differ
diff --git a/content/docs/latest/_images/start.png b/content/docs/latest/_images/start.png
new file mode 100644
index 0000000..d8c644e
Binary files /dev/null and b/content/docs/latest/_images/start.png differ
diff --git a/content/docs/latest/_images/sts.png b/content/docs/latest/_images/sts.png
new file mode 100644
index 0000000..035b696
Binary files /dev/null and b/content/docs/latest/_images/sts.png differ
diff --git a/content/docs/latest/_images/tpcds_schema.png b/content/docs/latest/_images/tpcds_schema.png
new file mode 100644
index 0000000..b610c61
Binary files /dev/null and b/content/docs/latest/_images/tpcds_schema.png differ
diff --git a/content/docs/latest/_images/viewdata.png b/content/docs/latest/_images/viewdata.png
new file mode 100644
index 0000000..4a0280b
Binary files /dev/null and b/content/docs/latest/_images/viewdata.png differ
diff --git a/content/docs/latest/_images/workspace.png b/content/docs/latest/_images/workspace.png
new file mode 100644
index 0000000..325c31c
Binary files /dev/null and b/content/docs/latest/_images/workspace.png differ
diff --git a/content/docs/latest/_sources/appendix/index.rst.txt b/content/docs/latest/_sources/appendix/index.rst.txt
new file mode 100644
index 0000000..ad54368
--- /dev/null
+++ b/content/docs/latest/_sources/appendix/index.rst.txt
@@ -0,0 +1,27 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../imgs/kyuubi_logo.png
+   :align: center
+
+Appendixes
+==========
+
+.. toctree::
+    :maxdepth: 3
+    :numbered: 4
+
+
+    terminology
diff --git a/content/docs/latest/_sources/appendix/terminology.md.txt b/content/docs/latest/_sources/appendix/terminology.md.txt
new file mode 100644
index 0000000..d83445a
--- /dev/null
+++ b/content/docs/latest/_sources/appendix/terminology.md.txt
@@ -0,0 +1,170 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Terminologies
+
+## Kyuubi
+
+Kyuubi is a unified multi-tenant JDBC interface for large-scale data processing and analytics, built on top of Apache Spark.
+
+### JDBC
+
+> The Java Database Connectivity (JDBC) API is the industry standard for database-independent connectivity between the Java programming language and a wide range of databases SQL databases and other tabular data sources,
+> such as spreadsheets or flat files.
+> The JDBC API provides a call-level API for SQL-based database access.
+
+> JDBC technology allows you to use the Java programming language to exploit "Write Once, Run Anywhere" capabilities for applications that require access to enterprise data.
+> With a JDBC technology-enabled driver, you can connect all corporate data even in a heterogeneous environment.
+
+<p align=right>
+<em>
+<a href="https://www.oracle.com/java/technologies/javase/javase-tech-database.html">https://www.oracle.com/java/technologies/javase/javase-tech-database.html</a>
+</em>
+</p>
+
+Typically, there is a gap between business development and big data analytics.
+If the two are forcefully coupled, it would make the corresponding system difficult to operate and optimize.
+One the flip side, if decoupled, the values of both can be maximized.
+Business experts can stay focused on their own business development,
+while Big Data engineers can continuously optimize server-side performance and stability.
+Kyuubi combines the two seamlessly through an easy-to-use JDBC interface.
+
+#### Apache Hive
+
+> The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.
+
+<p align=right>
+<em>
+<a href="https://hive.apache.org/">https://hive.apache.org</a>
+</em>
+</p>
+
+Kyuubi supports Hive JDBC driver, which helps you seamlessly migrate your slow queries from Hive to Spark SQL.
+
+#### Apache Thrift
+
+> The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
+
+<p align=right>
+<em>
+<a href="https://thrift.apache.org/">https://thrift.apache.org</a>
+</em>
+</p>
+
+### Server
+
+Server is a daemon process that handles concurrent connection and query requests and converting these requests into various operations against the **query engines** to complete the responses to clients.
+
+_**Aliases: Kyuubi Server / Kyuubi Instance / k.i.**_
+
+### ServerSpace
+
+A ServerSpace is used to register servers and expose them together as a service layer to clients.
+
+### Engine
+
+An engine handles all queries through Kyuubi servers.
+It is created one Kyuubi server and can be shared with other Kyuubi servers by registering itself to an engine namespace.
+All its capabilities are mainly powered by Spark SQL.
+
+_**Aliases: Query Engine / Engine Instance / e.i.**_
+
+### EngineSpace
+
+An EngineSpace is internally used by servers to register and interact with engines.
+
+#### Apache Spark
+
+> [Apache Spark™](https://spark.apache.org/) is a unified analytics engine for large-scale data processing.
+
+<p align=right>
+<em>
+<a href="https://spark.apache.org">https://spark.apache.org</a>
+</em>
+</p>
+
+### Multi Tenancy
+
+Kyuubi guarantees end-to-end multi-tenant isolation and sharing in the following pipeline
+
+```
+Client --> Kyuubi --> Query Engine(Spark) --> Resource Manager --> Data Storage Layer
+```
+
+### High Availability / Load Balance
+
+As an enterprise service, SLA commitment is essential. Deploying Kyuubi in High Availability (HA) mode helps you guarantee that.
+
+#### Apache Zookeeper
+
+> Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination.
+
+<p align=right>
+<em>
+<a href="https://zookeeper.apache.org/">https://zookeeper.apache.org</a>
+</em>
+</p>
+
+#### Apache Curator
+
+> Apache Curator is a Java/JVM client library for Apache ZooKeeper, a distributed coordination service. It includes a highlevel API framework and utilities to make using Apache ZooKeeper much easier and more reliable. It also includes recipes for common use cases and extensions such as service discovery and a Java 8 asynchronous DSL.
+
+<p align=right>
+<em>
+<a href="https://curator.apache.org/">https://curator.apache.org</a>
+</em>
+</p>
+
+## DataLake & LakeHouse
+
+Kyuubi unifies DataLake & LakeHouse access in the simplest pure SQL way, meanwhile it's also the securest way with authentication and SQL standard authorization.
+
+### Apache Iceberg
+
+> Apache Iceberg is an open table format for huge analytic datasets. Iceberg adds tables to Trino and Spark that use a high-performance format that works just like a SQL table.
+
+<p align=right>
+<em>
+<a href="http://iceberg.apache.org/">http://iceberg.apache.org/</a>
+</em>
+</p>
+
+### Delta Lake
+
+> Delta Lake is an open-source storage layer that brings ACID transactions to Apache Spark™ and big data workloads.
+
+<p align=right>
+<em>
+<a href="https://delta.io/">https://delta.io</a>
+</em>
+</p>
+
+### Apache Hudi
+
+> Apache Hudi ingests & manages storage of large analytical datasets over DFS (hdfs or cloud stores).
+
+<p align=right>
+<em>
+<a href="https://hudi.apache.org/">https://hudi.apache.org</a>
+</em>
+</p>
diff --git a/content/docs/latest/_sources/client/hive_jdbc.md.txt b/content/docs/latest/_sources/client/hive_jdbc.md.txt
new file mode 100644
index 0000000..bc6b456
--- /dev/null
+++ b/content/docs/latest/_sources/client/hive_jdbc.md.txt
@@ -0,0 +1,87 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Access Kyuubi with Hive JDBC and ODBC Drivers
+
+
+## Instructions
+
+Kyuubi does not provide its own JDBC Driver so far,
+as it is fully compatible with Hive JDBC and ODBC drivers that let you connect to popular Business Intelligence (BI) tools to query,
+analyze and visualize data though Spark SQL engines.
+
+
+## Install Hive JDBC
+
+For programing, the easiest way to get `hive-jdbc` is from [the maven central](https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc). For example,
+
+- **maven**
+```xml
+<dependency>
+    <groupId>org.apache.hive</groupId>
+    <artifactId>hive-jdbc</artifactId>
+    <version>2.3.8</version>
+</dependency>
+```
+
+- **sbt**
+```scala
+libraryDependencies += "org.apache.hive" % "hive-jdbc" % "2.3.8"
+```
+
+- **gradle**
+```gradle
+implementation group: 'org.apache.hive', name: 'hive-jdbc', version: '2.3.8'
+```
+
+For BI tools, please refer to [Quick Start](../quick_start/index.html) to check the guide for the BI tool used.
+If you find there is no specific document for the BI tool that you are using, don't worry, the configuration part for all BI tools are basically same.
+Also, we will appreciate if you can help us to improve the document.
+
+
+## JDBC URL
+
+JDBC URLs have the following format:
+
+```
+jdbc:hive2://<host>:<port>/<dbName>;<sessionConfs>?<sparkConfs>#<[spark|hive]Vars>
+```
+
+JDBC Parameter | Description
+---------------| -----------
+host | The cluster node hosting Kyuubi Server.
+port | The port number to which is Kyuubi Server listening.
+dbName | Optional database name to set the current database to run the query against, use `default` if absent.
+sessionConfs | Optional `Semicolon(;)` separated `key=value` parameters for the JDBC/ODBC driver. All of these will be set to the engine by `SparkSession.conf` which only accepts [Runtime SQL Configurations](http://spark.apache.org/docs/latest/configuration.html#runtime-sql-configuration);
+sparkConfs | Optional `Semicolon(;)` separated `key=value` parameters for Kyuubi server to create the corresponding engine, dismissed if engine exists.
+[spark&#124;hive]Vars | Optional `Semicolon(;)` separated `key=value` parameters for Spark/Hive variables used for variable substitution.
+
+## Example
+
+```
+jdbc:hive2://localhost:10009/default;spark.sql.adaptive.enabled=true?spark.ui.enabled=false#var_x=y
+```
+
+## Unsupported Hive Features
+
+- Connect to HiveServer2 using HTTP transport. ```transportMode=http```
diff --git a/content/docs/latest/_sources/client/index.rst.txt b/content/docs/latest/_sources/client/index.rst.txt
new file mode 100644
index 0000000..615a4bf
--- /dev/null
+++ b/content/docs/latest/_sources/client/index.rst.txt
@@ -0,0 +1,26 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../imgs/kyuubi_logo.png
+   :align: center
+
+Client Documentation
+====================
+
+.. toctree::
+    :maxdepth: 2
+    :numbered: 2
+
+    hive_jdbc
diff --git a/content/docs/latest/_sources/community/badges.md.txt b/content/docs/latest/_sources/community/badges.md.txt
new file mode 100644
index 0000000..15b6954
--- /dev/null
+++ b/content/docs/latest/_sources/community/badges.md.txt
@@ -0,0 +1,25 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<script async defer src="https://buttons.github.io/buttons.js"></script>
+
+# Community [![Gitter](https://badges.gitter.im/kyuubi-on-spark/Lobby.svg)](https://gitter.im/kyuubi-on-spark/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
+<a class="github-button" href="https://github.com/apache/incubator-kyuubi/subscription" data-color-scheme="no-preference: light; light: dark; dark: light;" data-icon="octicon-eye" data-show-count="true" aria-label="Watch Kyuubi on GitHub">Watch</a>
+<a class="github-button" href="https://github.com/apache/incubator-kyuubi" data-color-scheme="no-preference: light; light: dark; dark: light;" data-icon="octicon-star" data-show-count="true" aria-label="Star Kyuubi on GitHub">Star</a>
+<a class="github-button" href="https://github.com/apache/incubator-kyuubi/fork" data-color-scheme="no-preference: light; light: dark; dark: light;" data-icon="octicon-repo-forked" data-show-count="true" aria-label="Fork Kyuubi on GitHub">Fork</a>
+<a class="github-button" href="https://github.com/apache/incubator-kyuubi/issues" data-color-scheme="no-preference: light; light: dark; dark: light;" data-icon="octicon-issue-opened" data-show-count="true" aria-label="Issue Kyuubi on GitHub">Issue</a>
+<a class="github-button" href="https://github.com/apache/incubator-kyuubi/releases" data-color-scheme="no-preference: light; light: dark; dark: light;" data-icon="octicon-download" aria-label="Download Kyuubi on GitHub">Download</a>
diff --git a/content/docs/latest/_sources/community/collaborators.md.txt b/content/docs/latest/_sources/community/collaborators.md.txt
new file mode 100644
index 0000000..d424262
--- /dev/null
+++ b/content/docs/latest/_sources/community/collaborators.md.txt
@@ -0,0 +1,22 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Collaborators
+
+[PPMC Members and Committers](https://people.apache.org/phonebook.html?podling=kyuubi)
+
+See full contributor list at [contributors](https://github.com/apache/incubator-kyuubi/graphs/contributors).
diff --git a/content/docs/latest/_sources/community/contributions.md.txt b/content/docs/latest/_sources/community/contributions.md.txt
new file mode 100644
index 0000000..cc3ff5d
--- /dev/null
+++ b/content/docs/latest/_sources/community/contributions.md.txt
@@ -0,0 +1,84 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<script async defer src="https://buttons.github.io/buttons.js"></script>
+
+# Contribution Guidelines
+
+**Kyuubi** is an [Apache License v2.0](https://github.com/apache/incubator-kyuubi/blob/master/LICENSE) open source software.
+
+Contributing to Kyuubi including source code, documents, tests e.t.c. means that you agree to the Apache License v2.0.
+
+- Better to search the issue history first before reporting an <a class="github-button" href="https://github.com/apache/incubator-kyuubi/issues" data-color-scheme="no-preference: light; light: dark; dark: light;" data-icon="octicon-issue-opened" data-show-count="true" aria-label="Issue Kyuubi on GitHub">Issue</a>
+- Better to create an <a class="github-button" href="https://github.com/apache/incubator-kyuubi/issues" data-color-scheme="no-preference: light; light: dark; dark: light;" data-icon="octicon-issue-opened" data-show-count="true" aria-label="Issue Kyuubi on GitHub">Issue</a> to describe the feature or bug first before make a pull request.
+- Better to use English for world widely understanding.
+- Ask us anything 
+
+Before you start, please read the [Code of Conduct](http://www.apache.org/foundation/policies/conduct.html) carefully, familiarize yourself with it and refer to it whenever you need it.
+
+## Prepare github environment
+If you are new to submit a Pull Request, the follow steps are helpful to you.
+
+1. An available [git](https://git-scm.com/downloads), you can run `git version` if you not sure you have
+2. Fork [Kyuubi](https://github.com/apache/incubator-kyuubi) on github, now you have a cloned Kyuubi repo 
+3. Clone your Kyuubi repo with cmd `git clone https://github.com/${yourname}/kyuubi.git`
+4. Create a new branch with cmd `git checkout -b test-branch`
+5. Modify the code you want
+6. Commit and push code to your Kyuubi repo with commd `git commit -am "comment"; git push test-branch test-branch`
+7. Back to [Kyuubi](https://github.com/apache/incubator-kyuubi), you can see a banner about `new pull request`
+8. Now we can create a pull request to Kyuubi
+
+## Creating a Pull Request
+
+When creating a Pull Request, you will automatically get the template below.
+
+Fulfilling it thoroughly can improve the speed of the review process.
+
+```
+<!--
+Thanks for sending a pull request!
+
+Here are some tips for you:
+  1. If this is your first time, please read our contributor guidelines:
+     https://kyuubi.readthedocs.io/en/latest/community/contributions.html
+-->
+
+### _Which issue are you going to fix?_
+<!--
+Replace ${ID} below with the actual issue id from
+https://github.com/apache/incubator-kyuubi/issues,
+so that the issue will be linked and automatically closed after merging
+-->
+
+Fixes #${ID}
+
+### _Why are the changes needed?_
+<!--
+Please clarify why the changes are needed. For instance,
+  1. If you add a feature, you can talk about the user case of it.
+  2. If you fix a bug, you can clarify why it is a bug.
+-->
+
+
+### _How was this patch tested?_
+- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible
+
+- [ ] Add screenshots for manual tests if appropriate
+
+- [ ] [Run test](https://kyuubi.readthedocs.io/en/latest/develop_tools/testing.html#running-tests) locally before make a pull request
+
+```
diff --git a/content/docs/latest/_sources/community/improvement-proposals.md.txt b/content/docs/latest/_sources/community/improvement-proposals.md.txt
new file mode 100644
index 0000000..e8f1aa5
--- /dev/null
+++ b/content/docs/latest/_sources/community/improvement-proposals.md.txt
@@ -0,0 +1,97 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Kyuubi Project Improvement Proposals (KPIP)
+
+The purpose of a KPIP is to inform and involve the user community in significant improvements to the Kyuubi codebase throughout the development process to increase user needs.
+
+KPIPs should be used for significant user-facing or cross-cutting changes, not minor incremental improvements. When in doubt, if a committer thinks a change needs a KPIP, it does.
+
+## What is a KPIP?
+
+A KPIP is similar to a product requirement document commonly used in product management.
+
+A KPIP:
+
+- Is a ticket labeled “KPIP” proposing a major improvement or change to Kyuubi
+- Follows the template defined below
+- Includes discussions on the ticket about the proposal
+
+## Who?
+
+Any **community member** can help by discussing whether a KPIP is likely to meet their needs and propose KPIPs.
+
+**Contributors** can help by discussing whether a KPIP is likely to be technically feasible.
+
+**Committers** can help by discussing whether a KPIP aligns with long-term project goals, and by shepherding KPIPs.
+
+**KPIP Author** is any community member who authors a KPIP and is committed to pushing the change through the entire process. KPIP authorship can be transferred.
+
+**KPIP Shepherd** is a PMC member who is committed to shepherding the proposed change throughout the entire process. Although the shepherd can delegate or work with other committers in the development process, the shepherd is ultimately responsible for the success or failure of the KPIP. Responsibilities of the shepherd include, but are not limited to:
+
+- Be the advocate for the proposed change
+- Help push forward on design and achieve consensus among key stakeholders
+- Review code changes, making sure the change follows project standards
+- Get feedback from users and iterate on the design & implementation
+- Uphold the quality of the changes, including verifying whether the changes satisfy the goal of the KPIP and are absent of critical bugs before releasing them
+
+## KPIP Process
+### Proposing a KPIP
+
+Anyone may propose a KPIP, using the document template below. Please only submit a KPIP if you are willing to help, at least with discussion.
+
+If a KPIP is too small or incremental and should have been done through the normal JIRA process, a committer should remove the KPIP label.
+
+### KPIP Document Template
+
+A KPIP document is a short document with a few questions, inspired by the Heilmeier Catechism:
+
+- Q1. What are you trying to do? Articulate your objectives using absolutely no jargon.
+
+- Q2. What problem is this proposal NOT designed to solve?
+
+- Q3. How is it done today, and what are the limits of current practice?
+
+- Q4. What is new in your approach, and why do you think it will be successful?
+
+- Q5. Who cares? If you are successful, what difference will it make?
+
+- Q6. What are the risks?
+
+- Q7. How long will it take?
+
+- Q8. What are the mid-term and final “exams” to check for success?
+
+- Appendix A. Proposed API Changes. Optional section defining APIs changes, if any. Backward and forward compatibility must be taken into account.
+
+- Appendix B. Optional Design Sketch: How are the goals going to be accomplished? Give sufficient technical detail to allow a contributor to judge whether it's likely to be feasible. Note that this is not a full design document.
+
+- Appendix C. Optional Rejected Designs: What alternatives were considered? Why were they rejected? If no alternatives have been considered, the problem needs more thought.
+
+### Discussing a KPIP
+
+All discussions of a KPIP should take place in a public forum, preferably the discussion attached to the ticket. Any discussion that happen offline should be made available online for the public via meeting notes summarizing the discussions.
+
+### Implementing a KPIP
+
+Implementation should take place via the [contribution guidelines](./contributions.md). Changes that require KPIPs typically also require design documents to be written and reviewed.
diff --git a/content/docs/latest/_sources/community/index.rst.txt b/content/docs/latest/_sources/community/index.rst.txt
new file mode 100644
index 0000000..e1dd2ef
--- /dev/null
+++ b/content/docs/latest/_sources/community/index.rst.txt
@@ -0,0 +1,31 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../imgs/kyuubi_logo.png
+   :align: center
+
+Community
+=========
+
+.. toctree::
+    :maxdepth: 2
+    :numbered: 4
+    :glob:
+
+    collaborators
+    contributions
+    improvement-proposals
+    release
+    badges
diff --git a/content/docs/latest/_sources/community/release.md.txt b/content/docs/latest/_sources/community/release.md.txt
new file mode 100644
index 0000000..6d14174
--- /dev/null
+++ b/content/docs/latest/_sources/community/release.md.txt
@@ -0,0 +1,217 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+Kyuubi Release Guide
+===
+
+## Introduction
+The Apache Kyuubi (Incubating) project periodically declares and publishes releases. A release is one or more packages
+of the project artifact(s) that are approved for general public distribution and use. They may come with various
+degrees of caveat regarding their perceived quality and potential for change, such as "alpha", "beta", "incubating",
+"stable", etc.
+
+The Kyuubi community treats releases with great importance. They are a public face of the project and most users
+interact with the project only through the releases. Releases are signed off by the entire Kyuubi community in a
+public vote.
+
+Each release is executed by a Release Manager, who is selected among the Kyuubi committers. This document describes
+the process that the Release Manager follows to perform a release. Any changes to this process should be discussed
+and adopted on the [dev mailing list](mailto:dev@kyuubi.apache.org).
+
+Please remember that publishing software has legal consequences. This guide complements the foundation-wide 
+[Product Release Policy](https://www.apache.org/dev/release.html) and 
+[Release Distribution Policy](https://www.apache.org/dev/release-distribution).
+
+### Overview
+
+The release process consists of several steps:
+
+1. Decide to release
+2. Prepare for the release
+3. Cut branch iff for __major__ release
+4. Build a release candidate
+5. Vote on the release candidate
+6. If necessary, fix any issues and go back to step 3.
+7. Finalize the release
+8. Promote the release
+
+## Decide to release
+
+Deciding to release and selecting a Release Manager is the first step of the release process. This is a consensus-based
+decision of the entire community.
+
+Anybody can propose a release on the [dev mailing list](mailto:dev@kyuubi.apache.org), giving a solid argument and
+nominating a committer as the Release Manager (including themselves). There’s no formal process, no vote requirements,
+and no timing requirements. Any objections should be resolved by consensus before starting the release.
+
+In general, the community prefers to have a rotating set of 1-2 Release Managers. Keeping a small core set of managers
+allows enough people to build expertise in this area and improve processes over time, without Release Managers needing
+to re-learn the processes for each release. That said, if you are a committer interested in serving the community in
+this way, please reach out to the community on the [dev mailing list](mailto:dev@kyuubi.apache.org).
+
+### Checklist to proceed to the next step
+
+1. Community agrees to release
+2. Community selects a Release Manager
+
+## Prepare for the release
+
+Before your first release, you should perform one-time configuration steps. This will set up your security keys for
+signing the release and access to various release repositories.
+
+### One-time setup instructions
+
+#### ASF authentication
+
+The environments `ASF_USERNAME` and `ASF_PASSWORD` have been used in several places and several times in the release
+process, you can either one-time set up them in `~/.bashrc` or `~/.zshrc`, or export them in terminal everytime.
+
+```shell
+export ASF_USERNAME=<your apache username>
+export ASF_PASSWORD=<your apache password>
+```
+
+#### Subversion
+
+Besides on `git`, `svn` is also required for Apache release, please refer to
+https://www.apache.org/dev/version-control.html#https-svn for details.
+
+#### GPG Key
+
+You need to have a GPG key to sign the release artifacts. Please be aware of the ASF-wide
+[release signing guidelines](https://www.apache.org/dev/release-signing.html). If you don’t have a GPG key associated
+with your Apache account, please create one according to the guidelines.
+
+Determine your Apache GPG Key and Key ID, as follows:
+```shell
+gpg --list-keys --keyid-format SHORT
+```
+
+This will list your GPG keys. One of these should reflect your Apache account, for example:
+```shell
+pub   rsa4096 2021-08-30 [SC]
+      8FC8075E1FDC303276C676EE8001952629BCC75D
+uid           [ultimate] Cheng Pan <ch...@apache.org>
+sub   rsa4096 2021-08-30 [E]
+```
+Here, the key ID is the 8-digit hex string in the pub line: `29BCC75D`.
+
+To export the PGP public key, using:
+```shell
+gpg --armor --export 29BCC75D
+```
+
+The last step is to update the KEYS file with your code signing key 
+https://www.apache.org/dev/openpgp.html#export-public-key
+
+```shell
+svn checkout --depth=files "https://dist.apache.org/repos/dist/dev/incubator/kyuubi" work/svn-kyuubi
+(gpg --list-sigs "${ASF_USERNAME}@apache.org" && gpg --export --armor "${ASF_USERNAME}@apache.org") >> KEYS
+svn commit --username "${ASF_USERNAME}" --password "${ASF_PASSWORD}" --message "Update KEYS" work/svn-kyuubi
+```
+
+## Cut branch iff for major release
+
+Kyuubi use version pattern `{MAJOR_VERSION}.{MINOR_VERSION}.{PATCH_VERSION}[-{OPTIONAL_SUFFIX}]`, e.g. `1.3.0-incubating`.
+__Major Release__ means `MAJOR_VERSION` or `MINOR_VERSION` changed, and __Patch Release__ means `PATCH_VERSION` changed.
+
+The main step towards preparing a major release is to create a release branch. This is done via standard Git branching
+mechanism and should be announced to the community once the branch is created.
+
+The release branch pattern is `branch-{MAJOR_VERSION}.{MINOR_VERSION}`, e.g. `branch-1.3`.
+
+After cutting release branch, don't forget bump version in `master` branch.
+
+## Build a release candidate
+
+1. Set environment variables.
+
+```shell
+export RELEASE_VERSION=<release version, e.g. 1.3.0-incubating>
+export RELEASE_RC_NO=<RC number, e.g. 0>
+```
+
+2. Bump version.
+
+```shell
+build/mvn versions:set -DgenerateBackupPoms=false \
+  -DnewVersion="${RELEASE_VERSION}" \
+  -Pkubernetes,kyuubi-extension-spark-3-1,spark-block-cleaner,tpcds
+
+git commit -am "[RELEASE] Bump ${RELEASE_VERSION}"
+```
+
+3. Create a git tag for the release candidate.
+
+The tag pattern is `v${RELEASE_VERSION}-rc${RELEASE_RC_NO}`, e.g. `v1.3.0-incubating-rc0`
+
+4. Package the release binaries & sources, and upload them to the Apache staging SVN repo. Publish jars to the Apache
+staging Maven repo.
+
+```shell
+build/release/release.sh publish
+```
+
+## Vote on the release candidate
+
+The release voting takes place on the Apache Kyuubi (Incubating) developers list (the (P)PMC is voting).
+
+- If possible, attach a draft of the release notes with the email.
+- Recommend represent voting closing time in UTC format.
+- Make sure the email is in text format and the links are correct
+
+Once the vote is done, you should also send out a summary email with the totals, with a subject that looks
+something like __[VOTE][RESULT] ....__
+
+## Finalize the Release
+
+__Be Careful!__
+
+__THIS STEP IS IRREVERSIBLE so make sure you selected the correct staging repository.__
+__Once you move the artifacts into the release folder, they cannot be removed.__
+
+After the vote passes, to upload the binaries to Apache mirrors, you move the binaries from dev directory (this should
+be where they are voted) to release directory. This "moving" is the only way you can add stuff to the actual release
+directory. (Note: only (P)PMC members can move to release directory)
+
+Move the sub-directory in "dev" to the corresponding directory in "release". If you've added your signing key to the
+KEYS file, also update the release copy.
+
+```shell
+build/release/release.sh finalize
+```
+
+Verify that the resources are present in https://www.apache.org/dist/incubator/kyuubi/. It may take a while for them
+to be visible. This will be mirrored throughout the Apache network.
+
+For Maven Central Repository, you can Release from the [Apache Nexus Repository Manager](https://repository.apache.org/).
+Log in, open Staging Repositories, find the one voted on, select and click Release and confirm. If successful, it should
+show up under https://repository.apache.org/content/repositories/releases/org/apache/kyuubi/ and the same under 
+https://repository.apache.org/content/groups/maven-staging-group/org/apache/kyuubi/ (look for the correct release version).
+After some time this will be sync’d to [Maven Central](https://search.maven.org/) automatically.
+
+## Promote the release
+
+### Update Website
+
+TODO
+
+### Create an Announcement
+
+Once everything is working create an announcement on the website and then send an e-mail to the mailing list.
+
+Enjoy an adult beverage of your choice, and congratulations on making a Kyuubi release.
diff --git a/content/docs/latest/_sources/deployment/high_availability_guide.md.txt b/content/docs/latest/_sources/deployment/high_availability_guide.md.txt
new file mode 100644
index 0000000..14a89df
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/high_availability_guide.md.txt
@@ -0,0 +1,50 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Kyuubi High Availability Guide
+
+As an enterprise-class ad-hoc SQL query service built on top of [Apache Spark](http://spark.apache.org/), Kyuubi takes high availability(HA) as a major characteristic, aiming to ensure an agreed level of service availability, such as a higher than normal period of uptime.
+
+Running Kyuubi in HA mode is to use groups of computers or containers that support SQL query service on Kyuubi that can be reliably utilized with a minimum amount of down-time. Kyuubi operates by using [Apache ZooKeeper](https://zookeeper.apache.org/) to harness redundant service instances in groups that provide continuous service when one or more components fail.
+
+Without HA, if a server crashes, Kyuubi will be unavailable until the crashed server is fixed. With HA, this situation will be remedied by hardware/software faults auto detecting, and immediately another Kyuubi service instance will be ready to serve without requiring human intervention. 
+
+## Load Balance Mode
+
+Load balancing aims to optimize all Kyuubi service units usage, maximize throughput, minimize response time, and avoid overload of a single unit. Using multiple Kyuubi service units with load balancing instead of a single unit may increase reliability and availability through redundancy. 
+
+![](../imgs/ha.png)
+
+With Hive JDBC Driver, a client can specify service discovery mode in JDBC connection string, i.e. `serviceDiscoveryMode=zooKeeper;` and set `zooKeeperNameSpace=kyuubiserver;`, then it can randomly pick one of the Kyuubi service uris from the specified ZooKeeper address in the `/kyuubiserver` path.
+
+When we set `kyuubi.ha.enabled` to `true`, load balance mode is activated by default. Please make sure that you specify the correct ZooKeeper address via `kyuubi.ha.zookeeper.quorum` and `kyuubi.ha.zookeeper.client.port`.
+
+## Configuring High Availability
+
+This section describes how to configure high availability. These configurations in the following table can be treat like normal Spark properties by setting them in `spark-defaults.conf` file or via `--conf` parameter in server starting scripts.
+
+Key | Default | Meaning | Since
+--- | --- | --- | ---
+kyuubi\.ha\.zookeeper<br>\.acl\.enabled|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>false</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>Set to true if the zookeeper ensemble is kerberized</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.connection\.base\.retry<br>\.wait|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>1000</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>Initial amount of time to wait between retries to the zookeeper ensemble</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.connection\.max<br>\.retries|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>3</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>Max retry times for connecting to the zookeeper ensemble</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.connection\.max\.retry<br>\.wait|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>30000</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>Max amount of time to wait between retries for BOUNDED_EXPONENTIAL_BACKOFF policy can reach, or max time until elapsed for UNTIL_ELAPSED policy to connect the zookeeper ensemble</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.connection\.retry<br>\.policy|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>EXPONENTIAL_BACKOFF</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>The retry policy for connecting to the zookeeper ensemble, all candidates are: <ul><li>ONE_TIME</li><li> N_TIME</li><li> EXPONENTIAL_BACKOFF</li><li> BOUNDED_EXPONENTIAL_BACKOFF</li><li> UNTIL_ELAPSED</li></ul></div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.connection\.timeout|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>15000</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>The timeout(ms) of creating the connection to the zookeeper ensemble</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.namespace|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>kyuubi</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>The root directory for the service to deploy its instance uri. Additionally, it will creates a -[username] suffixed root directory for each application</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.quorum|<div style='width: 80pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>The connection string for the zookeeper ensemble</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.session\.timeout|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>60000</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>The timeout(ms) of a connected session to be idled</div>|<div style='width: 20pt'>1.0.0</div>
diff --git a/content/docs/latest/_sources/deployment/hive_metastore.md.txt b/content/docs/latest/_sources/deployment/hive_metastore.md.txt
new file mode 100644
index 0000000..39a5ebd
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/hive_metastore.md.txt
@@ -0,0 +1,215 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Integration with Hive Metastore
+
+In this section, you will learn how to configure Kyuubi to interact with Hive Metastore.
+
+- A common Hive metastore server could be set at Kyuubi server side
+- Individual Hive metastore servers could be used for end users to set
+
+## Requirements
+
+- A running Hive metastore server
+  - [Hive Metastore Administration](https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration)
+  - [Configuring the Hive Metastore for CDH](https://docs.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_hive_metastore_configure.html)
+- A Spark binary distribution built with `-Phive` support
+  - Use the built in one in the Kyuubi distribution
+  - Download from [Spark official website](https://spark.apache.org/downloads.html)
+  - Build from Spark source, [Building With Hive and JDBC Support](http://spark.apache.org/docs/latest/building-spark.html#building-with-hive-and-jdbc-support)
+- A copy of Hive client configuration
+
+So the whole thing here is to let Spark applications use this copy of Hive configuration to start a Hive metastore client for their own to talk to the Hive metastore server.
+
+## Default Behavior
+
+By default, Kyuubi launches Spark SQL engines pointing to a dummy embedded [Apache Derby](https://db.apache.org/derby/)-based metastore for each application,
+and this metadata can only be seen by one user at a time, e.g.
+
+```shell script
+bin/beeline -u 'jdbc:hive2://localhost:10009/' -n kentyao
+Connecting to jdbc:hive2://localhost:10009/
+Connected to: Spark SQL (version 1.0.0-SNAPSHOT)
+Driver: Hive JDBC (version 2.3.7)
+Transaction isolation: TRANSACTION_REPEATABLE_READ
+Beeline version 2.3.7 by Apache Hive
+0: jdbc:hive2://localhost:10009/> show databases;
+2020-11-16 23:50:50.388 INFO operation.ExecuteStatement:
+           Spark application name: kyuubi_kentyao_spark_2020-11-16T15:50:08.968Z
+                 application ID:  local-1605541809797
+                 application web UI: http://192.168.1.14:60165
+                 master: local[*]
+                 deploy mode: client
+                 version: 3.0.1
+           Start time: 2020-11-16T15:50:09.123Z
+           User: kentyao
+2020-11-16 23:50:50.404 INFO metastore.HiveMetaStore: 2: get_databases: *
+2020-11-16 23:50:50.404 INFO HiveMetaStore.audit: ugi=kentyao	ip=unknown-ip-addr	cmd=get_databases: *
+2020-11-16 23:50:50.423 INFO operation.ExecuteStatement: Processing kentyao's query[8453e657-c1c4-4391-8406-ab4747a66c45]: RUNNING_STATE -> FINISHED_STATE, statement: show databases, time taken: 0.035 seconds
++------------+
+| namespace  |
++------------+
+| default    |
++------------+
+1 row selected (0.122 seconds)
+0: jdbc:hive2://localhost:10009/> show tables;
+2020-11-16 23:50:52.957 INFO operation.ExecuteStatement:
+           Spark application name: kyuubi_kentyao_spark_2020-11-16T15:50:08.968Z
+                 application ID:  local-1605541809797
+                 application web UI: http://192.168.1.14:60165
+                 master: local[*]
+                 deploy mode: client
+                 version: 3.0.1
+           Start time: 2020-11-16T15:50:09.123Z
+           User: kentyao
+2020-11-16 23:50:52.968 INFO metastore.HiveMetaStore: 2: get_database: default
+2020-11-16 23:50:52.968 INFO HiveMetaStore.audit: ugi=kentyao	ip=unknown-ip-addr	cmd=get_database: default
+2020-11-16 23:50:52.970 INFO metastore.HiveMetaStore: 2: get_database: default
+2020-11-16 23:50:52.970 INFO HiveMetaStore.audit: ugi=kentyao	ip=unknown-ip-addr	cmd=get_database: default
+2020-11-16 23:50:52.972 INFO metastore.HiveMetaStore: 2: get_tables: db=default pat=*
+2020-11-16 23:50:52.972 INFO HiveMetaStore.audit: ugi=kentyao	ip=unknown-ip-addr	cmd=get_tables: db=default pat=*
+2020-11-16 23:50:52.986 INFO operation.ExecuteStatement: Processing kentyao's query[ff902582-ba29-433b-b70a-c25ead1353a8]: RUNNING_STATE -> FINISHED_STATE, statement: show tables, time taken: 0.03 seconds
++-----------+------------+--------------+
+| database  | tableName  | isTemporary  |
++-----------+------------+--------------+
++-----------+------------+--------------+
+No rows selected (0.04 seconds)
+```
+Using this mode for experimental purposes only.
+
+In a real production environment, we always have a communal standalone metadata store,
+to manage the metadata of persistent relational entities, e.g. databases, tables, columns, partitions, for fast access.
+usually, Hive metastore as the defacto.
+
+## Related Configurations
+
+These are the basic needs for a Hive metastore client to communicate with the remote Hive Metastore server.
+
+Use remote metastore database or server mode depends on the server-side configuration.
+
+### Remote Metastore Database
+
+Name | Value | Meaning
+--- | --- | ---
+javax.jdo.option.ConnectionURL | jdbc:mysql://&lt;hostname&gt;/&lt;databaseName&gt;?<br>createDatabaseIfNotExist=true | metadata is stored in a MySQL server
+javax.jdo.option.ConnectionDriverName | com.mysql.jdbc.Driver | MySQL JDBC driver class
+javax.jdo.option.ConnectionUserName | &lt;username&gt; | user name for connecting to MySQL server
+javax.jdo.option.ConnectionPassword | &lt;password&gt; | password for connecting to MySQL server
+
+### Remote Metastore Server
+
+Name | Value | Meaning
+--- | --- | ---
+hive.metastore.uris | thrift://&lt;host&gt;:&lt;port&gt;,thrift://&lt;host1&gt;:&lt;port1&gt; | <div style='width: 200pt;word-wrap: break-word;white-space: normal'>host and port for the Thrift metastore server.</div>
+
+## Activate Configurations
+
+### Via kyuubi-defaults.conf
+
+In `$KYUUBI_HOME/conf/kyuubi-defaults.conf`, all _**Hive primitive configurations**_, e.g. `hive.metastore.uris`,
+and the **_Spark derivatives_**, which are prefixed with `spark.hive.` or `spark.hadoop.`, e.g `spark.hive.metastore.uris` or `spark.hadoop.hive.metastore.uris`,
+will be loaded as Hive primitives by the Hive client inside the Spark application.
+
+Kyuubi will take these configurations as system wide defaults for all applications it launches.
+
+### Via hive-site.xml
+
+Place your copy of `hive-site.xml` into `$$SPARK_HOME/conf`,
+every single Spark application will automatically load this config file to its classpath.
+
+This version of configuration has lower priority than those in `$KYUUBI_HOME/conf/kyuubi-defaults.conf`.
+
+### Via JDBC Connection URL
+
+We can pass _**Hive primitives**_ or **_Spark derivatives_** directly in the JDBC connection URL, e.g.
+
+```
+jdbc:hive2://localhost:10009/;#hive.metastore.uris=thrift://localhost:9083
+```
+
+This will override the defaults in `$$SPARK_HOME/conf/hive-site.xml` and `$KYUUBI_HOME/conf/kyuubi-defaults.conf` for each _**user account**_
+
+With this feature, end users are possible to visit different Hive metastore server instance.
+Similarly, this works for other services like HDFS, YARN too.
+
+**Limitation:** As most Hive configurations are final and unmodifiable in Spark at runtime,
+this only takes effect during instantiating the Spark applications and will be ignored when reusing an existing application.
+So, keep this in our mind.
+
+**!!!THIS WORKS ONLY ONCE!!!**
+
+**!!!THIS WORKS ONLY ONCE!!!**
+
+**!!!THIS WORKS ONLY ONCE!!!**
+
+### Via SET syntax
+
+Most Hive configurations are final and unmodifiable in Spark at runtime, so keep this in our mind.
+
+**!!!THIS WON'T WORK!!!**
+
+**!!!THIS WON'T WORK!!!**
+
+**!!!THIS WON'T WORK!!!**
+
+## Version Compatibility
+
+If backward compatibility is guaranteed by Hive versioning,
+we can always use a lower version Hive metastore client to communicate with the higher version Hive metastore server.
+
+For example, Spark 3.0 was released with a builtin Hive client (2.3.7), so, ideally, the version of server should &gt;= 2.3.x.
+
+If you do have a legacy Hive metastore server that cannot be easily upgraded, and you may face the issue by default like this,
+
+```java
+Caused by: org.apache.thrift.TApplicationException: Invalid method name: 'get_table_req'
+	at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:79)
+	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_table_req(ThriftHiveMetastore.java:1567)
+	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_table_req(ThriftHiveMetastore.java:1554)
+	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:1350)
+	at org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.getTable(SessionHiveMetaStoreClient.java:127)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:173)
+	at com.sun.proxy.$Proxy37.getTable(Unknown Source)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient$SynchronizedHandler.invoke(HiveMetaStoreClient.java:2336)
+	at com.sun.proxy.$Proxy37.getTable(Unknown Source)
+	at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:1274)
+	... 93 more
+```
+
+To prevent this problem, we can use Spark's [Interacting with Different Versions of Hive Metastore](http://spark.apache.org/docs/latest/sql-data-sources-hive-tables.html#interacting-with-different-versions-of-hive-metastore)
+
+## Further Readings
+
+- Hive Wiki
+  - [Hive Metastore Administration](https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration)
+- Spark Online Documentation
+  - [Custom Hadoop/Hive Configuration](http://spark.apache.org/docs/latest/configuration.html#custom-hadoophive-configuration)
+  - [Hive Tables](http://spark.apache.org/docs/latest/sql-data-sources-hive-tables.html)
diff --git a/content/docs/latest/_sources/deployment/index.rst.txt b/content/docs/latest/_sources/deployment/index.rst.txt
new file mode 100644
index 0000000..12ebc16
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/index.rst.txt
@@ -0,0 +1,49 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../imgs/kyuubi_logo.png
+   :align: center
+
+Deploying Kyuubi
+================
+
+In this section, you will learn how to deploy Kyuubi against different platforms.
+
+Basics
+------
+
+.. toctree::
+    :maxdepth: 2
+    :numbered: 3
+    :glob:
+
+    on_yarn
+    on_kubernetes
+    hive_metastore
+    high_availability_guide
+    metrics
+    logging
+    trouble_shooting
+
+Configurations
+--------------
+
+.. toctree::
+    :maxdepth: 2
+    :numbered: 3
+    :glob:
+
+    settings
+    spark/index
\ No newline at end of file
diff --git a/content/docs/latest/_sources/deployment/on_kubernetes.md.txt b/content/docs/latest/_sources/deployment/on_kubernetes.md.txt
new file mode 100644
index 0000000..594ee63
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/on_kubernetes.md.txt
@@ -0,0 +1,126 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Deploy Kyuubi engines on Kubernetes
+
+## Requirements
+
+When you want to run Kyuubi's Spark SQL engines on Kubernetes, you'd better have cognition upon the following things.
+
+* Read about [Running Spark On Kubernetes](http://spark.apache.org/docs/latest/running-on-kubernetes.html)
+* An active Kubernetes cluster
+* [Kubectl](https://kubernetes.io/docs/reference/kubectl/overview/)
+* KubeConfig of the target cluster
+
+## Configurations
+
+### Master
+
+Spark on Kubernetes config master by using a special format.
+
+`spark.master=k8s://https://<k8s-apiserver-host>:<k8s-apiserver-port>`
+
+You can use cmd `kubectl cluster-info` to get api-server host and port.
+
+### Docker Image
+
+Spark ships a `./bin/docker-image-tool.sh` script to build and publish the Docker images for running Spark applications on Kubernetes.
+
+When deploying Kyuubi engines against a Kubernetes cluster, we need to set up the docker images in the Docker registry first.
+
+Example usage is:
+
+```shell
+./bin/docker-image-tool.sh -r <repo> -t my-tag build
+./bin/docker-image-tool.sh -r <repo> -t my-tag push
+# To build docker image with specify openJdk 
+./bin/docker-image-tool.sh -r <repo> -t my-tag -b java_image_tag=<openjdk:${java_image_tag}> build
+# To build additional PySpark docker image
+./bin/docker-image-tool.sh -r <repo> -t my-tag -p ./kubernetes/dockerfiles/spark/bindings/python/Dockerfile build
+# To build additional SparkR docker image
+./bin/docker-image-tool.sh -r <repo> -t my-tag -R ./kubernetes/dockerfiles/spark/bindings/R/Dockerfile build
+```
+
+### Test Cluster
+
+You can use the shell code to test your cluster whether it is normal or not.
+
+```shell
+$SPARK_HOME/bin/spark-submit \
+ --master k8s://https://<k8s-apiserver-host>:<k8s-apiserver-port> \
+ --class org.apache.spark.examples.SparkPi \
+ --conf spark.executor.instances=5 \
+ --conf spark.dynamicAllocation.enabled=false \
+ --conf spark.shuffle.service.enabled=false \
+ --conf spark.kubernetes.container.image=<spark-image> \
+ local://<path_to_examples.jar>
+```
+
+When running shell, you can use cmd `kubectl describe pod <podName>` to check if the information meets expectations.
+
+### ServiceAccount
+
+When use Client mode to submit application, spark driver use the kubeconfig to access api-service to create and watch executor pods.
+
+When use Cluster mode to submit application, spark driver pod use serviceAccount to access api-service to create and watch executor pods.
+
+In both cases, you need to figure out whether you have the permissions under the corresponding namespace. You can use following cmd to create serviceAccount (You need to have the kubeconfig which have the create serviceAccount permission).
+
+```shell
+# create serviceAccount
+kubectl create serviceaccount spark -n <namespace>
+# binding role
+kubectl create clusterrolebinding spark-role --clusterrole=edit --serviceaccount=<namespace>:spark --namespace=<namespace>
+```
+
+### Volumes
+
+As it known to us all, Kubernetes can use configurations to mount volumes into driver and executor pods.
+
+* hostPath: mounts a file or directory from the host node’s filesystem into a pod.
+* emptyDir: an initially empty volume created when a pod is assigned to a node.
+* nfs: mounts an existing NFS(Network File System) into a pod.
+* persistentVolumeClaim: mounts a PersistentVolume into a pod.
+
+Note: Please
+see [the Security section of this document](http://spark.apache.org/docs/latest/running-on-kubernetes.html#security) for security issues related to volume mounts.
+
+```
+spark.kubernetes.driver.volumes.<type>.<name>.options.path=<dist_path>
+spark.kubernetes.driver.volumes.<type>.<name>.mount.path=<container_path>
+
+spark.kubernetes.executor.volumes.<type>.<name>.options.path=<dist_path>
+spark.kubernetes.executor.volumes.<type>.<name>.mount.path=<container_path>
+```
+
+Read [Using Kubernetes Volumes](http://spark.apache.org/docs/latest/running-on-kubernetes.html#using-kubernetes-volumes) for more about volumes.
+
+### PodTemplateFile
+
+Kubernetes allows defining pods from template files. Spark users can similarly use template files to define the driver or executor pod configurations that Spark configurations do not support.
+
+To do so, specify the spark properties `spark.kubernetes.driver.podTemplateFile` and `spark.kubernetes.executor.podTemplateFile` to point to local files accessible to the spark-submit process.
+
+### Other
+
+You can read Spark's official documentation for [Running on Kubernetes](http://spark.apache.org/docs/latest/running-on-kubernetes.html) for more information.
\ No newline at end of file
diff --git a/content/docs/latest/_sources/deployment/on_yarn.md.txt b/content/docs/latest/_sources/deployment/on_yarn.md.txt
new file mode 100644
index 0000000..89abff3
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/on_yarn.md.txt
@@ -0,0 +1,121 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Deploy Kyuubi engines on Yarn
+
+## Requirements
+
+When you want to deploy Kyuubi's Spark SQL engines on YARN, you'd better have cognition upon the following things.
+
+- Knowing the basics about [Running Spark on YARN](http://spark.apache.org/docs/latest/running-on-yarn.html)
+- A binary distribution of Spark which is built with YARN support
+  - You can use the built-in Spark distribution
+  - You can get it from [Spark official website](https://spark.apache.org/downloads.html) directly
+  - You can [Build Spark](http://spark.apache.org/docs/latest/building-spark.html#specifying-the-hadoop-version-and-enabling-yarn) with `-Pyarn` maven option
+- An active [Apache Hadoop YARN](https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html) cluster
+- An active Apache Hadoop HDFS cluster
+- Setup Hadoop client configurations at the machine the Kyuubi server locates
+
+
+## Configurations
+
+### Environment
+
+Either `HADOOP_CONF_DIR` or `YARN_CONF_DIR` is configured and points to the Hadoop client configurations directory, usually,`$HADOOP_HOME/etc/hadoop` 
+
+If the `HADOOP_CONF_DIR` points the YARN and HDFS cluster correctly, you should be able to run the `SparkPi` example on YARN.
+```bash
+$ HADOOP_CONF_DIR=/path/to/hadoop/conf $SPARK_HOME/bin/spark-submit \
+    --class org.apache.spark.examples.SparkPi \
+    --master yarn \
+    --queue thequeue \
+    $SPARK_HOME/examples/jars/spark-examples*.jar \
+    10
+```
+
+If the `SparkPi` passes, configure it in `$KYUUBI_HOME/conf/kyuubi-env.sh` or `$SPARK_HOME/conf/spark-env.sh`, e.g.
+
+```bash
+$ echo "export HADOOP_CONF_DIR=/path/to/hadoop/conf" >> $KYUUBI_HOME/conf/kyuubi-env.sh
+```
+
+### Spark Properties
+
+These properties are defined by Spark and Kyuubi will pass them to `spark-submit` to create Spark applications.
+
+**Note:** None of these would take effect if the application for a particular user already exists.
+
+- Specify it in the JDBC connection URL, e.g. `jdbc:hive2://localhost:10009/;#spark.master=yarn;spark.yarn.queue=thequeue`
+- Specify it in `$KYUUBI_HOME/conf/kyuubi-defaults.conf`
+- Specify it in `$SPARK_HOME/conf/spark-defaults.conf`
+
+**Note:** The priority goes down from top to bottom.
+
+#### Master
+
+Setting `spark.master=yarn` tells Kyuubi to submit Spark SQL engine applications to the YARN cluster manager.
+
+#### Queue
+
+Set `spark.yarn.queue=thequeue` in the JDBC connection string to tell Kyuubi to use the QUEUE in the YARN cluster, otherwise,
+the QUEUE configured at Kyuubi server side will be used as default.
+
+#### Sizing
+
+Pass the configurations below through the JDBC connection string to set how many instances of Spark executor will be used
+and how many cpus and memory will Spark driver, ApplicationMaster and each executor take.
+
+Name | Default | Meaning
+--- | --- | ---
+spark.executor.instances | 1 | The number of executors for static allocation
+spark.executor.cores | 1 | The number of cores to use on each executor
+spark.yarn.am.memory | 512m | Amount of memory to use for the YARN Application Master in client mode
+spark.yarn.am.memoryOverhead | amMemory * 0.10, with minimum of 384 | Amount of non-heap memory to be allocated per am process in client mode
+spark.driver.memory | 1g | Amount of memory to use for the driver process
+spark.driver.memoryOverhead | driverMemory * 0.10, with minimum of 384 | Amount of non-heap memory to be allocated per driver process in cluster mode
+spark.executor.memory | 1g | Amount of memory to use for the executor process
+spark.executor.memoryOverhead | executorMemory * 0.10, with minimum of 384 | Amount of additional memory to be allocated per executor process. This is memory that accounts for things like VM overheads, interned strings other native overheads, etc
+
+It is recommended to use [Dynamic Allocation](http://spark.apache.org/docs/3.0.1/configuration.html#dynamic-allocation) with Kyuubi,
+since the SQL engine will be long-running for a period, execute user's queries from clients aperiodically,
+and the demand for computing resources is not the same for those queries.
+It is better for Spark to release some executors when either the query is lightweight, or the SQL engine is being idled. 
+
+
+#### Tuning
+
+You can specify `spark.yarn.archive` or `spark.yarn.jars` to point to a world-readable location that contains Spark jars on HDFS,
+which allows YARN to cache it on nodes so that it doesn't need to be distributed each time an application runs. 
+
+#### Others
+
+Please refer to [Spark properties](http://spark.apache.org/docs/latest/running-on-yarn.html#spark-properties) to check other acceptable configs.
+
+
+## Kerberos
+
+Kyuubi currently does not support Spark's [YARN-specific Kerberos Configuration](http://spark.apache.org/docs/3.0.1/running-on-yarn.html#kerberos),
+so `spark.kerberos.keytab` and `spark.kerberos.principal` should not use now.
+
+Instead, you can schedule a periodically `kinit` process via `crontab` task on the local machine that hosts Kyuubi server or simply use [Kyuubi Kinit](settings.html#kinit)
+ 
\ No newline at end of file
diff --git a/content/docs/latest/_sources/deployment/settings.md.txt b/content/docs/latest/_sources/deployment/settings.md.txt
new file mode 100644
index 0000000..1ce18f6
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/settings.md.txt
@@ -0,0 +1,360 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<!-- DO NOT MODIFY THIS FILE DIRECTLY, IT IS AUTO GENERATED BY [org.apache.kyuubi.config.AllKyuubiConfiguration] -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Introduction to the Kyuubi Configurations System
+
+Kyuubi provides several ways to configure the system and corresponding engines.
+
+
+## Environments
+
+
+You can configure the environment variables in `$KYUUBI_HOME/conf/kyuubi-env.sh`, e.g, `JAVA_HOME`, then this java runtime will be used both for Kyuubi server instance and the applications it launches. You can also change the variable in the subprocess's env configuration file, e.g.`$SPARK_HOME/conf/spark-env.sh` to use more specific ENV for SQL engine applications.
+```bash
+#!/usr/bin/env bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+# - JAVA_HOME               Java runtime to use. By default use "java" from PATH.
+#
+#
+# - KYUUBI_CONF_DIR         Directory containing the Kyuubi configurations to use.
+#                           (Default: $KYUUBI_HOME/conf)
+# - KYUUBI_LOG_DIR          Directory for Kyuubi server-side logs.
+#                           (Default: $KYUUBI_HOME/logs)
+# - KYUUBI_PID_DIR          Directory stores the Kyuubi instance pid file.
+#                           (Default: $KYUUBI_HOME/pid)
+# - KYUUBI_MAX_LOG_FILES    Maximum number of Kyuubi server logs can rotate to.
+#                           (Default: 5)
+# - KYUUBI_JAVA_OPTS        JVM options for the Kyuubi server itself in the form "-Dx=y".
+#                           (Default: none).
+# - KYUUBI_NICENESS         The scheduling priority for Kyuubi server.
+#                           (Default: 0)
+# - KYUUBI_WORK_DIR_ROOT    Root directory for launching sql engine applications.
+#                           (Default: $KYUUBI_HOME/work)
+# - HADOOP_CONF_DIR         Directory containing the Hadoop / YARN configuration to use.
+#
+# - SPARK_HOME              Spark distribution which you would like to use in Kyuubi.
+# - SPARK_CONF_DIR          Optional directory where the Spark configuration lives.
+#                           (Default: $SPARK_HOME/conf)
+#
+
+
+## Examples ##
+
+# export JAVA_HOME=/usr/jdk64/jdk1.8.0_152
+# export HADOOP_CONF_DIR=/usr/ndp/current/mapreduce_client/conf
+# export KYUUBI_JAVA_OPTS="-Xmx10g -XX:+UnlockDiagnosticVMOptions -XX:ParGCCardsPerStrideChunk=4096 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:+UseCondCardMark -XX:MaxDirectMemorySize=1024m  -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribut [...]
+```
+
+For the environment variables that only needed to be transferred into engine side, you can set it with a Kyuubi configuration item formatted `kyuubi.engineEnv.VAR_NAME`. For example, with `kyuubi.engineEnv.SPARK_DRIVER_MEMORY=4g`, the environment variable `SPARK_DRIVER_MEMORY` with value `4g` would be transferred into engine side. With `kyuubi.engineEnv.SPARK_CONF_DIR=/apache/confs/spark/conf`, the value of `SPARK_CONF_DIR` in engine side is set to `/apache/confs/spark/conf`.
+
+## Kyuubi Configurations
+
+You can configure the Kyuubi properties in `$KYUUBI_HOME/conf/kyuubi-defaults.conf`. For example:
+```bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+## Kyuubi Configurations
+
+#
+# kyuubi.authentication           NONE
+# kyuubi.frontend.bind.host       localhost
+# kyuubi.frontend.bind.port       10009
+#
+
+# Details in https://kyuubi.readthedocs.io/en/latest/deployment/settings.html
+```
+
+### Authentication
+
+Key | Default | Meaning | Type | Since
+--- | --- | --- | --- | ---
+kyuubi\.authentication|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>NONE</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Client authentication types.<ul> <li>NOSASL: raw transport.</li> <li>NONE: no authentication check.</li> <li>KERBEROS: Kerberos/GSSAPI authentication.</li> <li>CUSTOM: User-defined authentication.</li> <li>LDAP: Lightweight Directory Access Protocol authentication.</li></ul></div>|<div style='width: 30pt'>string</div>|<di [...]
+kyuubi\.authentication<br>\.custom\.class|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>User-defined authentication implementation of org.apache.kyuubi.service.authentication.PasswdAuthenticationProvider</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.3.0</div>
+kyuubi\.authentication<br>\.ldap\.base\.dn|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>LDAP base DN.</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.authentication<br>\.ldap\.domain|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>LDAP domain.</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.authentication<br>\.ldap\.guidKey|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>uid</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>LDAP attribute name whose values are unique in this LDAP server.For example:uid or cn.</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.authentication<br>\.ldap\.url|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>SPACE character separated LDAP connection URL(s).</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.authentication<br>\.sasl\.qop|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>auth</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Sasl QOP enable higher levels of protection for Kyuubi communication with clients.<ul> <li>auth - authentication only (default)</li> <li>auth-int - authentication plus integrity protection</li> <li>auth-conf - authentication plus integrity and confidentiality protection. This is applicable only if Kyuubi is [...]
+
+
+### Backend
+
+Key | Default | Meaning | Type | Since
+--- | --- | --- | --- | ---
+kyuubi\.backend\.engine<br>\.exec\.pool\.keepalive<br>\.time|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Time(ms) that an idle async thread of the operation execution thread pool will wait for a new task to arrive before terminating in SQL engine applications</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.backend\.engine<br>\.exec\.pool\.shutdown<br>\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT10S</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Timeout(ms) for the operation execution thread pool to terminate in SQL engine applications</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.backend\.engine<br>\.exec\.pool\.size|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>100</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Number of threads in the operation execution thread pool of SQL engine applications</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.backend\.engine<br>\.exec\.pool\.wait\.queue<br>\.size|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>100</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Size of the wait queue for the operation execution thread pool in SQL engine applications</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.backend\.server<br>\.exec\.pool\.keepalive<br>\.time|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Time(ms) that an idle async thread of the operation execution thread pool will wait for a new task to arrive before terminating in Kyuubi server</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.backend\.server<br>\.exec\.pool\.shutdown<br>\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT10S</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Timeout(ms) for the operation execution thread pool to terminate in Kyuubi server</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.backend\.server<br>\.exec\.pool\.size|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>100</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Number of threads in the operation execution thread pool of Kyuubi server</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.backend\.server<br>\.exec\.pool\.wait\.queue<br>\.size|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>100</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Size of the wait queue for the operation execution thread pool of Kyuubi server</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+
+
+### Delegation
+
+Key | Default | Meaning | Type | Since
+--- | --- | --- | --- | ---
+kyuubi\.delegation\.key<br>\.update\.interval|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT24H</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>unused yet</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.delegation<br>\.token\.gc\.interval|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT1H</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>unused yet</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.delegation<br>\.token\.max\.lifetime|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT168H</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>unused yet</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.delegation<br>\.token\.renew\.interval|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT168H</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>unused yet</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+
+
+### Engine
+
+Key | Default | Meaning | Type | Since
+--- | --- | --- | --- | ---
+kyuubi\.engine<br>\.connection\.url\.use<br>\.hostname|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>When true, engine register with hostname to zookeeper. When spark run on k8s with cluster mode, set to false to ensure that server can connect to engine</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 20pt'>1.3.0</div>
+kyuubi\.engine<br>\.deregister\.exception<br>\.classes|<div style='width: 65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>A comma separated list of exception classes. If there is any exception thrown, whose class matches the specified classes, the engine would deregister itself.</div>|<div style='width: 30pt'>seq</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.engine<br>\.deregister\.exception<br>\.messages|<div style='width: 65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>A comma separated list of exception messages. If there is any exception thrown, whose message or stacktrace matches the specified message list, the engine would deregister itself.</div>|<div style='width: 30pt'>seq</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.engine<br>\.deregister\.exception<br>\.ttl|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT30M</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Time to live(TTL) for exceptions pattern specified in kyuubi.engine.deregister.exception.classes and kyuubi.engine.deregister.exception.messages to deregister engines. Once the total error count hits the kyuubi.engine.deregister.job.max.failures within the TTL, an engine will deregister itself [...]
+kyuubi\.engine<br>\.deregister\.job\.max<br>\.failures|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>4</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Number of failures of job before deregistering the engine.</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.engine\.event<br>\.json\.log\.path|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>file:/tmp/kyuubi/events</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The location of all the engine events go for the builtin JSON logger.<ul><li>Local Path: start with 'file:'</li><li>HDFS Path: start with 'hdfs:'</li></ul></div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.3.0</div>
+kyuubi\.engine\.event<br>\.loggers|<div style='width: 65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>A comma separated list of engine history loggers, where engine/session/operation etc events go.<ul> <li>SPARK: the events will be written to the spark history events</li> <li>JSON: the events will be written to the location of kyuubi.engine.event.json.log.path</li> <li>JDBC: to be done</li> <li>CUSTOM: to be done. [...]
+kyuubi\.engine<br>\.initialize\.sql|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>SHOW DATABASES</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>SemiColon-separated list of SQL statements to be initialized in the newly created engine before queries. This configuration can not be used in JDBC url due to the limitation of Beeline/JDBC driver.</div>|<div style='width: 30pt'>seq</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.engine\.session<br>\.initialize\.sql|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>SHOW DATABASES</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>SemiColon-separated list of SQL statements to be initialized in the newly created engine session before queries. This configuration can not be used in JDBC url due to the limitation of Beeline/JDBC driver.</div>|<div style='width: 30pt'>seq</div>|<div style='width: 20pt'>1.3.0</div>
+kyuubi\.engine\.share<br>\.level|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>USER</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Engines will be shared in different levels, available configs are: <ul> <li>CONNECTION: engine will not be shared but only used by the current client connection</li> <li>USER: engine will be shared by all sessions created by a unique username, see also kyuubi.engine.share.level.sub.domain</li> <li>SERVER: the Ap [...]
+kyuubi\.engine\.share<br>\.level\.sub\.domain|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Allow end-users to create a sub-domain for the share level of an engine. A sub-domain is a case-insensitive string values in `^[a-zA-Z_]{1,10}$` form. For example, for `USER` share level, an end-user can share a certain engine within a sub-domain, not for all of its clients. End-users a [...]
+kyuubi\.engine\.single<br>\.spark\.session|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>false</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>When set to true, this engine is running in a single session mode. All the JDBC/ODBC connections share the temporary views, function registries, SQL configuration and the current database.</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 20pt'>1.3.0</div>
+kyuubi\.engine\.ui\.stop<br>\.enabled|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>When true, allows Kyuubi engine to be killed from the Spark Web UI.</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 20pt'>1.3.0</div>
+
+
+### Frontend
+
+Key | Default | Meaning | Type | Since
+--- | --- | --- | --- | ---
+kyuubi\.frontend<br>\.backoff\.slot\.length|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT0.1S</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Time to back off during login to the frontend service.</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.frontend\.bind<br>\.host|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Hostname or IP of the machine on which to run the frontend service.</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.frontend\.bind<br>\.port|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>10009</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Port of the machine on which to run the frontend service.</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.frontend\.login<br>\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT20S</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Timeout for Thrift clients during login to the frontend service.</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.frontend\.max<br>\.message\.size|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>104857600</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Maximum message size in bytes a Kyuubi server will accept.</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.frontend\.max<br>\.worker\.threads|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>999</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Maximum number of threads in the of frontend worker thread pool for the frontend service</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.frontend\.min<br>\.worker\.threads|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>9</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Minimum number of threads in the of frontend worker thread pool for the frontend service</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.frontend<br>\.worker\.keepalive\.time|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Keep-alive time (in milliseconds) for an idle worker thread</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+
+
+### Ha
+
+Key | Default | Meaning | Type | Since
+--- | --- | --- | --- | ---
+kyuubi\.ha\.zookeeper<br>\.acl\.enabled|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>false</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Set to true if the zookeeper ensemble is kerberized</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.connection\.base\.retry<br>\.wait|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>1000</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Initial amount of time to wait between retries to the zookeeper ensemble</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.connection\.max<br>\.retries|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>3</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Max retry times for connecting to the zookeeper ensemble</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.connection\.max\.retry<br>\.wait|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>30000</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Max amount of time to wait between retries for BOUNDED_EXPONENTIAL_BACKOFF policy can reach, or max time until elapsed for UNTIL_ELAPSED policy to connect the zookeeper ensemble</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.connection\.retry<br>\.policy|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>EXPONENTIAL_BACKOFF</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The retry policy for connecting to the zookeeper ensemble, all candidates are: <ul><li>ONE_TIME</li><li> N_TIME</li><li> EXPONENTIAL_BACKOFF</li><li> BOUNDED_EXPONENTIAL_BACKOFF</li><li> UNTIL_ELAPSED</li></ul></div>|<div style='width: 30pt'>string</div>|<div style='width:  [...]
+kyuubi\.ha\.zookeeper<br>\.connection\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>15000</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The timeout(ms) of creating the connection to the zookeeper ensemble</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.namespace|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>kyuubi</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The root directory for the service to deploy its instance uri. Additionally, it will creates a -[username] suffixed root directory for each application</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.node\.creation\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT2M</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Timeout for creating zookeeper node</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.ha\.zookeeper<br>\.quorum|<div style='width: 65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The connection string for the zookeeper ensemble</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.ha\.zookeeper<br>\.session\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>60000</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The timeout(ms) of a connected session to be idled</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+
+
+### Kinit
+
+Key | Default | Meaning | Type | Since
+--- | --- | --- | --- | ---
+kyuubi\.kinit\.interval|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT1H</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>How often will Kyuubi server run `kinit -kt [keytab] [principal]` to renew the local Kerberos credentials cache</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.kinit\.keytab|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Location of Kyuubi server's keytab.</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.kinit\.max<br>\.attempts|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>10</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>How many times will `kinit` process retry</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.kinit<br>\.principal|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Name of the Kerberos principal.</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+
+
+### Metrics
+
+Key | Default | Meaning | Type | Since
+--- | --- | --- | --- | ---
+kyuubi\.metrics<br>\.console\.interval|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>How often should report metrics to console</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.metrics<br>\.enabled|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Set to true to enable kyuubi metrics system</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.metrics\.json<br>\.interval|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>How often should report metrics to json file</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.metrics\.json<br>\.location|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>metrics</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Where the json metrics file located</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.metrics<br>\.prometheus\.path|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>/metrics</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>URI context path of prometheus metrics HTTP server</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.metrics<br>\.prometheus\.port|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>10019</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Prometheus metrics HTTP server port</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.metrics<br>\.reporters|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>JSON</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>A comma separated list for all metrics reporters<ul> <li>CONSOLE - ConsoleReporter which outputs measurements to CONSOLE periodically.</li> <li>JMX - JmxReporter which listens for new metrics and exposes them as MBeans.</li>  <li>JSON - JsonReporter which outputs measurements to json file periodically.</li> <li>PR [...]
+kyuubi\.metrics\.slf4j<br>\.interval|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>How often should report metrics to SLF4J logger</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.2.0</div>
+
+
+### Operation
+
+Key | Default | Meaning | Type | Since
+--- | --- | --- | --- | ---
+kyuubi\.operation\.idle<br>\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT3H</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Operation will be closed when it's not accessed for this duration of time</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.operation<br>\.interrupt\.on\.cancel|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>When true, all running tasks will be interrupted if one cancels a query. When false, all running tasks will remain until finished.</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.operation<br>\.query\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Timeout for query executions at server-side, take affect with client-side timeout(`java.sql.Statement.setQueryTimeout`) together, a running query will be cancelled automatically if timeout. It's off by default, which means only client-side take fully control whether the query should timeout or  [...]
+kyuubi\.operation<br>\.scheduler\.pool|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The scheduler pool of job. Note that, this config should be used after change Spark config spark.scheduler.mode=FAIR.</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.1.1</div>
+kyuubi\.operation<br>\.status\.polling<br>\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Timeout(ms) for long polling asynchronous running sql query's status</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+
+
+### Session
+
+Key | Default | Meaning | Type | Since
+--- | --- | --- | --- | ---
+kyuubi\.session\.check<br>\.interval|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT5M</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The check interval for session timeout.</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.session\.conf<br>\.ignore\.list|<div style='width: 65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>A comma separated list of ignored keys. If the client connection contains any of them, the key and the corresponding value will be removed silently during engine bootstrap and connection setup. Note that this rule is for server-side protection defined via administrators to prevent some essential configs from  [...]
+kyuubi\.session\.conf<br>\.restrict\.list|<div style='width: 65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>A comma separated list of restricted keys. If the client connection contains any of them, the connection will be rejected explicitly during engine bootstrap and connection setup. Note that this rule is for server-side protection defined via administrators to prevent some essential configs from tampering but [...]
+kyuubi\.session\.engine<br>\.check\.interval|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT5M</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The check interval for engine timeout</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.session\.engine<br>\.idle\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT30M</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>engine timeout, the engine will self-terminate when it's not accessed for this duration</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.session\.engine<br>\.initialize\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Timeout for starting the background engine, e.g. SparkSQLEngine.</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.session\.engine<br>\.log\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT24H</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>If we use Spark as the engine then the session submit log is the console output of spark-submit. We will retain the session submit log until over the config value.</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.1.0</div>
+kyuubi\.session\.engine<br>\.login\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT15S</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The timeout(ms) of creating the connection to remote sql query engine</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.session\.engine<br>\.share\.level|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>USER</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>(deprecated) - Using kyuubi.engine.share.level instead</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.session\.engine<br>\.spark\.main\.resource|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The package used to create Spark SQL engine remote application. If it is undefined, Kyuubi will use the default</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.session\.engine<br>\.startup\.error\.max<br>\.size|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>8192</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>During engine bootstrapping, if error occurs, using this config to limit the length error message(characters).</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.1.0</div>
+kyuubi\.session\.idle<br>\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT6H</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>session idle timeout, it will be closed when it's not accessed for this duration</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.session<br>\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT6H</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>(deprecated)session timeout, it will be closed when it's not accessed for this duration</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+
+
+### Zookeeper
+
+Key | Default | Meaning | Type | Since
+--- | --- | --- | --- | ---
+kyuubi\.zookeeper<br>\.embedded\.client\.port|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>2181</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>clientPort for the embedded zookeeper server to listen for client connections, a client here could be Kyuubi server, engine and JDBC client</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.zookeeper<br>\.embedded\.client\.port<br>\.address|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>clientPortAddress for the embedded zookeeper server to</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.zookeeper<br>\.embedded\.data\.dir|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>embedded_zookeeper</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>dataDir for the embedded zookeeper server where stores the in-memory database snapshots and, unless specified otherwise, the transaction log of updates to the database.</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.zookeeper<br>\.embedded\.data\.log\.dir|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>embedded_zookeeper</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>dataLogDir for the embedded zookeeper server where writes the transaction log .</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.zookeeper<br>\.embedded\.directory|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>embedded_zookeeper</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The temporary directory for the embedded zookeeper server</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.zookeeper<br>\.embedded\.max\.client<br>\.connections|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>120</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>maxClientCnxns for the embedded zookeeper server to limits the number of concurrent connections of a single client identified by IP address</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.zookeeper<br>\.embedded\.max\.session<br>\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>60000</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>maxSessionTimeout in milliseconds for the embedded zookeeper server will allow the client to negotiate. Defaults to 20 times the tickTime</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.zookeeper<br>\.embedded\.min\.session<br>\.timeout|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>6000</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>minSessionTimeout in milliseconds for the embedded zookeeper server will allow the client to negotiate. Defaults to 2 times the tickTime</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.zookeeper<br>\.embedded\.port|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>2181</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>The port of the embedded zookeeper server</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.zookeeper<br>\.embedded\.tick\.time|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>3000</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>tickTime in milliseconds for the embedded zookeeper server</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+
+## Spark Configurations
+
+### Via spark-defaults.conf
+
+Setting them in `$SPARK_HOME/conf/spark-defaults.conf` supplies with default values for SQL engine application. Available properties can be found at Spark official online documentation for [Spark Configurations](http://spark.apache.org/docs/latest/configuration.html)
+
+### Via kyuubi-defaults.conf
+
+Setting them in `$KYUUBI_HOME/conf/kyuubi-defaults.conf` supplies with default values for SQL engine application too. These properties will override all settings in `$SPARK_HOME/conf/spark-defaults.conf`
+
+### Via JDBC Connection URL
+
+Setting them in the JDBC Connection URL supplies session-specific for each SQL engine. For example: ```jdbc:hive2://localhost:10009/default;#spark.sql.shuffle.partitions=2;spark.executor.memory=5g```
+
+- **Runtime SQL Configuration**
+
+  - For [Runtime SQL Configurations](http://spark.apache.org/docs/latest/configuration.html#runtime-sql-configuration), they will take affect every time
+
+- **Static SQL and Spark Core Configuration**
+
+  - For [Static SQL Configurations](http://spark.apache.org/docs/latest/configuration.html#static-sql-configuration) and other spark core configs, e.g. `spark.executor.memory`, they will take affect if there is no existing SQL engine application. Otherwise, they will just be ignored
+
+### Via SET Syntax
+
+Please refer to the Spark official online documentation for [SET Command](http://spark.apache.org/docs/latest/sql-ref-syntax-aux-conf-mgmt-set.html)
+
+## Logging
+
+Kyuubi uses [log4j](https://logging.apache.org/log4j/2.x/) for logging. You can configure it using `$KYUUBI_HOME/conf/log4j.properties`.
+```bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Set everything to be logged to the console
+log4j.rootCategory=INFO, console
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.target=System.err
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %p %c{2}: %m%n
+
+# Set the default kyuubi-ctl log level to WARN. When running the kyuubi-ctl, the
+# log level for this class is used to overwrite the root logger's log level.
+log4j.logger.org.apache.kyuubi.ctl.ServiceControlCli=ERROR
+```
+
+## Other Configurations
+
+### Hadoop Configurations
+
+Specifying `HADOOP_CONF_DIR` to the directory contains hadoop configuration files or treating them as Spark properties with a `spark.hadoop.` prefix. Please refer to the Spark official online documentation for [Inheriting Hadoop Cluster Configuration](http://spark.apache.org/docs/latest/configuration.html#inheriting-hadoop-cluster-configuration). Also, please refer to the [Apache Hadoop](http://hadoop.apache.org)'s online documentation for an overview on how to configure Hadoop.
+
+### Hive Configurations
+
+These configurations are used for SQL engine application to talk to Hive MetaStore and could be configured in a `hive-site.xml`. Placed it in `$SPARK_HOME/conf` directory, or treating them as Spark properties with a `spark.hadoop.` prefix.
+
+## User Defaults
+
+In Kyuubi, we can configure user default settings to meet separate needs. These user defaults override system defaults, but will be overridden by those from [JDBC Connection URL](#via-jdbc-connection-url) or [Set Command](#via-set-syntax) if could be. They will take effect when creating the SQL engine application ONLY.
+User default settings are in the form of `___{username}___.{config key}`. There are three continuous underscores(`_`) at both sides of the `username` and a dot(`.`) that separates the config key and the prefix. For example:
+```bash
+# For system defaults
+spark.master=local
+spark.sql.adaptive.enabled=true
+# For a user named kent
+___kent___.spark.master=yarn
+___kent___.spark.sql.adaptive.enabled=false
+# For a user named bob
+___bob___.spark.master=spark://master:7077
+___bob___.spark.executor.memory=8g
+```
+
+In the above case, if there are related configurations from [JDBC Connection URL](#via-jdbc-connection-url), `kent` will run his SQL engine application on YARN and prefer the Spark AQE to be off, while `bob` will activate his SQL engine application on a Spark standalone cluster with 8g heap memory for each executor and obey the Spark AQE behavior of Kyuubi system default. On the other hand, for those users who do not have custom configurations will use system defaults.
diff --git a/content/docs/latest/_sources/deployment/spark/aqe.md.txt b/content/docs/latest/_sources/deployment/spark/aqe.md.txt
new file mode 100644
index 0000000..863afe2
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/aqe.md.txt
@@ -0,0 +1,269 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../../imgs/kyuubi_logo.png)
+
+</div>
+
+# How To Use Spark Adaptive Query Execution (AQE) in Kyuubi
+
+## The Basics of AQE
+
+Spark Adaptive Query Execution (AQE) is a query re-optimization that occurs during query execution.
+
+In terms of technical architecture, the AQE is a framework of dynamic planning and replanning of queries based on runtime statistics,
+which supports a variety of optimizations such as,
+
+- Dynamically Switch Join Strategies
+- Dynamically Coalesce Shuffle Partitions
+- Dynamically Handle Skew Joins
+
+In Kyuubi, we strongly recommended that you turn on all capabilities of AQE by default for Kyuubi engines no matter on what platform you run Kyuubi and Spark.
+
+### Dynamically Switch Join Strategies
+
+Spark supports several join strategies, among which `BroadcastHash Join` is usually the most performant when any join side fits well in memory. And for this reason, Spark plans a `BroadcastHash Join` if the estimated size of a join relation is less than the `spark.sql.autoBroadcastJoinThreshold`.
+
+```properties
+spark.sql.autoBroadcastJoinThreshold=10M
+```
+
+Without AQE, the estimated size of join relations comes from the statistics of the original table. It can go wrong in most real-world cases. For example, the join relation is a convergent but composite operation rather than a single table scan. In this case, Spark might not be able to switch the join-strategy to `BroadcastHash Join`.  While with AQE, we can runtime calculate the size of the composite operation accurately.  And then, Spark now can replan the join strategy unmistakably if  [...]
+
+<div align=center>
+
+![](../../imgs/spark/aqe_switch_join.png)
+
+</div>
+
+<p align=right>
+<em>
+<a href="https://databricks.com/blog/2020/05/29/adaptive-query-execution-speeding-up-spark-sql-at-runtime.html">[2] From Databricks Blog</a>
+</em>
+</p>
+
+What's more,  when `spark.sql.adaptive.localShuffleReader.enabled=true` and after converting `SortMerge Join` to `BroadcastHash Join`, Spark also does future optimize to reduce the network traffic by converting a regular shuffle to a localized shuffle.
+
+<div align=center>
+
+![](../../imgs/spark/localshufflereader.png)
+
+</div>
+
+As shown in the above fig, the local shuffle reader can read all necessary shuffle files from its local storage, actually without performing the shuffle across the network.
+
+The local shuffle reader optimization consists of avoiding shuffle when the `SortMerge Join` transforms to `BroadcastHash Join` after applying the AQE rules.
+
+### Dynamically Coalesce Shuffle Partitions
+
+Without this feature, Spark itself could be a small files maker sometimes, especially in a pure SQL way like Kyuubi does, for example,
+
+1. When `spark.sql.shuffle.partitions` is set too large compared to the total output size, there comes very small or empty files after a shuffle stage.
+2. When Spark performs a series of optimized `BroadcastHash Join` and `Union` together, the final output size for each partition might be reduced by the join conditions. However, the total final output file numbers get to explode.
+3. Some pipelined jobs with selective filters to produce temporary data.
+4. e.t.c
+
+Reading small files leads to very small partitions or tasks. Spark tasks will have worse I/O throughput and tend to suffer more from scheduling overhead and task setup overhead.
+
+<div align=center>
+
+![](../../imgs/spark/blog-adaptive-query-execution-2.png)
+
+</div>
+
+<p align=right>
+<em>
+<a href="https://databricks.com/blog/2020/05/29/adaptive-query-execution-speeding-up-spark-sql-at-runtime.html">[2] From Databricks Blog</a>
+</em>
+</p>
+
+Combining small partitions saves resources and improves cluster throughput. Spark provides serval ways to handle small file issues, for example, adding an extra shuffle operation on the partition columns with the `distribute by` clause or using `HINT`[5]. In most scenarios, you need to have a good grasp of your data, Spark jobs, and configurations to apply these solutions case by case. Mostly, the daily used config - `spark.sql.shuffle.partitions` is data-dependent and unchangeable with  [...]
+
+But with AQE, things become more comfortable for you as Spark will do the partition coalescing automatically.
+
+<div align=center>
+
+![](../../imgs/spark/blog-adaptive-query-execution-3.png)
+
+</div>
+<p align=right>
+<em>
+<a href="https://databricks.com/blog/2020/05/29/adaptive-query-execution-speeding-up-spark-sql-at-runtime.html">[2] From Databricks Blog</a>
+</em>
+</p>
+
+It can simplify the tuning of shuffle partition numbers when running Spark SQL queries. You do not need to set a proper shuffle partition number to fit your dataset.
+
+To enable this feature, we need to set the below two configs to true.
+
+```properties
+spark.sql.adaptive.enabled=true
+spark.sql.adaptive.coalescePartitions.enabled=true
+```
+
+#### Other Tips for Best Practises
+
+For further tuning our Spark jobs with this feature, we also need to be aware of these configs.
+
+```properties
+spark.sql.adaptive.advisoryPartitionSizeInBytes=128m
+spark.sql.adaptive.coalescePartitions.minPartitionNum=1
+spark.sql.adaptive.coalescePartitions.initialPartitionNum=200
+```
+
+##### How to set `spark.sql.adaptive.advisoryPartitionSizeInBytes`?
+
+It stands for the advisory size in bytes of the shuffle partition during adaptive query execution, which takes effect when Spark coalesces small shuffle partitions or splits skewed shuffle partition. The default value of `spark.sql.adaptive.advisoryPartitionSizeInBytes` is 64M.  Typically, if we are reading and writing data with HDFS, matching it with the block size of HDFS should be the best choice, i.e. 128MB or 256MB.
+
+Consequently, all blocks or partitions in Spark and files in HDFS are chopped up to 128MB/256MB chunks. And think about it, now all tasks for scans, sinks, and middle shuffle maps are dealing with mostly even-sized data partitions. It will make us much easier to set up executor resources or even one size to fit all.
+
+##### How to set `spark.sql.adaptive.coalescePartitions.minPartitionNum`?
+
+It stands for the suggested (not guaranteed) minimum number of shuffle partitions after coalescing. If not set, the default value is the default parallelism of the Spark application. The default parallelism is defined by `spark.default.parallelism` or else the total count of cores registered. I guess the motivation of this behavior made by the Spark community is to maximize the use of the resources and concurrency of the application.
+
+But there are always exceptions. Relating these two seemingly unrelated parameters can be somehow tricky for users. This config is optional by default which means users may not touch it in most real-world cases. But `spark.default.parallelism` has a long history and is well known then. If users set the default parallelism to an illegitimate high value unexpectedly, it could block AQE from coalescing partitions to a fair number. Another scenario that requires special attention is writing  [...]
+
+##### How to set `spark.sql.adaptive.coalescePartitions.initialPartitionNum`?
+
+It stands for the initial number of shuffle partitions before coalescing. By default it equals to `spark.sql.shuffle.partitions(200)`. Firstly, it's better to set it explicitly rather than falling back to `spark.sql.shuffle.partitions`. Spark community suggests set a large number to it as Spark will dynamically coalesce shuffle partitions, which I cannot agree more.
+
+### Dynamically Handle Skew Joins
+
+Without AQE, the data skewness is very likely to occur for map-reduce computing models in the shuffle phase. Data skewness can cause Spark jobs to have one or more tailing tasks, severely downgrading queries' performance. This feature dynamically handles skew in `SortMerge Join` by splitting (and replicating if needed) skewed tasks into roughly evenly sized tasks. For example, The optimization will split oversized partitions into subpartitions and join them to the other join side's corre [...]
+
+<div align=center>
+
+![](../../imgs/spark/blog-adaptive-query-execution-6.png)
+
+</div>
+<p align=right>
+<em>
+<a href="https://databricks.com/blog/2020/05/29/adaptive-query-execution-speeding-up-spark-sql-at-runtime.html">[2] From Databricks Blog</a>
+</em>
+</p>
+
+To enable this feature, we need to set the below two configs to true.
+
+```properties
+spark.sql.adaptive.enabled=true
+spark.sql.adaptive.skewJoin.enabled=true
+```
+
+#### Other Tips for Best Practises
+
+For further tuning our Spark jobs with this feature, we also need to be aware of these configs.
+
+```properties
+spark.sql.adaptive.skewJoin.skewedPartitionFactor=5
+spark.sql.adaptive.skewJoin.skewedPartitionThresholdInBytes=256M
+spark.sql.adaptive.advisoryPartitionSizeInBytes=64M
+```
+
+##### How to set `spark.sql.adaptive.skewJoin.skewedPartitionFactor` and `skewedPartitionThresholdInBytes`?
+
+Spark uses these two configs and the median(**not average**) partition size to detect whether a partition skew or not.
+
+```markdown
+partition size > skewedPartitionFactor * the median partition size && \
+skewedPartitionThresholdInBytes
+```
+
+As Spark splits skewed partitions targeting [spark.sql.adaptive.advisoryPartitionSizeInBytes](aqe.html#how-to-set-spark-sql-adaptive-advisorypartitionsizeinbytes), ideally `skewedPartitionThresholdInBytes` should be larger than `advisoryPartitionSizeInBytes`. In this case, anytime you increase `advisoryPartitionSizeInBytes`, you should also increase `skewedPartitionThresholdInBytes` if you tend to enable the feature.
+
+### Hidden Features
+
+#### DemoteBroadcastHashJoin
+
+Internally, Spark has an optimization rule that detects a join child with a high ratio of empty partitions and adds a no-broadcast-hash-join hint to avoid broadcasting it.
+
+```
+spark.sql.adaptive.nonEmptyPartitionRatioForBroadcastJoin=0.2
+```
+
+By default, if there are only less than 20% partitions of the dataset contain data, Spark will not broadcast the dataset.
+
+#### EliminateJoinToEmptyRelation
+
+This optimization rule detects and converts a Join to an empty LocalRelation.
+
+
+#### Disabling the Hidden Features
+
+We can exclude some of the AQE additional rules if performance regression or bug occurs. For example,
+
+```sql
+SET spark.sql.adaptive.optimizer.excludedRules=org.apache.spark.sql.execution.adaptive.DemoteBroadcastHashJoin
+```
+
+## Best Practices for Applying AQE to Kyuubi
+
+Kyuubi is a long-running service to make it easier for end-users to use Spark SQL without having much of Spark's basic knowledge. It is essential to have a basic configuration that works for most scenarios on the server-side.
+
+
+### Setting Default Configurations
+
+[Configuring by `spark-defaults.conf`](settings.html#via-spark-defaults-conf) at the engine side is the best way to set up Kyuubi with AQE. All engines will be instantiated with AQE enabled.
+
+Here is a config setting that we use in our platform when deploying Kyuubi.
+
+```properties
+spark.sql.adaptive.enabled=true
+spark.sql.adaptive.forceApply=false
+spark.sql.adaptive.logLevel=info
+spark.sql.adaptive.advisoryPartitionSizeInBytes=256m
+spark.sql.adaptive.coalescePartitions.enabled=true
+spark.sql.adaptive.coalescePartitions.minPartitionNum=1
+spark.sql.adaptive.coalescePartitions.initialPartitionNum=8192
+spark.sql.adaptive.fetchShuffleBlocksInBatch=true
+spark.sql.adaptive.localShuffleReader.enabled=true
+spark.sql.adaptive.skewJoin.enabled=true
+spark.sql.adaptive.skewJoin.skewedPartitionFactor=5
+spark.sql.adaptive.skewJoin.skewedPartitionThresholdInBytes=400m
+spark.sql.adaptive.nonEmptyPartitionRatioForBroadcastJoin=0.2
+spark.sql.adaptive.optimizer.excludedRules
+spark.sql.autoBroadcastJoinThreshold=-1
+```
+#### Tips
+Turn on AQE by default can significantly improve the user experience.
+Other sub-features are all enabled.
+`advisoryPartitionSizeInBytes` is targeting the HDFS block size
+`minPartitionNum` is set to 1 for the reason of coalescing first.
+`initialPartitionNum` has a high value.
+Since AQE requires at least one shuffle, ideally, we need to set `autoBroadcastJoinThreshold` to -1 to involving `SortMerge Join` with a shuffle for all user queries with joins. But then, the  Dynamically Switch Join Strategies feature seems can not be applied later in this case. It appears to be a typo limitation of Spark AQE so far.
+
+### Dynamically Setting
+
+All AQE related configurations are runtime changeable, which means that it can still modify some specific configs by `SET` syntaxes for each SQL query with more precise control on the client-side.
+
+
+## Spark Known issues
+
+[SPARK-33933: Broadcast timeout happened unexpectedly in AQE](https://issues.apache.org/jira/browse/SPARK-33933)
+
+For Spark versions(<3.1), we need to increase `spark.sql.broadcastTimeout(300s)` higher even the broadcast relation is tiny.
+
+For other potential problems that may be found in the AQE features of Spark, you may refer to [SPARK-33828: SQL Adaptive Query Execution QA](https://issues.apache.org/jira/browse/SPARK-33828).
+
+## References
+
+1. [Adaptive Query Execution](https://spark.apache.org/docs/latest/sql-performance-tuning.html#adaptive-query-execution)
+2. [Adaptive Query Execution: Speeding Up Spark SQL at Runtime](https://databricks.com/blog/2020/05/29/adaptive-query-execution-speeding-up-spark-sql-at-runtime.html)
+3. [SPARK-31412: New Adaptive Query Execution in Spark SQL](https://issues.apache.org/jira/browse/SPARK-31412)
+4. [SPARK-28560: Optimize shuffle reader to local shuffle reader when smj converted to bhj in adaptive execution](https://issues.apache.org/jira/browse/SPARK-28560)
+5. [Coalesce and Repartition Hint for SQL Queries](https://issues.apache.org/jira/browse/SPARK-24940)
diff --git a/content/docs/latest/_sources/deployment/spark/basics.md.txt b/content/docs/latest/_sources/deployment/spark/basics.md.txt
new file mode 100644
index 0000000..541eb11
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/basics.md.txt
@@ -0,0 +1,32 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+```properties
+## Spark Configurations, they will override those in $SPARK_HOME/conf/spark-defaults.conf
+## Dummy Ones
+# spark.master                      local
+# spark.submit.deployMode           client
+# spark.ui.enabled                  false
+# spark.ui.port                     0
+# spark.scheduler.mode              FAIR
+# spark.serializer                  org.apache.spark.serializer.KryoSerializer
+# spark.kryoserializer.buffer.max   128m
+# spark.buffer.size                 131072
+# spark.local.dir                   ./local
+# spark.network.timeout             120s
+# spark.cleaner.periodicGC.interval 10min
+```
diff --git a/content/docs/latest/_sources/deployment/spark/driver.md.txt b/content/docs/latest/_sources/deployment/spark/driver.md.txt
new file mode 100644
index 0000000..e715d87
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/driver.md.txt
@@ -0,0 +1,29 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+```properties
+## Spark Driver / AM Sizing
+# spark.driver.cores            4
+# spark.driver.memory           8g
+# spark.driver.memoryOverhead   2048
+# spark.driver.extraJavaOptions -XX:MaxDirectMemorySize=2048m
+# spark.driver.maxResultSize    3g
+# spark.driver.extraJavaOptions     -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
+# spark.yarn.am.cores           4
+# spark.yarn.am.memory	        2g
+# spark.yarn.am.memoryOverhead	1024
+```
diff --git a/content/docs/latest/_sources/deployment/spark/dynamic_allocation.md.txt b/content/docs/latest/_sources/deployment/spark/dynamic_allocation.md.txt
new file mode 100644
index 0000000..210078d
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/dynamic_allocation.md.txt
@@ -0,0 +1,242 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../../imgs/kyuubi_logo.png)
+
+</div>
+
+# How To Use Spark Dynamic Resource Allocation (DRA) in Kyuubi
+
+
+When we adopt Kyuubi in a production environment,
+we always want to use the environment's computing resources more cost-effectively and efficiently.
+Cluster managers such as  K8S and Yarn manage the cluster compute resources,
+divided into different queues or namespaces with different ACLs and quotas.
+
+In Kyuubi, we acquire computing resources from the cluster manager to submit the engines.
+The engines respond to various types of client requests,
+some of which consume many computing resources to process,
+while others may require very few resources to complete.
+If we have fixed-sized engines,
+a.k.a. with a fixed number for `spark.executor.instances`,
+it may cause a waste of resources for some lightweight workloads,
+while for some heavyweight workloads,
+it should probably not have enough concurrency capacity resulting in poor performance.
+
+When the engine has executor idled,
+we should release it back to the resource pool promptly,
+and conversely, when the engine is doing chubby tasks,
+we should be able to get and use more resources more efficiently.
+On the one hand, we need to rely on the resource manager's capabilities for efficient resource allocation,
+resource isolation, and sharing.
+On the other hand, we need to enable Spark's DRA feature for the engines' executors' elastic scaling.
+
+
+## The Basics of Dynamic Resource Allocation
+
+Spark provides a mechanism to dynamically adjust the application resources based on the workload, which means that an application may give resources back to the cluster if they are no longer used and request them again later when there is demand.
+This feature is handy if multiple applications share resources on YARN, Kubernetes, and other platforms.
+
+For Kyuubi engines,
+which are typical Spark applications,
+the dynamic allocation allows Spark to dynamically scale the cluster resources allocated to them based on the workloads.
+When dynamic allocation is enabled,
+and an engine has a backlog of pending tasks,
+it can request executors via ```ExecutorAllocationManager```.
+When the engine has executors that become idle, the executors are released,
+and the occupied resources are given back to the cluster manager.
+Then other engines or other applications run in the same queue could acquire the resources.
+
+
+## How to Enable Dynamic Resource Allocation
+
+The prerequisite for enabling this feature is for downstream stages to have proper access to shuffle data, even if the executors that generated the data are recycled.
+
+Spark provides two implementations for shuffle data tracking. If either is enabled, we can use the  DRA feature properly.
+
+### Dynamic Resource Allocation w/ External Shuffle Service
+
+Having an external shuffle service (ESS) makes sure that all the data is stored outside of executors.
+This prerequisite was needed as Spark needed to ensure that the executors' removal does not remove shuffle data.
+When deploying Kyuubi with a cluster manager that provides ESS, enable DRA for all the engines with the configurations below.
+
+```properties
+spark.dynamicAllocation.enabled=true
+spark.shuffle.service.enabled=true
+```
+
+Another thing to be sure of is that ```spark.shuffle.service.port``` should be configured to point to the port on which the ESS is running.
+
+
+### Dynamic Allocation w/o External Shuffle Service
+
+Implementations of the ESS feature are cluster manager dependent. Yarn, for instance, where the ESS needs to be deployed cluster-widely and is actually running in the Yarn's `NodeManager` component. Nevertheless, if run Kyuubi's engines on Kubernetes, the ESS is not an option yet.
+Since Spark 3.0, the DRA can run without ESS. The relative feature called ```Shuffle Tracking``` was introduced by [SPARK-27963](https://issues.apache.org/jira/browse/SPARK-27963).
+
+When deploying Kyuubi with a cluster manager that without ESS or the ESS is not attractive, enable DRA with ```Shuffle Tracking``` instead for all the engines with the configurations below.
+
+```properties
+spark.dynamicAllocation.enabled=true
+spark.dynamicAllocation.shuffleTracking.enabled=true
+```
+
+When ```Shuffle Tracking``` is enabled, ```spark.dynamicAllocation.shuffleTracking.timeout(default: infinity)``` controls the timeout for executors that are holding shuffle data. Spark will rely on the shuffles being garbage collected to be able to release executors by default. When the garbage collection is not cleaning up shuffles quickly enough, this timeout forces Spark to delete executors even when they are storing shuffle data.
+
+## Sizing for engines w/ Dynamic Resource Allocation
+
+Resources for a single executor, such as CPUs and memory, can be fixed size. So, the range [```minExecutors```, ```maxExecutors```] determines how many recourses the engine can take from the cluster manager.
+
+On the one hand, the  ```minExecutors``` tells Spark to keep how many executors at least. If it is set too close to 0(default), the engine might complain about a lack of resources if the cluster manager is quite busy and for a long time.
+However, the larger the ```minExecutors``` goes, the more resources may be wasted during the engine's idle time.
+
+On the other hand, the ```maxExecutors``` determines the upper bound executors of an engine could reach. From the individual engine perspective, this value is the larger, the better, to handle heavier queries. However, we must limit it to a reasonable range in terms of the entire cluster's resources. Otherwise, a large query may trigger the engine where it runs to consume too many resources from the queue/namespace and occupy them for a considerable time, which could be a bad idea for us [...]
+
+The following Spark configurations consist of sizing for the DRA.
+
+
+```
+spark.dynamicAllocation.minExecutors=10
+spark.dynamicAllocation.maxExecutors=500
+```
+
+Additionally, another config called ```spark.dynamicAllocation.initialExecutors``` can be used to decide how many executors to request during engine bootstrapping or failover.
+
+Ideally,   the size relationship between them should be as ```minExecutors``` <= ```initialExecutors``` < ```maxExecutors```.
+
+## Resource Allocation Policy
+
+When the DRA notices that the current resources are insufficient for the current workload, it will request more executors.
+
+<div align=center>
+
+![](../../imgs/spark/dra_task_pending.png)
+
+</div>
+
+By default, the dynamic allocation will request enough executors to maximize the parallelism according to the number of tasks to process.
+
+<div align=center>
+
+![](../../imgs/spark/dra_executor_added.png)
+
+</div>
+
+
+While this minimizes the latency of the job, but with small tasks, the default behavior can waste many resources due to executor allocation overhead, as some executors might not even do any work.
+
+In this case, we can adjust ```spark.dynamicAllocation.executorAllocationRatio``` a bit lower to reduce the number of executors w.r.t. full parallelism.  For instance, 0.5 will divide the target number of executors by 2.
+
+
+<div align=center>
+
+![](../../imgs/spark/dra_executor_add_ratio.png)
+
+</div>
+
+After finish one task,  Spark Driver will schedule a new task for the executor with available cores. When pending tasks become fewer and fewer, some executors become idle for no new coming tasks.
+
+<div align=center>
+
+![](../../imgs/spark/dra_task_fin.png)
+
+</div>
+
+If one executor reach the maximn timeout, it will be removed.
+```properties
+spark.dynamicAllocation.executorIdleTimeout=60s
+spark.dynamicAllocation.cachedExecutorIdleTimeout=infinity
+```
+
+<div align=center>
+
+![](../../imgs/spark/dra_executor_removal.png)
+
+</div>
+
+
+If the DRA finds there have been pending tasks backlogged for more than the timeouts, new executors will be requested, controlled by the following configs.
+
+```properties
+spark.dynamicAllocation.schedulerBacklogTimeout=1s
+spark.dynamicAllocation.sustainedSchedulerBacklogTimeout=1s
+```
+
+## Best Practices for Applying DRA to Kyuubi
+
+Kyuubi is a long-running service to make it easier for end-users to use Spark SQL without having much of Spark's basic knowledge. It is essential to have a basic configuration for resource management that works for most scenarios on the server-side.
+
+
+### Setting Default Configurations
+
+[Configuring by `spark-defaults.conf`](settings.html#via-spark-defaults-conf) at the engine side is the best way to set up Kyuubi with DRA. All engines will be instantiated with DRA enabled.
+
+Here is a config setting that we use in our platform when deploying Kyuubi.
+
+```properties
+spark.dynamicAllocation.enabled=true
+##false if perfer shuffle tracking than ESS
+spark.shuffle.service.enabled=true
+spark.dynamicAllocation.initialExecutors=10
+spark.dynamicAllocation.minExecutors=10
+spark.dynamicAllocation.maxExecutors=500
+spark.dynamicAllocation.executorAllocationRatio=0.5
+spark.dynamicAllocation.executorIdleTimeout=60s
+spark.dynamicAllocation.cachedExecutorIdleTimeout=30min
+# true if perfer shuffle tracking than ESS
+spark.dynamicAllocation.shuffleTracking.enabled=false
+spark.dynamicAllocation.shuffleTracking.timeout=30min
+spark.dynamicAllocation.schedulerBacklogTimeout=1s
+spark.dynamicAllocation.sustainedSchedulerBacklogTimeout=1s
+spark.cleaner.periodicGC.interval=5min
+```
+
+Note that, ```spark.cleaner.periodicGC.interval=5min``` is useful here when ```spark.dynamicAllocation.shuffleTracking.enabled``` is enabled, as we can tell Spark to be more active for shuffle data GC.
+
+### Setting User Default Settings
+On the server-side, the workloads for different users might be different.
+
+Then we can set different defaults for them via the [User Defaults](../settings.html#user-defaults) in ```$KYUUBI_HOME/conf/kyuubi-defaults.conf```
+
+```properties
+# For a user named kent
+___kent___.spark.dynamicAllocation.maxExecutors=20
+# For a user named bob
+___bob___.spark.dynamicAllocation.maxExecutors=600
+```
+In this case, the user named `kent` can only use 20 executors for his engines, but `bob` can use 600 executors for better performance or handle heavy workloads.
+
+### Dynamically Setting
+
+All AQE related configurations are static of Spark core and unchangeable by `SET` syntaxes before each SQL query. For example,
+
+```sql
+SET spark.dynamicAllocation.maxExecutors=33;
+SELECT * FROM default.tableA;
+```
+
+For the above case, the value - 33 will not affect as Spark does not support change core configurations in runtime.
+
+Instead, end-users can set them via [JDBC Connection URL](../settings.html#via-jdbc-connection-url) for some specific cases.
+
+
+## References
+
+1. [Spark Official Online Document: Dynamic Resource Allocation](https://spark.apache.org/docs/latest/job-scheduling.html#dynamic-resource-allocation)
+2. [Spark Official Online Document: Dynamic Resource Allocation Configurations](https://spark.apache.org/docs/latest/configuration.html#dynamic-allocation)
+3. [SPARK-27963: Allow dynamic allocation without an external shuffle service](https://issues.apache.org/jira/browse/SPARK-27963)
diff --git a/content/docs/latest/_sources/deployment/spark/dynamicpartitionpruning.md.txt b/content/docs/latest/_sources/deployment/spark/dynamicpartitionpruning.md.txt
new file mode 100644
index 0000000..f113ea6
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/dynamicpartitionpruning.md.txt
@@ -0,0 +1,25 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+## Dynamic Partition Pruning
+
+```properties
+# spark.sql.optimizer.dynamicPartitionPruning.enabled             true
+# spark.sql.optimizer.dynamicPartitionPruning.useStats            true
+# spark.sql.optimizer.dynamicPartitionPruning.fallbackFilterRatio 0.5
+# spark.sql.optimizer.dynamicPartitionPruning.reuseBroadcastOnly  true
+```
diff --git a/content/docs/latest/_sources/deployment/spark/ess.md.txt b/content/docs/latest/_sources/deployment/spark/ess.md.txt
new file mode 100644
index 0000000..0869817
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/ess.md.txt
@@ -0,0 +1,23 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+```properties
+## External Shuffle Service
+# spark.shuffle.service.enabled                             true
+# spark.shuffle.service.fetch.rdd.enabled                   true
+# spark.shuffle.service.port                                7337
+```
diff --git a/content/docs/latest/_sources/deployment/spark/eventqueue.md.txt b/content/docs/latest/_sources/deployment/spark/eventqueue.md.txt
new file mode 100644
index 0000000..82a0953
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/eventqueue.md.txt
@@ -0,0 +1,27 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+## Event Queue Capacity
+
+```properties
+# spark.scheduler.revive.interval                                    1s
+# spark.scheduler.listenerbus.eventqueue.capacity                    100000
+# spark.scheduler.listenerbus.eventqueue.executorManagement.capacity 100000
+# spark.scheduler.listenerbus.eventqueue.appStatus.capacity          100000
+# spark.scheduler.listenerbus.eventqueue.shared.capacity             100000
+# spark.scheduler.listenerbus.eventqueue.eventLog.capacity           20000
+```
diff --git a/content/docs/latest/_sources/deployment/spark/executor.md.txt b/content/docs/latest/_sources/deployment/spark/executor.md.txt
new file mode 100644
index 0000000..ed8b725
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/executor.md.txt
@@ -0,0 +1,25 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+```properties
+## Spark Executor Sizing
+# spark.executor.instances        100
+# spark.executor.cores            4
+# spark.executor.memory           16g
+# spark.executor.memoryOverhead   4096
+# spark.executor.extraJavaOptions -XX:MaxDirectMemorySize=2048m
+```
diff --git a/content/docs/latest/_sources/deployment/spark/heartbeart.md.txt b/content/docs/latest/_sources/deployment/spark/heartbeart.md.txt
new file mode 100644
index 0000000..f2c2e10
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/heartbeart.md.txt
@@ -0,0 +1,24 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+## Executor Heartbeat
+
+```properties
+# spark.storage.blockManagerHeartbeatTimeoutMs                       300s
+# spark.executor.heartbeatInterval                                   15s
+# spark.executor.heartbeat.maxFailures                               30
+```
diff --git a/content/docs/latest/_sources/deployment/spark/index.rst.txt b/content/docs/latest/_sources/deployment/spark/index.rst.txt
new file mode 100644
index 0000000..772d8b9
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/index.rst.txt
@@ -0,0 +1,34 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../../imgs/kyuubi_logo.png
+   :align: center
+
+The Engine Configuration Guide
+==============================
+
+Kyuubi aims to bring Spark to end-users who need not qualify with Spark or something else related to the big data area.
+End-users can write SQL queries through JDBC against Kyuubi and nothing more.
+The Kyuubi server-side or the corresponding engines could do most of the optimization.
+On the other hand, we don't wholly restrict end-users to special handling of specific cases to benefit from the following documentations.
+Even if you don't use Kyuubi, as a simple Spark user, I'm sure you'll find the next articles instructive.
+
+.. toctree::
+    :maxdepth: 2
+    :numbered: 2
+    :glob:
+
+    dynamic_allocation
+    aqe
diff --git a/content/docs/latest/_sources/deployment/spark/locality.md.txt b/content/docs/latest/_sources/deployment/spark/locality.md.txt
new file mode 100644
index 0000000..4d530fc
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/locality.md.txt
@@ -0,0 +1,24 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+```properties
+## Data Locality for Task Schedule
+# spark.locality.wait                                       0s
+# spark.locality.wait.process                               0s
+# spark.locality.wait.node                                  0s
+# spark.locality.wait.rack                                  0s
+```
diff --git a/content/docs/latest/_sources/deployment/spark/monitering.md.txt b/content/docs/latest/_sources/deployment/spark/monitering.md.txt
new file mode 100644
index 0000000..1ca0d9b
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/monitering.md.txt
@@ -0,0 +1,26 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+```properties
+## Event Logging for History Server
+# spark.eventLog.enabled                            true
+# spark.eventLog.dir                                hdfs://hadoop-dfs/history
+# spark.eventLog.compress                           true
+# spark.eventLog.longForm.enabled                   true
+# spark.eventLog.rolling.enabled                    true
+# spark.yarn.historyServer.address                  http://historyserver:18080
+```
diff --git a/content/docs/latest/_sources/deployment/spark/shuffle.md.txt b/content/docs/latest/_sources/deployment/spark/shuffle.md.txt
new file mode 100644
index 0000000..87c1d63
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/shuffle.md.txt
@@ -0,0 +1,46 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+```properties
+## Shuffle Behavior
+# spark.shuffle.compress                                    true
+# spark.shuffle.detectCorrupt                               true
+# spark.shuffle.detectCorrupt.useExtraMemory                true
+# spark.shuffle.file.buffer                                 64k
+# spark.shuffle.unsafe.file.output.buffer                   64k
+# spark.shuffle.spill.diskWriteBufferSize                   8k
+# spark.shuffle.spill.compress                              true
+# spark.shuffle.mapOutput.dispatcher.numThreads             12
+# spark.shuffle.mapOutput.parallelAggregationThreshold      5000
+# spark.shuffle.readHostLocalDisk                           true
+# spark.shuffle.io.maxRetries                               10
+# spark.shuffle.io.retryWait                                6s
+# spark.shuffle.io.preferDirectBufs                         false
+# spark.shuffle.io.serverThreads                            8
+# spark.shuffle.io.clientThreads                            8
+# spark.shuffle.io.connectionTimeout                        240s
+# spark.shuffle.registration.timeout                        6000
+# spark.shuffle.registration.maxAttempts                    10
+# spark.shuffle.sync                                        false
+# spark.shuffle.useOldFetchProtocol                         true
+# spark.shuffle.unsafe.fastMergeEnabled                     true
+# spark.shuffle.minNumPartitionsToHighlyCompress            100
+# spark.network.maxRemoteBlockSizeFetchToMem                128m
+# spark.reducer.maxSizeInFlight                             48m
+# spark.reducer.maxReqsInFlight                             256
+# spark.reducer.maxBlocksInFlightPerAddress                 256
+```
diff --git a/content/docs/latest/_sources/deployment/spark/speculation.md.txt b/content/docs/latest/_sources/deployment/spark/speculation.md.txt
new file mode 100644
index 0000000..aeba043
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/speculation.md.txt
@@ -0,0 +1,25 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+```properties
+## Speculation
+# spark.speculation                         true
+# spark.speculation.interval                1s
+# spark.speculation.multiplier              1.5
+# spark.speculation.quantile                0.9
+# spark.speculation.task.duration.threshold 10min
+```
diff --git a/content/docs/latest/_sources/deployment/spark/sql.md.txt b/content/docs/latest/_sources/deployment/spark/sql.md.txt
new file mode 100644
index 0000000..6e03ea3
--- /dev/null
+++ b/content/docs/latest/_sources/deployment/spark/sql.md.txt
@@ -0,0 +1,30 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+```properties
+## SQL
+## General SQL Settings
+# spark.sql.shuffle.partitions                              8192
+# spark.sql.optimizer.inSetConversionThreshold              2
+# spark.sql.autoBroadcastJoinThreshold                      64m
+# spark.sql.broadcastTimeout                                600s
+# spark.sql.join.preferSortMergeJoin                        true
+# spark.sql.hive.metastorePartitionPruning                  true
+# spark.sql.parquet.filterPushdown                          true
+# spark.sql.parquet.recordLevelFilter.enabled	            true
+# spark.sql.statistics.fallBackToHdfs	                    true
+```
diff --git a/content/docs/latest/_sources/develop_tools/build_document.md.txt b/content/docs/latest/_sources/develop_tools/build_document.md.txt
new file mode 100644
index 0000000..5570953
--- /dev/null
+++ b/content/docs/latest/_sources/develop_tools/build_document.md.txt
@@ -0,0 +1,72 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Building Kyuubi Documentation
+
+Follow the steps below and learn how to build the Kyuubi documentation as the one you are watching now.
+
+## Install & Activate `virtualenv`
+
+Firstly, install `virtualenv`, this is optional but recommended as it is useful to create an independent environment to resolve dependency issues for building the documentation.
+
+```bash
+pip install virtualenv
+```
+
+Switch to the `docs` root directory.
+
+```bash
+cd $KTUUBI_HOME/docs
+```
+
+Create a virtual environment named 'kyuubi' or anything you like using `virtualenv` if it's not existing.
+
+```bash
+virtualenv kyuubi
+```
+
+Activate it,
+
+```bash
+ source ./kyuubi/bin/activate
+```
+
+## Install all dependencies
+
+Install all dependencies enumerated in the `requirements.txt`
+
+```bash
+pip install -r requirements.txt
+```
+
+## Create Documentation
+
+```bash
+make html
+```
+
+If the build process succeed, the HTML pages are in `_build/html`.
+
+## View Locally
+
+Open the `_build/html/index.html` file in your favorite web browser.
diff --git a/content/docs/latest/_sources/develop_tools/building.md.txt b/content/docs/latest/_sources/develop_tools/building.md.txt
new file mode 100644
index 0000000..e24ae97
--- /dev/null
+++ b/content/docs/latest/_sources/develop_tools/building.md.txt
@@ -0,0 +1,93 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Building Kyuubi
+
+## Building Kyuubi with Apache Maven
+
+**Kyuubi** is built based on [Apache Maven](http://maven.apache.org),
+
+```bash
+./build/mvn clean package -DskipTests
+```
+
+This results in the creation of all sub-modules of Kyuubi project without running any unit test.
+
+If you want to test it manually, you can start Kyuubi directly from the Kyuubi project root by running
+
+```bash
+bin/kyuubi start
+```
+
+## Building a Submodule Individually
+
+For instance, you can build the Kyuubi Common module using:
+
+```bash
+build/mvn clean package -pl :kyuubi-common -DskipTests
+```
+
+## Building Submodules Individually
+
+For instance, you can build the Kyuubi Common module using:
+
+```bash
+build/mvn clean package -pl :kyuubi-common,:kyuubi-ha -DskipTests
+```
+
+## Skipping Some modules
+
+For instance, you can build the Kyuubi modules without Kyuubi Codecov and Assembly modules using:
+
+```bash
+ mvn clean install -pl '!:kyuubi-codecov,!:kyuubi-assembly' -DskipTests
+```
+
+## Building Kyuubi against Different Apache Spark versions
+
+Since v1.1.0, Kyuubi support building with different Spark profiles,
+
+Profile | Default  | Since
+--- | --- | --- 
+-Pspark-3.0 | Yes | 1.0.0
+-Pspark-3.1 | No | 1.1.0
+
+
+## Defining the Apache Mirror for Spark
+
+By default, we use `https://archive.apache.org/dist/spark/` to download the built-in Spark release package,
+but if you find it hard to reach, or the downloading speed is too slow, you can define the `spark.archive.mirror`
+property to a suitable Apache mirror site. For instance,
+
+```bash
+build/mvn clean package -Dspark.archive.mirror=https://mirrors.bfsu.edu.cn/apache/spark/spark-3.0.1
+```
+
+Visit [Apache Mirrors](http://www.apache.org/mirrors/) and choose a mirror based on your region.
+
+Specifically for developers in China mainland, you can use the pre-defined profile named `mirror-cn` which use
+`mirrors.bfsu.edu.cn` to speed up Spark Binary downloading. For instance,
+
+```bash
+build/mvn clean package -Pmirror-cn
+```
diff --git a/content/docs/latest/_sources/develop_tools/debugging.md.txt b/content/docs/latest/_sources/develop_tools/debugging.md.txt
new file mode 100644
index 0000000..f240ee6
--- /dev/null
+++ b/content/docs/latest/_sources/develop_tools/debugging.md.txt
@@ -0,0 +1,58 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Debugging Kyuubi
+
+You can use the [Java Debug Wire Protocol](https://docs.oracle.com/javase/8/docs/technotes/guides/jpda/conninv.html#Plugin) to debug Kyuubi
+with your favorite IDE tool, e.g. Intellij IDEA.
+
+## Debugging Server
+
+We can configure the JDWP agent in `KYUUBI_JAVA_OPTS` for debugging.
+ 
+ 
+For example,
+```bash
+KYUUBI_JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 \
+bin/kyuubi start
+```
+
+In the IDE, you set the corresponding parameters(host&port) in debug configurations, for example,
+<div align=center>
+
+![](../imgs/idea_debug.png)
+
+</div>
+
+## Debugging Apps
+
+- Spark Driver
+
+```bash
+spark.driver.extraJavaOptions   -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
+```
+
+- Spark Executor
+```bash
+spark.executor.extraJavaOptions   -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
+```
\ No newline at end of file
diff --git a/content/docs/latest/_sources/develop_tools/developer.md.txt b/content/docs/latest/_sources/develop_tools/developer.md.txt
new file mode 100644
index 0000000..b6da278
--- /dev/null
+++ b/content/docs/latest/_sources/develop_tools/developer.md.txt
@@ -0,0 +1,52 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Developer Tools
+
+## Update Project Version
+
+```bash
+
+build/mvn versions:set -DgenerateBackupPoms=false
+```
+
+## Update Document Version
+
+Whenever Project version updates, please also update the document version at `docs/conf.py` to target the upcoming release.
+
+For example,
+
+```python
+release = '1.2.0'
+```
+
+## Update Dependency List
+
+Kyuubi uses the `dev/dependencyList` file to indicates what upstream dependencies will actually go to the server-side classpath.
+
+For Pull requests, a linter for dependency check will be automatically executed in GitHub Actions.
+
+
+You can run `build/dependency.sh` locally first to detect the potential dependency change first.
+
+If the changes look expected, run `build/dependency.sh --replace` to update `dev/dependencyList` in your Pull request.
diff --git a/content/docs/latest/_sources/develop_tools/distribution.md.txt b/content/docs/latest/_sources/develop_tools/distribution.md.txt
new file mode 100644
index 0000000..02ad777
--- /dev/null
+++ b/content/docs/latest/_sources/develop_tools/distribution.md.txt
@@ -0,0 +1,57 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Building a Runnable Distribution
+
+To create a Kyuubi distribution like those distributed by [Kyuubi Release Page](https://github.com/apache/incubator-kyuubi/releases),
+and that is laid out so as to be runnable, use `./build/dist` in the project root directory.
+
+For more information on usage, run `./build/dist --help`
+
+```logtalk
+./build/dist - Tool for making binary distributions of Kyuubi Server
+
+Usage:
++--------------------------------------------------------------------------------------+
+| ./build/dist [--name <custom_name>] [--tgz] [--spark-provided] <maven build options> |
++--------------------------------------------------------------------------------------+
+name:           -  custom binary name, using project version if undefined
+tgz:            -  whether to make a whole bundled package
+spark-provided: -  whether to make a package without Spark binary
+```
+
+For instance,
+
+```bash
+./build/dist --name custom-name --tgz
+```
+
+This results a Kyuubi distribution named `kyuubi-{version}-bin-custom-name.tgz` for you.
+
+If you are planing to deploy Kyuubi where `spark` is provided, in other word, it's not required to bundle spark binary, use 
+
+```bash
+./build/dist --tgz --spark-provided
+```
+
+Then you will get a Kyuubi distribution without spark binary named `kyuubi-{version}-bin.tgz`.
diff --git a/content/docs/latest/_sources/develop_tools/index.rst.txt b/content/docs/latest/_sources/develop_tools/index.rst.txt
new file mode 100644
index 0000000..e266068
--- /dev/null
+++ b/content/docs/latest/_sources/develop_tools/index.rst.txt
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../imgs/kyuubi_logo.png
+   :align: center
+
+Develop Tools
+===========
+
+.. toctree::
+    :maxdepth: 2
+    :numbered: 3
+
+    building
+    distribution
+    build_document
+    testing
+    debugging
+    community
+    developer
diff --git a/content/docs/latest/_sources/develop_tools/testing.md.txt b/content/docs/latest/_sources/develop_tools/testing.md.txt
new file mode 100644
index 0000000..cf3b742
--- /dev/null
+++ b/content/docs/latest/_sources/develop_tools/testing.md.txt
@@ -0,0 +1,59 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Running Tests
+
+**Kyuubi** can be tested based on [Apache Maven](http://maven.apache.org) and the ScalaTest Maven Plugin,
+please refer to the [ScalaTest documentation](http://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin),
+
+## Running Tests Fully
+
+The following is an example of a command to run all the tests:
+
+```bash
+./build/mvn clean test
+```
+
+## Running Tests for a Module
+
+```bash
+./build/mvn clean test -pl :kyuubi-common
+```
+
+## Running Tests for a Single Test
+
+When developing locally, it’s convenient to run one single test, or a couple of tests, rather than all.
+
+With Maven, you can use the -DwildcardSuites flag to run individual Scala tests:
+
+```bash
+./build/mvn test -Dtest=none -DwildcardSuites=org.apache.kyuubi.service.FrontendServiceSuite
+```
+
+If you want to make a single test that need integrate with kyuubi-spark-sql-engine module, please build the package for kyuubi-spark-sql-engine module at first.
+
+You can leverage the ready-made tool for creating a binary distribution.
+
+```bash
+./build/dist
+```
diff --git a/content/docs/latest/_sources/index.rst.txt b/content/docs/latest/_sources/index.rst.txt
new file mode 100644
index 0000000..e2ce17c
--- /dev/null
+++ b/content/docs/latest/_sources/index.rst.txt
@@ -0,0 +1,127 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. Kyuubi documentation master file, created by
+   sphinx-quickstart on Wed Oct 28 14:23:28 2020.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+.. image:: imgs/kyuubi_logo.png
+   :align: center
+
+Welcome to Kyuubi's documentation!
+==================================
+
+Kyuubi™ is a unified multi-tenant JDBC interface for large-scale data processing and analytics, built on top of `Apache Spark™ <http://spark.apache.org/>`_.
+
+.. image:: ./imgs/kyuubi_layers.png
+
+In general, the complete ecosystem of Kyuubi falls into the hierarchies shown in the above figure, with each layer loosely coupled to the other.
+
+For example, you can use Kyuubi, Spark and `Apache Iceberg <https://iceberg.apache.org/>`_ to build and manage Data Lake with pure SQL for both data processing e.g. ETL, and analytics e.g. BI.
+All workloads can be done on one platform, using one copy of data, with one SQL interface.
+
+Kyuubi provides the following features:
+
+Multi-tenancy
+-------------
+
+Kyuubi supports the end-to-end multi-tenancy,
+and this is why we want to create this project despite that the Spark `Thrift JDBC/ODBC server <http://spark.apache.org/docs/latest/sql-distributed-sql-engine.html#running-the-thrift-jdbcodbc-server>`_ already exists.
+
+1. Supports multi-client concurrency and authentication
+2. Supports one Spark application per account(SPA).
+3. Supports QUEUE/NAMESPACE Access Control Lists (ACL)
+4. Supports metadata & data Access Control Lists
+
+Users who have valid accounts could use all kinds of client tools, e.g.
+Hive Beeline, `HUE <https://gethue.com/>`_, `DBeaver <https://dbeaver.io/>`_,
+`SQuirreL SQL Client <http://squirrel-sql.sourceforge.net/>`_, etc,
+to operate with Kyuubi server concurrently.
+
+The SPA policy makes sure 1) a user account can only get computing resource with managed ACLs, e.g.
+`Queue Access Control Lists <https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/FairScheduler.html#Queue_Access_Control_Lists>`_,
+from cluster managers, e.g.
+`Apache Hadoop YARN <https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html>`_,
+`Kubernetes (K8s) <https://kubernetes.io/>`_ to create the Spark application;
+2) a user account can only access data and metadata from a storage system, e.g.
+`Apache Hadoop HDFS <https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html>`_,
+with permissions.
+
+Ease of Use
+------------
+
+You only need to be familiar with Structured Query Language (SQL) and Java Database Connectivity (JDBC) to handle massive data.
+It helps you focus on the design and implementation of your business system.
+
+Run Anywhere
+------------
+
+Kyuubi can submit Spark applications to all supported cluster managers, including YARN, Mesos, Kubernetes, Standalone, and local.
+
+The SPA policy also make it possible for you to launch different applications against different cluster managers.
+
+High Performance
+----------------
+
+Kyuubi is built on the Apache Spark, a lightning-fast unified analytics engine.
+
+ - **Concurrent execution**: multiple Spark applications work together
+ - **Quick response**: long-running Spark applications without startup cost
+ - **Optimal execution plan**: fully supports Spark SQL Catalyst Optimizer,
+
+Authentication & Authorization
+------------------------------
+
+With strong authentication and fine-grained column/row level authorization,
+Kyuubi keeps your system and data secure.
+
+High Availability
+-----------------
+
+Kyuubi provides both high availability and load balancing solutions based on Zookeeper.
+
+.. toctree::
+   :caption: Usage Guide
+   :maxdepth: 2
+   :glob:
+
+   quick_start/index
+   deployment/index
+   Security <security/index>
+   client/index
+   integrations/index
+   monitor/index
+   sql/index
+   tools/index
+
+.. toctree::
+   :caption: Kyuubi Insider
+   :maxdepth: 2
+
+   overview/index
+
+.. toctree::
+   :caption: Contributing
+   :maxdepth: 2
+
+   develop_tools/index
+   community/index
+
+.. toctree::
+   :caption: Appendix
+   :maxdepth: 2
+
+   appendix/index
diff --git a/content/docs/latest/_sources/integrations/index.rst.txt b/content/docs/latest/_sources/integrations/index.rst.txt
new file mode 100644
index 0000000..f6ad1a5
--- /dev/null
+++ b/content/docs/latest/_sources/integrations/index.rst.txt
@@ -0,0 +1,26 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../imgs/kyuubi_logo.png
+   :align: center
+
+Integrations
+===========================
+
+.. toctree::
+    :maxdepth: 2
+    :numbered: 2
+
+    kudu
diff --git a/content/docs/latest/_sources/integrations/kudu.md.txt b/content/docs/latest/_sources/integrations/kudu.md.txt
new file mode 100644
index 0000000..860009c
--- /dev/null
+++ b/content/docs/latest/_sources/integrations/kudu.md.txt
@@ -0,0 +1,185 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Kyuubi On Apache Kudu
+
+## What is Apache Kudu
+
+> A new addition to the open source Apache Hadoop ecosystem, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data.
+
+When you are reading this documentation, we suppose that you are not necessary to be familiar with [Apache Kudu](https://kudu.apache.org/). But at least, you have one running Kudu cluster which is able to be connected for you. And it is even better for you to understand what Apache Kudu is capable with.
+
+Anything missing on this page about Apache Kudu background knowledge, you can refer to its official website.
+
+## Why Kyuubi on Kudu
+Basically, Kyuubi can take place of HiveServer2 as a multi tenant ad-hoc SQL on Hadoop solution, with the advantages of speed and power coming from Spark SQL. You can run SQL queries towards both data source and Hive tables whose data is secured only with computing resources you are authorized.
+
+> Spark SQL supports operating on a variety of data sources through the DataFrame interface. A DataFrame can be operated on using relational transformations and can also be used to create a temporary view. Registering a DataFrame as a temporary view allows you to run SQL queries over its data. This section describes the general methods for loading and saving data using the Spark Data Sources and then goes into specific options that are available for the built-in data sources.
+
+In Kyuubi, we can register Kudu tables and other data source tables as Spark temporary views to enable federated union queries across Hive, Kudu, and other data sources.
+
+## Kudu Integration with Apache Spark
+Before integrating Kyuubi with Kudu, we strongly suggest that you integrate and test Spark with Kudu first. You may find the guide from Kudu's online documentation -- [Kudu Integration with Spark](https://kudu.apache.org/docs/developing.html#_kudu_integration_with_spark)
+
+## Kudu Integration with Kyuubi
+
+#### Install Kudu Spark Dependency
+Confirm your Kudu cluster version and download the corresponding kudu spark dependency library, such as [org.apache.kudu:kudu-spark3_2.12-1.14.0](https://repo1.maven.org/maven2/org/apache/kudu/kudu-spark3_2.12/1.14.0/kudu-spark3_2.12-1.14.0.jar) to `$SPARK_HOME`/jars.
+
+#### Start Kyuubi
+
+Now, you can start Kyuubi server with this kudu embedded Spark distribution.
+
+#### Start Beeline Or Other Client You Prefer
+
+```shell
+bin/beeline -u 'jdbc:hive2://<host>:<port>/;principal=<if kerberized>;#spark.yarn.queue=kyuubi_test'
+```
+
+#### Register Kudu table as Spark Temporary view
+
+```sql
+CREATE TEMPORARY VIEW kudutest
+USING kudu
+options ( 
+  kudu.master "ip1:port1,ip2:port2,...",
+  kudu.table "kudu::test.testtbl")
+```
+
+```sql
+0: jdbc:hive2://spark5.jd.163.org:10009/> show tables;
+19/07/09 15:28:03 INFO ExecuteStatementInClientMode: Running query 'show tables' with 1104328b-515c-4f8b-8a68-1c0b202bc9ed
+19/07/09 15:28:03 INFO KyuubiSparkUtil$: Application application_1560304876299_3805060 has been activated
+19/07/09 15:28:03 INFO ExecuteStatementInClientMode: Executing query in incremental mode, running 1 jobs before optimization
+19/07/09 15:28:03 INFO ExecuteStatementInClientMode: Executing query in incremental mode, running 1 jobs without optimization
+19/07/09 15:28:03 INFO DAGScheduler: Asked to cancel job group 1104328b-515c-4f8b-8a68-1c0b202bc9ed
++-----------+-----------------------------+--------------+--+
+| database  |          tableName          | isTemporary  |
++-----------+-----------------------------+--------------+--+
+| kyuubi    | hive_tbl                    | false        |
+|           | kudutest                    | true         |
++-----------+-----------------------------+--------------+--+
+2 rows selected (0.29 seconds)
+```
+
+#### Query Kudu Table
+
+```sql
+0: jdbc:hive2://spark5.jd.163.org:10009/> select * from kudutest;
+19/07/09 15:25:17 INFO ExecuteStatementInClientMode: Running query 'select * from kudutest' with ac3e8553-0d79-4c57-add1-7d3ffe34ba16
+19/07/09 15:25:17 INFO KyuubiSparkUtil$: Application application_1560304876299_3805060 has been activated
+19/07/09 15:25:17 INFO ExecuteStatementInClientMode: Executing query in incremental mode, running 3 jobs before optimization
+19/07/09 15:25:17 INFO ExecuteStatementInClientMode: Executing query in incremental mode, running 3 jobs without optimization
+19/07/09 15:25:17 INFO DAGScheduler: Asked to cancel job group ac3e8553-0d79-4c57-add1-7d3ffe34ba16
++---------+---------------+----------------+--+
+| userid  | sharesetting  | notifysetting  |
++---------+---------------+----------------+--+
+| 1       | 1             | 1              |
+| 5       | 5             | 5              |
+| 2       | 2             | 2              |
+| 3       | 3             | 3              |
+| 4       | 4             | 4              |
++---------+---------------+----------------+--+
+5 rows selected (1.083 seconds)
+```
+
+
+#### Join Kudu table with Hive table
+
+```sql
+0: jdbc:hive2://spark5.jd.163.org:10009/> select t1.*, t2.* from hive_tbl t1 join kudutest t2 on t1.userid=t2.userid+1;
+19/07/09 15:31:01 INFO ExecuteStatementInClientMode: Running query 'select t1.*, t2.* from hive_tbl t1 join kudutest t2 on t1.userid=t2.userid+1' with 6982fa5c-29fa-49be-a5bf-54c935bbad18
+19/07/09 15:31:01 INFO KyuubiSparkUtil$: Application application_1560304876299_3805060 has been activated
+<omitted lines.... >
+19/07/09 15:31:01 INFO DAGScheduler: Asked to cancel job group 6982fa5c-29fa-49be-a5bf-54c935bbad18
++---------+---------------+----------------+---------+---------------+----------------+--+
+| userid  | sharesetting  | notifysetting  | userid  | sharesetting  | notifysetting  |
++---------+---------------+----------------+---------+---------------+----------------+--+
+| 2       | 2             | 2              | 1       | 1             | 1              |
+| 3       | 3             | 3              | 2       | 2             | 2              |
+| 4       | 4             | 4              | 3       | 3             | 3              |
++---------+---------------+----------------+---------+---------------+----------------+--+
+3 rows selected (1.63 seconds)
+```
+
+#### Insert to Kudu table
+
+You should notice that only `INSERT INTO` is supported by Kudu, `OVERWRITE` data is not supported
+
+```sql
+0: jdbc:hive2://spark5.jd.163.org:10009/> insert overwrite table kudutest select *  from hive_tbl;
+19/07/09 15:35:29 INFO ExecuteStatementInClientMode: Running query 'insert overwrite table kudutest select *  from hive_tbl' with 1afdb791-1aa7-4ceb-8ba8-ff53c17615d1
+19/07/09 15:35:29 INFO KyuubiSparkUtil$: Application application_1560304876299_3805060 has been activated
+19/07/09 15:35:30 ERROR ExecuteStatementInClientMode:
+Error executing query as bdms_hzyaoqin,
+insert overwrite table kudutest select *  from hive_tbl
+Current operation state RUNNING,
+java.lang.UnsupportedOperationException: overwrite is not yet supported
+	at org.apache.kudu.spark.kudu.KuduRelation.insert(DefaultSource.scala:424)
+	at org.apache.spark.sql.execution.datasources.InsertIntoDataSourceCommand.run(InsertIntoDataSourceCommand.scala:42)
+	at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:70)
+	at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:68)
+	at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:79)
+	at org.apache.spark.sql.Dataset$$anonfun$6.apply(Dataset.scala:190)
+	at org.apache.spark.sql.Dataset$$anonfun$6.apply(Dataset.scala:190)
+	at org.apache.spark.sql.Dataset$$anonfun$52.apply(Dataset.scala:3259)
+	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:77)
+	at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3258)
+	at org.apache.spark.sql.Dataset.<init>(Dataset.scala:190)
+	at org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:75)
+	at org.apache.spark.sql.SparkSQLUtils$.toDataFrame(SparkSQLUtils.scala:39)
+	at org.apache.kyuubi.operation.statement.ExecuteStatementInClientMode.execute(ExecuteStatementInClientMode.scala:152)
+	at org.apache.kyuubi.operation.statement.ExecuteStatementOperation$$anon$1$$anon$2.run(ExecuteStatementOperation.scala:74)
+	at org.apache.kyuubi.operation.statement.ExecuteStatementOperation$$anon$1$$anon$2.run(ExecuteStatementOperation.scala:70)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.security.auth.Subject.doAs(Subject.java:422)
+	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
+	at org.apache.kyuubi.operation.statement.ExecuteStatementOperation$$anon$1.run(ExecuteStatementOperation.scala:70)
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
+	at java.lang.Thread.run(Thread.java:745)
+
+
+19/07/09 15:35:30 INFO DAGScheduler: Asked to cancel job group 1afdb791-1aa7-4ceb-8ba8-ff53c17615d1
+
+```
+
+```sql
+0: jdbc:hive2://spark5.jd.163.org:10009/> insert into table kudutest select * from hive_tbl;
+19/07/09 15:36:26 INFO ExecuteStatementInClientMode: Running query 'insert into table kudutest select *  from hive_tbl' with f7460400-0564-4f98-93b6-ad76e579e7af
+19/07/09 15:36:26 INFO KyuubiSparkUtil$: Application application_1560304876299_3805060 has been activated
+<omitted lines ...>
+19/07/09 15:36:27 INFO DAGScheduler: ResultStage 36 (foreachPartition at KuduContext.scala:332) finished in 0.322 s
+19/07/09 15:36:27 INFO DAGScheduler: Job 36 finished: foreachPartition at KuduContext.scala:332, took 0.324586 s
+19/07/09 15:36:27 INFO KuduContext: completed upsert ops: duration histogram: 33.333333333333336%: 2ms, 66.66666666666667%: 64ms, 100.0%: 102ms, 100.0%: 102ms
+19/07/09 15:36:27 INFO ExecuteStatementInClientMode: Executing query in incremental mode, running 1 jobs before optimization
+19/07/09 15:36:27 INFO ExecuteStatementInClientMode: Executing query in incremental mode, running 1 jobs without optimization
+19/07/09 15:36:27 INFO DAGScheduler: Asked to cancel job group f7460400-0564-4f98-93b6-ad76e579e7af
++---------+--+
+| Result  |
++---------+--+
++---------+--+
+No rows selected (0.611 seconds)
+```
+
+## References
+[https://kudu.apache.org/](https://kudu.apache.org/)
+[https://kudu.apache.org/docs/developing.html#_kudu_integration_with_spark](https://kudu.apache.org/docs/developing.html#_kudu_integration_with_spark)
+[https://github.com/apache/incubator-kyuubi](https://github.com/apache/incubator-kyuubi)
+[https://spark.apache.org/docs/latest/sql-data-sources.html](https://spark.apache.org/docs/latest/sql-data-sources.html)
diff --git a/content/docs/latest/_sources/monitor/index.rst.txt b/content/docs/latest/_sources/monitor/index.rst.txt
new file mode 100644
index 0000000..215031c
--- /dev/null
+++ b/content/docs/latest/_sources/monitor/index.rst.txt
@@ -0,0 +1,31 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../imgs/kyuubi_logo.png
+   :align: center
+
+Monitoring
+==========
+
+In this section, you will learn how to monitor Kyuubi with logging, metrics etc..
+
+.. toctree::
+    :maxdepth: 2
+    :numbered: 3
+    :glob:
+
+    metrics
+    logging
+    trouble_shooting
diff --git a/content/docs/latest/_sources/monitor/logging.md.txt b/content/docs/latest/_sources/monitor/logging.md.txt
new file mode 100644
index 0000000..cc62f91
--- /dev/null
+++ b/content/docs/latest/_sources/monitor/logging.md.txt
@@ -0,0 +1,31 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Logging
+
+## Server Logging
+
+## Process Logging
+
+## Operation Logging
+
diff --git a/content/docs/latest/_sources/monitor/metrics.md.txt b/content/docs/latest/_sources/monitor/metrics.md.txt
new file mode 100644
index 0000000..c07dc24
--- /dev/null
+++ b/content/docs/latest/_sources/monitor/metrics.md.txt
@@ -0,0 +1,58 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Kyuubi Server Metrics
+
+Kyuubi has a configurable metrics system based on the [Dropwizard Metrics Library](https://metrics.dropwizard.io/).
+This allows users to report Kyuubi metrics to a variety of `kyuubi.metrics.reporters`. 
+The metrics provide instrumentation for specific activities and Kyuubi server.
+
+## Configurations
+
+The metrics system is configured via `$KYUUBI_HOME/conf/kyuubi-defaults.conf`.
+
+Key | Default | Meaning | Type | Since
+--- | --- | --- | --- | ---
+kyuubi\.metrics<br>\.enabled|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Set to true to enable kyuubi metrics system</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.metrics<br>\.reporters|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>JSON</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>A comma separated list for all metrics reporters<ul> <li>CONSOLE - ConsoleReporter which outputs measurements to CONSOLE periodically.</li> <li>JMX - JmxReporter which listens for new metrics and exposes them as MBeans.</li>  <li>JSON - JsonReporter which outputs measurements to json file periodically.</li> <li>PR [...]
+kyuubi\.metrics<br>\.console\.interval|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>How often should report metrics to console</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.metrics\.json<br>\.interval|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>How often should report metrics to json file</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.metrics\.json<br>\.location|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>metrics</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Where the json metrics file located</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.metrics<br>\.prometheus\.path|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>/metrics</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>URI context path of prometheus metrics HTTP server</div>|<div style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.metrics<br>\.prometheus\.port|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>10019</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>Prometheus metrics HTTP server port</div>|<div style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+kyuubi\.metrics\.slf4j<br>\.interval|<div style='width: 65pt;word-wrap: break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: break-word;white-space: normal'>How often should report metrics to SLF4J logger</div>|<div style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.2.0</div>
+
+## Metrics
+
+These metrics include:
+
+Metrics Prefix | Metrics Suffix | Type | Since | Description
+---|---|---|---|---
+kyuubi<br/>.exec.pool<br/>.threads.alive ||gauge|1.2.0|<div style='width: 150pt;word-wrap: break-word;white-space: normal'> threads keepAlive in the backend executive thread pool</div>
+kyuubi<br/>.exec.pool<br/>.threads.active ||gauge|1.2.0|<div style='width: 150pt;word-wrap: break-word;white-space: normal'> threads active in the backend executive thread pool</div>
+kyuubi<br/>.connection.total   | | counter | 1.2.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'>  cumulative connection count</div>
+kyuubi<br/>.connection.opened  | | gauge | 1.2.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> current active connection count</div>
+kyuubi<br/>.connection.opened  | `${user}` | counter | 1.2.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> cumulative connections requested by a `${user}`</div>
+kyuubi<br/>.connection.failed  | | counter | 1.2.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'>  cumulative failed connection count</div>
+kyuubi<br/>.connection.failed  | `${user}` | counter | 1.2.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'>  cumulative failed connections for a `${user}`</div>
+kyuubi<br/>.statement.total    | | counter | 1.2.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'>  cumulative opened statement count</div>
+kyuubi<br/>.statement.opened   | | counter | 1.2.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'>  current opened statement count</div>
+kyuubi<br/>.statement.failed   | `${errorType}` | counter | 1.2.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'>  cumulative failed statement for a particular `${errorType}`, e.g. `AnalysisException`</div>
+kyuubi<br/>.engine.total       | | counter | 1.2.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'>  cumulative created engines</div>
+kyuubi<br/>.engine.timeout     | | counter | 1.2.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'>  cumulative timeout engines</div>
+kyuubi<br/>.engine.failed      | `${user}` | counter | 1.2.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'>  cumulative explicitly failed engine count for a `${user}`</div>
+kyuubi<br/>.engine.failed      | `${errorType}` | counter | 1.2.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> cumulative explicitly failed engine count for a particular `${errorType}`, e.g. `ClassNotFoundException`</div>
diff --git a/content/docs/latest/_sources/monitor/trouble_shooting.md.txt b/content/docs/latest/_sources/monitor/trouble_shooting.md.txt
new file mode 100644
index 0000000..00f2748
--- /dev/null
+++ b/content/docs/latest/_sources/monitor/trouble_shooting.md.txt
@@ -0,0 +1,270 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Trouble Shooting
+
+## Common Issues
+### java.lang.UnsupportedClassVersionError .. Unsupported major.minor version 52.0
+```
+Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/kyuubi/server/KyuubiServer : Unsupported major.minor version 52.0
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:442)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:64)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:354)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:312)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
+```
+
+Firstly, you should check the version of Java JRE used to run Kyuubi is actually matched with the version of Java compiler used to build Kyuubi.
+
+```bash
+$ java -version
+java version "1.7.0_171"
+OpenJDK Runtime Environment (rhel-2.6.13.2.el7-x86_64 u171-b01)
+OpenJDK 64-Bit Server VM (build 24.171-b01, mixed mode)
+```
+
+```bash
+$ cat RELEASE
+Kyuubi 1.0.0-SNAPSHOT (git revision 39e5da5) built for
+Java 1.8.0_251
+Scala 2.12
+Spark 3.0.1
+Hadoop 2.7.4
+Hive 2.3.7
+Build flags:
+```
+
+To fix this problem you should export `JAVA_HOME` with a compatible one in `conf/kyuubi-env.sh`
+
+```bash
+echo "export JAVA_HOME=/path/to/jdk1.8.0_251" >> conf/kyuubi-env.sh
+```
+
+### org.apache.spark.SparkException: When running with master 'yarn' either HADOOP_CONF_DIR or YARN_CONF_DIR must be set in the environment
+
+```
+Exception in thread "main" org.apache.spark.SparkException: When running with master 'yarn' either HADOOP_CONF_DIR or YARN_CONF_DIR must be set in the environment.
+	at org.apache.spark.deploy.SparkSubmitArguments.error(SparkSubmitArguments.scala:630)
+	at org.apache.spark.deploy.SparkSubmitArguments.validateSubmitArguments(SparkSubmitArguments.scala:270)
+	at org.apache.spark.deploy.SparkSubmitArguments.validateArguments(SparkSubmitArguments.scala:233)
+	at org.apache.spark.deploy.SparkSubmitArguments.<init>(SparkSubmitArguments.scala:119)
+	at org.apache.spark.deploy.SparkSubmit$$anon$2$$anon$3.<init>(SparkSubmit.scala:990)
+	at org.apache.spark.deploy.SparkSubmit$$anon$2.parseArguments(SparkSubmit.scala:990)
+	at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:85)
+	at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1007)
+	at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1016)
+	at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
+```
+
+When Kyuubi gets the `spark.master=yarn`, `HADOOP_CONF_DIR` should also be exported in `$KYUUBI_HOME/conf/kyuubi-env.sh`.
+
+To fix this problem you should export `HADOOP_CONF_DIR` to the folder that contains the hadoop client settings in `conf/kyuubi-env.sh`.
+
+```bash
+echo "export HADOOP_CONF_DIR=/path/to/hadoop/conf" >> conf/kyuubi-env.sh
+```
+
+
+### javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)];
+
+
+### org.apache.hadoop.security.AccessControlException: Permission denied: user=hzyanqin, access=WRITE, inode="/user":hdfs:hdfs:drwxr-xr-x
+
+```
+org.apache.hadoop.security.AccessControlException: Permission denied: user=hzyanqin, access=WRITE, inode="/user":hdfs:hdfs:drwxr-xr-x
+	at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:350)
+	at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:251)
+	at org.apache.ranger.authorization.hadoop.RangerHdfsAuthorizer$RangerAccessControlEnforcer.checkPermission(RangerHdfsAuthorizer.java:306)
+	at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:189)
+	at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1767)
+	at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1751)
+	at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkAncestorAccess(FSDirectory.java:1710)
+	at org.apache.hadoop.hdfs.server.namenode.FSDirMkdirOp.mkdirs(FSDirMkdirOp.java:60)
+	at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:3062)
+	at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.mkdirs(NameNodeRpcServer.java:1156)
+	at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.mkdirs(ClientNamenodeProtocolServerSideTranslatorPB.java:652)
+	at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
+	at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:503)
+	at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989)
+	at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:871)
+	at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:817)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.security.auth.Subject.doAs(Subject.java:422)
+	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1893)
+	at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2606)
+
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
+	at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
+	at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73)
+	at org.apache.hadoop.hdfs.DFSClient.primitiveMkdir(DFSClient.java:3007)
+	at org.apache.hadoop.hdfs.DFSClient.mkdirs(DFSClient.java:2975)
+	at org.apache.hadoop.hdfs.DistributedFileSystem$21.doCall(DistributedFileSystem.java:1047)
+	at org.apache.hadoop.hdfs.DistributedFileSystem$21.doCall(DistributedFileSystem.java:1043)
+	at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
+	at org.apache.hadoop.hdfs.DistributedFileSystem.mkdirsInternal(DistributedFileSystem.java:1061)
+	at org.apache.hadoop.hdfs.DistributedFileSystem.mkdirs(DistributedFileSystem.java:1036)
+	at org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:1881)
+	at org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:600)
+	at org.apache.spark.deploy.yarn.Client.prepareLocalResources(Client.scala:441)
+	at org.apache.spark.deploy.yarn.Client.createContainerLaunchContext(Client.scala:876)
+	at org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:196)
+	at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:60)
+	at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:201)
+	at org.apache.spark.SparkContext.<init>(SparkContext.scala:555)
+	at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2574)
+	at org.apache.spark.sql.SparkSession$Builder.$anonfun$getOrCreate$2(SparkSession.scala:934)
+	at scala.Option.getOrElse(Option.scala:189)
+	at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:928)
+	at org.apache.kyuubi.engine.spark.SparkSQLEngine$.createSpark(SparkSQLEngine.scala:72)
+	at org.apache.kyuubi.engine.spark.SparkSQLEngine$.main(SparkSQLEngine.scala:101)
+	at org.apache.kyuubi.engine.spark.SparkSQLEngine.main(SparkSQLEngine.scala)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
+	at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:928)
+	at org.apache.spark.deploy.SparkSubmit$$anon$1.run(SparkSubmit.scala:165)
+	at org.apache.spark.deploy.SparkSubmit$$anon$1.run(SparkSubmit.scala:163)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.security.auth.Subject.doAs(Subject.java:422)
+	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1746)
+	at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:163)
+	at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:203)
+	at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:90)
+	at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1007)
+	at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1016)
+	at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
+```
+
+The user do not have permission to create to Hadoop home dir, which is `/user/hzyanqin` in the case above.
+
+To fix this problem you need to create this directory first and grant ACL permission for `hzyanqin`.
+
+
+### org.apache.thrift.TApplicationException: Invalid method name: 'get_table_req'
+
+```
+Caused by: org.apache.thrift.TApplicationException: Invalid method name: 'get_table_req'
+	at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:79)
+	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_table_req(ThriftHiveMetastore.java:1567)
+	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_table_req(ThriftHiveMetastore.java:1554)
+	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:1350)
+	at org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.getTable(SessionHiveMetaStoreClient.java:127)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:173)
+	at com.sun.proxy.$Proxy37.getTable(Unknown Source)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient$SynchronizedHandler.invoke(HiveMetaStoreClient.java:2336)
+	at com.sun.proxy.$Proxy37.getTable(Unknown Source)
+	at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:1274)
+	... 93 more
+```
+
+This error means that you are using incompatible version of Hive metastore client to connect the Hive metastore server.
+
+To fix this problem you could use a compatible version for Hive client by configuring
+`spark.sql.hive.metastore.jars` and `spark.sql.hive.metastore.version` at Spark side.
+
+
+### hive.server2.thrift.max.worker.threads
+
+```
+Unexpected end of file when reading from HS2 server. The root cause might be too many concurrent connections. Please ask the administrator to check the number of active connections, and adjust hive.server2.thrift.max.worker.threads if applicable.
+Error: org.apache.thrift.transport.TTransportException (state=08S01,code=0)
+```
+
+In Kyuubi, we should increase `kyuubi.frontend.min.worker.threads` instead of `hive.server2.thrift.max.worker.threads`
+
+### Failed to create function using jar
+`CREATE TEMPORARY FUNCTION TEST AS 'com.netease.UDFTest' using jar 'hdfs:///tmp/udf.jar'`
+
+```
+Error operating EXECUTE_STATEMENT: org.apache.spark.sql.AnalysisException: Can not load class 'com.netease.UDFTest' when registering the function 'test', please make sure it is on the classpath;
+	at org.apache.spark.sql.catalyst.catalog.SessionCatalog.$anonfun$registerFunction$1(SessionCatalog.scala:1336)
+	at scala.Option.getOrElse(Option.scala:189)
+	at org.apache.spark.sql.catalyst.catalog.SessionCatalog.registerFunction(SessionCatalog.scala:1333)
+	at org.apache.spark.sql.execution.command.CreateFunctionCommand.run(functions.scala:82)
+	at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:70)
+	at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:68)
+	at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:79)
+	at org.apache.spark.sql.Dataset.$anonfun$logicalPlan$1(Dataset.scala:229)
+	at org.apache.spark.sql.Dataset.$anonfun$withAction$1(Dataset.scala:3618)
+	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$5(SQLExecution.scala:100)
+	at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:160)
+	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$1(SQLExecution.scala:87)
+	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:764)
+	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:64)
+	at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3616)
+	at org.apache.spark.sql.Dataset.<init>(Dataset.scala:229)
+	at org.apache.spark.sql.Dataset$.$anonfun$ofRows$2(Dataset.scala:100)
+	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:764)
+	at org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:97)
+	at org.apache.spark.sql.SparkSession.$anonfun$sql$1(SparkSession.scala:607)
+	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:764)
+	at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:602)
+	at org.apache.kyuubi.engine.spark.operation.ExecuteStatement.org$apache$kyuubi$engine$spark$operation$ExecuteStatement$$executeStatement(ExecuteStatement.scala:64)
+	at org.apache.kyuubi.engine.spark.operation.ExecuteStatement$$anon$1.run(ExecuteStatement.scala:80)
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
+	at java.lang.Thread.run(Thread.java:745)
+```
+
+If you get this exception when creating a function, you can check your JDK version.
+You should update JDK to JDK1.8.0_121 and later, since JDK1.8.0_121 fix a security issue [Additional access restrictions for URLClassLoader.newInstance](https://www.oracle.com/java/technologies/javase/8u121-relnotes.html).
+
+### Failed to start Spark 3.1 with error msg 'Cannot modify the value of a Spark config'
+Here is the error message
+```
+Caused by: org.apache.spark.sql.AnalysisException: Cannot modify the value of a Spark config: spark.yarn.queue
+	at org.apache.spark.sql.RuntimeConfig.requireNonStaticConf(RuntimeConfig.scala:156)
+	at org.apache.spark.sql.RuntimeConfig.set(RuntimeConfig.scala:40)
+	at org.apache.kyuubi.engine.spark.session.SparkSQLSessionManager.$anonfun$openSession$2(SparkSQLSessionManager.scala:68)
+	at org.apache.kyuubi.engine.spark.session.SparkSQLSessionManager.$anonfun$openSession$2$adapted(SparkSQLSessionManager.scala:56)
+	at scala.collection.immutable.Map$Map4.foreach(Map.scala:236)
+	at org.apache.kyuubi.engine.spark.session.SparkSQLSessionManager.openSession(SparkSQLSessionManager.scala:56)
+	... 12 more
+```
+
+This is because Spark-3.1 will check the config which you set and throw exception if the config is static or used in other module (e.g. yarn/core).
+
+You can add a config `spark.sql.legacy.setCommandRejectsSparkCoreConfs=false` in `spark-defaults.conf` to disable this behavior.
diff --git a/content/docs/latest/_sources/overview/architecture.md.txt b/content/docs/latest/_sources/overview/architecture.md.txt
new file mode 100644
index 0000000..ccc52fe
--- /dev/null
+++ b/content/docs/latest/_sources/overview/architecture.md.txt
@@ -0,0 +1,182 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Kyuubi Architecture
+
+## Introduction
+
+Kyuubi is a high-performance universal JDBC and SQL execution engine. The goal of Kyuubi is to facilitate users to handle big data like ordinary data.
+
+It provides a standardized JDBC interface with easy-to-use data access in big data scenarios.
+End-users can focus on developing their business systems and mining data value without being aware of the underlying big data platform (compute engines, storage services, metadata management, etc.).
+
+Kyuubi relies on Apache Spark to provide high-performance data query capabilities,
+and every improvement in the engine's capabilities can help Kyuubi's performance make a qualitative leap.
+Besides, Kyuubi improves ad-hoc responsiveness through the way of engine caching,
+and enhances concurrency through horizontal scaling and load balancing.
+
+It provides complete authentication and authentication services to ensure data and metadata security.
+
+It provides robust high availability and load-balancing to help you guarantee the SLA commitment.
+
+It provides a two-level elastic resource management architecture to effectively improve resource utilization while covering the performance and response requirements of all scenarios, including interactive,
+or batch processing and point queries or full table scans.
+
+It embraces Spark and builds an ecosystem on top of it,
+which allows Kyuubi to expand its existing ecosystem and introduce new features quickly,
+such as cloud-native support and `Data Lake/Lake House` support.
+
+Kyuubi's vision is to build on top of Apache Spark and Data Lake technologies to unify the portal and become an ideal data lake management platform.
+It can support data processing e.g. ETL, and analytics e.g. BI, in a pure SQL way.
+All workloads can be done on one platform, using one copy of data, with one SQL interface.
+
+## Architecture Overview
+
+The fundamental technical architecture of the Kyuubi system is shown in the following diagram.
+
+![](../imgs/kyuubi_architecture_new.png)
+
+The middle part of the diagram shows the Kyuubi server's main component, which handles the clients' connection and execution requests shown in the left part of the image. Within Kyuubi,
+these connection requests are maintained as the Kyuubi session's,
+and execution requests are supported as the Kyuubi Operation's which are bound to the corresponding sessions.
+
+The creation of a `Kyuubi Session` can be divided into two cases: lightweight and heavyweight.
+Most session creations are lightweight and user-unaware.
+The only heavyweight case is when there is no `SparkContext` instantiated or cached in the user's shared domain,
+which usually happens when the user is connecting for the first time or has not connected for a long time.
+This one-time cost session maintenance model can meet most of the ad-hoc fast response requirements.
+
+Kyuubi maintains connections to `SparkConext` in a loosely coupled fashion. These `SparkContexts` can be Spark programs created locally in client deploy mode by this service instance,
+or in Yarn or Kubernetes clusters in cluster deploy mode.
+In highly available mode, these `SparkConexts` can also be created by other Kyuubi instances on different machines and shared by this instance.
+
+These `SparkConexts` instances are essentially remote query execution engine programs hosted by Kyuubi services.
+These programs are implemented on Spark SQL and compile, optimize, and execute SQL statements end-to-end and the necessary interaction with the metadata (e.g. Hive Metastore) and storage (e.g. HDFS) services,
+maximizing the power of Spark SQL.
+They can manage their lifecycle, cache and recycle themselves,
+and are not affected by failover on the Kyuubi server.
+
+Next, let us share some of the key design concepts of Kyuubi.
+
+## Unified Interface
+
+Kyuubi implements the [Hive Service RPC](https://mvnrepository.com/artifact/org.apache.hive/hive-service-rpc/2.3.7) module,
+which provides the same way of accessing data as HiveServer2 and Spark Thrift Server.
+On the client side,you can build fantastic business reports, BI applications, or even ETL jobs only via the [Hive JDBC](https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc/2.3.7) module.
+
+You only need to be familiar with Structured Query Language (SQL) and Java Database Connectivity (JDBC) to handle massive data.
+It helps you focus on the design and implementation of your business system.
+
+- SQL is the standard language for accessing relational databases and very popular in big data eco too.
+  It turns out that everybody knows SQL.
+- JDBC provides a standard API for tool/database developers and makes it possible to write database applications using a pure Java API.
+- There are plenty of free or commercial JDBC tools out there.
+
+## Runtime Resource Resiliency
+
+The most significant difference between Kyuubi and Spark Thrift Server(STS) is that STS is a single Spark application.
+For example, if it runs on an Apache Hadoop Yarn cluster,
+this application is also a single Yarn application that can only exist in a specific fixed queue of the Yarn cluster after it is created.
+Kyuubi supports the submission of multiple Spark applications.
+
+Yarn loses its role as a resource manager for resource management and does not play the corresponding role of resource isolation and sharing.
+When users from the client have different resource queue permissions,
+STS will not be able to handle it in this case.
+
+For data access, a single Spark application has only one user globally,
+a.k.a. `sparkUser`, and we have to grant it a superuser-like role to allow it to perform data access to different client users,
+which is a too insecure practice in production environments.
+
+Kyuubi creates different Spark applications based on the connection requests from the client,
+and these applications can be placed in different shared domains for other connection requests to share.
+
+Kyuubi does not occupy any resources from the Cluster Manager(e.g. Yarn) during startup and will give all resources back if there
+is not any active session interacting with a `SparkContext`.
+
+Spark also provides [Dynamic Resource Allocation](http://spark.apache.org/docs/latest/job-scheduling.html#dynamic-resource-allocation) to dynamically adjust the resources your application occupies based on the workload. It means
+that your application may give resources back to the cluster if they are no longer used and request them again later when
+there is demand. This feature is handy if multiple applications share resources in your Spark cluster.
+
+With these features, Kyuubi provides a two-level elastic resource management architecture to improve resource utilization effectively.
+
+For example,
+
+```shell
+./beeline - u 'jdbc:hive2://kyuubi.org:10009/; \
+  hive.server2.proxy.user=tom# \
+  spark.yarn.queue=thequeue; \
+  spark.dynamicAllocation.enabled=true \
+  spark.dynamicAllocation.maxExecutors=500 \
+  spark.shuffle.service.enabled=true \
+  spark.executor.cores=3; \
+  spark.executor.memory=10g'
+
+```
+
+If the user named `tom` opens a connection like above, Kyuubi will try to create a Spark SQL engine application with [3, 500] executors (3 cores, 10g mem each) in the queue named `thequeue` in the Yarn cluster.
+
+On the one hand, because tom enables Spark's dynamic resource request feature,
+Spark will efficiently request and recycle executors within the program based on the SQL operations scale and the available resources in the queue.
+On the other hand, when Kyuubi finds that the application has been idle for too long, it will also recycle its application.
+
+
+## High Availability & Load Balance
+
+For an enterprise service, the Service Level Agreement(SLA) commitment must be very high.
+And the concurrency needs to be sufficiently robust to support the entire enterprise's requests.
+As a single Spark application and without high availability, Spark Thrift Server can hardly meet the SLA and concurrency requirement.
+When there are large query requests, there are potential bottlenecks in metadata service access, scheduling and memory pressure of Spark Driver, or the application's overall computational resource constraints.
+
+Kyuubi provides high availability and load balancing solutions based on Zookeeper, as shown in the following diagram.
+
+![](../imgs/ha.png)
+
+Let us try to break it down from top to bottom based on the above diagram.
+
+1. At the top of the diagram is the client layer. A client can find multiple registered instances of Kyuubi instance (k.i.) from the namespace in the service discovery layer and then choose to connect.
+   Kyuubi instances registered to the same namespace provide the ability to load balance each other.
+
+2. The selected Kyuubi instance will pick an available engine instance (e.i.) from the engine-namespace in the service discovery layer to establish a connection.
+   If no available instance is found, it will create a new one, wait for the engine to finish registering, and then proceed to connect.
+
+3. If the same person requests a new connection, the connection will be set up to the same or another Kyuubi instance, but the engine instance will be reused.
+
+4. For connections from different users, the step 2 and 3 will be repeated.
+   This is because in the service discovery layer,
+   the namespaces used to store the address of the engine instances are isolated based on the user(by default),
+   and different users cannot access other' s instances across the namespace.
+
+## Authentication & Authorization
+
+In a secure cluster, services should be able to identify and authenticate callers.
+As the fact that the user claims does not necessarily mean this is true.
+The authentication process of Kyuubi is used to verify the user identity that a client used to talk to the Kyuubi server.
+Once done, a trusted connection will be set up between the client and server if they are successful; otherwise, they will be rejected.
+
+The authenticated client user will also be the user that creates the associate engine instance, then authorizations for database objects or storage could be applied.
+We also create a [Submarine: Spark Security](https://mvnrepository.com/artifact/org.apache.submarine/submarine-spark-security) external plugin to achieve fined-grained SQL standard-based authorization.
+
+## Conclusions
+
+Kyuubi is a unified multi-tenant JDBC interface for large-scale data processing and analytics, built on top of [Apache Spark™](http://spark.apache.org/).
+It extends the Spark Thrift Server's scenarios in enterprise applications, the most important of which is multi-tenancy support.
diff --git a/content/docs/latest/_sources/overview/index.rst.txt b/content/docs/latest/_sources/overview/index.rst.txt
new file mode 100644
index 0000000..1dcaf11
--- /dev/null
+++ b/content/docs/latest/_sources/overview/index.rst.txt
@@ -0,0 +1,28 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../imgs/kyuubi.png
+   :align: center
+
+Overview
+========
+
+
+.. toctree::
+    :maxdepth: 2
+
+    Architecture <architecture>
+    kyuubi_vs_hive
+    kyuubi_vs_thriftserver
diff --git a/content/docs/latest/_sources/overview/kyuubi_vs_hive.md.txt b/content/docs/latest/_sources/overview/kyuubi_vs_hive.md.txt
new file mode 100644
index 0000000..c8c9b37
--- /dev/null
+++ b/content/docs/latest/_sources/overview/kyuubi_vs_hive.md.txt
@@ -0,0 +1,53 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Kyuubi v.s. HiveServer2
+
+
+## Introduction
+
+HiveServer2 is a service that enables clients to execute Hive QL queries on Hive supporting multi-client concurrency and authentication.
+Kyuubi enables clients to execute Spark SQL queries directly on Spark supporting multi-client concurrency and authentication too.
+
+They are both designed to provide better support for open API clients like JDBC and ODBC to manage and analyze BigData.
+
+
+## Hive on Spark
+
+The purpose of Hive on Spark is to add Spark as a third execution backend, parallel to MR and Tez.
+Comparing to Hive on MR, it the Spark DAG will help improve the performance of Hive queries, especially those
+have multiple reducer stages.
+
+
+
+
+## Differences Between Kyuubi and HiveServer2
+
+- | Kyuubi | HiveServer2 |
+--- | --- | ---
+** Language ** | Spark SQL | Hive QL
+** Optimizer ** | Spark SQL Catalyst | Hive Optimizer
+** Engine ** | up to Spark 3.x | MapReduce/[up to Spark 2.3](https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started#HiveonSpark:GettingStarted-VersionCompatibility)/Tez
+** Performance ** | High | Low
+** Compatibility with Spark ** | Good | Bad(need to rebuild on a specific version)
+** Data Types ** | [Spark Data Types](http://spark.apache.org/docs/latest/sql-ref-datatypes.html) |  [Hive Data Types](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types)
+
+
+## Performance
+## References
+
+1. [HiveServer2 Overview](https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Overview)
diff --git a/content/docs/latest/_sources/overview/kyuubi_vs_thriftserver.md.txt b/content/docs/latest/_sources/overview/kyuubi_vs_thriftserver.md.txt
new file mode 100644
index 0000000..5f28477
--- /dev/null
+++ b/content/docs/latest/_sources/overview/kyuubi_vs_thriftserver.md.txt
@@ -0,0 +1,263 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Kyuubi v.s. Spark Thrift JDBC/ODBC Server (STS)
+
+## Introductions
+
+The Apache Spark [Thrift JDBC/ODBC Server](http://spark.apache.org/docs/latest/sql-distributed-sql-engine.html) is a Thrift service implemented by the Apache Spark community based on HiveServer2.
+Designed to be seamlessly compatible with HiveServer2, it provides Spark SQL capabilities to end-users in a pure SQL way through a JDBC interface.
+This "out-of-the-box" model minimizes the barriers and costs for users to use Spark. 
+
+Kyuubi and Spark are aligned in this goal.
+On top of that, Kyuubi has made enhancements in multi-tenant support, service availability, service concurrency capability, data security, and other aspects.
+
+### Barriers to common Spark job usage
+
+In this part, the most fundamental one is how we define a `Spark User`.
+Generally speaking, a Spark user is a guy that calls Spark APIs directly,
+but from Kyuubi and Spark ThriftServer's perspective,
+the direct API calls occur on the server-side,
+then a Spark user indirectly interacts with Spark's backend through the more common JDBC specification and protocols.
+With JDBC and SQL, Kyuubi and Spark ThriftServer make users experience the same way that interacts with most of the world's popular modern DBMSes.
+
+Using Spark APIs directly is flexible for programmers with a bigdata background but may not be friendly for everyone.
+
+#### High Barrier
+
+Users need a certain programming framework to use Spark through the Scala/Java/Python interfaces provided by Spark.
+Also, users need to have a good background in big data.
+For example, users need to know which platform their application will be submitted to, YARN, Kubernetes, or others.
+They also need to be aware of the resource consumption of their jobs, for example, executor numbers, memory for each executor.
+If they use too many resources, will it affect other critical tasks?
+Otherwise, will the cluster's resources be idle and wasted?
+It is also hard for users to set up thousands of Spark configurations properly.
+Key features like [Dynamic Resource Allocation](../deployment/spark/dynamic_allocation.md), Speculation might be hard to benefit all with a one-time setup.
+And new features like [Adaptive Query Execution](../deployment/spark/aqe.md) could come a long way from the first release involved of Spark to finally get applied to end-users. 
+
+#### Insecurity
+
+Users can access metadata and data by means of code, and data security cannot be guaranteed.
+All client configurations need to be handed over to the user directly or indirectly.
+These configurations may contain sensitive information and let all the backend services be completely exposed to the users.
+For example, in terms of data security, the [Submarine Spark Security Plugin](https://submarine.apache.org/docs/userDocs/submarine-security/spark-security/README) provides SQL Standard ACL Management for Apache Spark SQL with Apache Ranger.
+But in the end, this kind of security feature is at most a "gentleman's agreement" in front of programmers who can write code to submit jobs via Spark code.
+
+#### Compatibility
+
+Client-side compatibility is difficult to guarantee.
+When a user's Spark job is finally scheduled to run on a cluster, it faces problems such as inconsistencies between the client environment and the cluster environment, conflicts between user job dependencies, Spark dependencies, and Hadoop cluster dependencies.
+When we upgrade the server-side staffs, such as Spark, Hive, and YARN, etc., it is also necessary to upgrade all of the user clients with transitive dependencies as much as possible, which may introduce a lot of unnecessary compatibility testing work, and it is hard to have complete test coverage.
+
+#### Bootstrap latency
+
+For long-running Spark applications, the bootstrap time is negligible compared to the total lifecycle, such as Spark Structured Streaming.
+In this case, the task scheduling and computing are fully thread-level with low latency and fast response.
+For short-term ones, the bootstrap time counts, such as the `SparkPi`.
+Relatively speaking, this process is very time-consuming, especially for some second-and minute-level computation tasks.
+
+Spark ThriftServer is essentially a Spark application in a multi-threaded scenario.
+It pre-starts a distributed SQL engine consisting of a driver and multiple executors at runtime.
+At the SQL parsing layer, the service takes full advantage of the Spark SQL optimizer,
+and at the computation execution layer, since Spark ThriftServer is resident, there is no bootstrap overhead, and when [DRA](../deployment/spark/dynamic_allocation.md) is not enabled, the entire SQL computation process is in pure threaded scheduling model with excellent performance.
+
+![](../imgs/spark/sts.png)
+
+The JDBC connections and operations are handled by the frontend thread pool as various requests.
+And the corresponding methods of the backend are called to bind to the `SparkSession` related interface.
+For example, the `DriverManager.getConnection` at the client-side will invoke `SparkSession.newSession()` at the server-side,
+and all queries from the client-side will be submitted to the backend thread pool asynchronously and executed by `SparkSession.sql(...)`.
+
+First, in this mode, users can interact with Spark ThriftServer through simple SQL language and JDBC interface to implement their own business logic.
+The basic capacity planning of Spark ThriftServer, the consolidation of underlying services, and all the optimizations can all be made on the server-side.
+Some people may think that only using SQL does not meet all the business, that's true, but the service itself is targeting users that migrating from HiveServer2 for the reason of query speed.
+With UDF/UDAF support, Some complex logic can still be fulfilled, so basically,  Spark ThriftServer is able to deal with most of the big data processing workloads.
+
+Secondly, all the setups for backend services, such as YARN, HDFS, and Hive Metastore Server(HMS), are completed in Spark ThriftServer, so there is no need to hand over the configuration of the backend services to the end-users.
+This ensures data security to a certain extent.
+On top of that, the server generally has the ability to do authentication/authorization and other assurance to protect data security.
+
+Finally, the JDBC interface protocol and C/S architecture under the server-side backward compatibility constraints basically ensure that there will be no client-side compatibility obstacles.
+Users only need to choose the appropriate version of the JDBC driver.
+The server-side upgrade will not cause interface incompatibility.
+As for the potential SQL compatibility problem in Spark version upgrade, it also exists when not using Spark ThriftServer, and is more challenging to solve.
+Moreover, in Spark ThriftServer mode, the server-side can do the full amount of SQL collection in advance, and the verification can be done before the upgrade.
+
+
+## Limitations of Spark ThriftServer
+
+As we can see from the basic architecture of Spark ThriftServer above, it is essentially a single Spark application, and there are generally significant limitations to responding to thousands of client requests.
+
+### Driver Bottleneck
+
+The Spark Driver has to both play the role of the scheduler of a Spark application and also the handler of thousands of connections and operations from the client-side.
+In this case,  it is very likely to hit its bottleneck.
+The Hive metastore client on which the Spark analyzer depends for resolving all queries is one and only, so there will be more obvious concurrency issues when accessing the HMS.
+
+### Resource isolation issues
+
+Over-sized Spark jobs encroach on too many of Spark ThriftServer resources, causing other jobs to delay or get stuck.
+
+![](../imgs/spark/hang.png)
+
+With Fair Scheduler Pools, Spark ThriftServer has the ability of resource isolation and sharing to a certain extent.
+It will send queries to a high-weight pool to get more executors for execution.
+In essence, resource isolation such as CPU/memory/IO should be something that resource managers like YARN and Kubernetes should do.
+Doing logical isolation at the computing layer is unlikely to work well, and this problem exists in the Apache Impala project as well, for example.
+And it is difficult to avoid the problem of HMS, HDFS  single point access, especially in the scenario of reading and writing dynamic partition tables or handling queries with numerous `Union`s. 
+
+### Multi-tenancy limitations
+
+Spark ThriftServer itself should be a multi-tenant-enabled system, i.e., it can accept requests from different clients and users.
+However, from Spark's design point of view, Spark ThriftServer implemented in a single Spark application cannot fully support multi-tenancy because the entire application has only a globally unique username, including both the driver side, and the executor side.
+So, it has to access all users' data with a single tenant.
+
+Spark ThriftServer occupies a single resource queue (YARN Queue / Kubernetes Namespace), making it difficult to control the resource pool's size available to each tenant in a fine-grained or elastic way from the perspective of resource isolation and sharing.
+No one would like to restart the server and stop it from serving to adjust some pool's weight or increase the total computing resources.
+
+### High Availability Limitations
+
+The community edition of Spark ThriftServer does not support High Availability (HA).
+It is hard to imagine whether a server-side application without high availability can support the SLA commitment.
+It's not that difficult to apply an HA implementation to Spark ThriftServer, but tricky.
+For example, there is already a [JIRA ticket: SPARK-11100](https://issues.apache.org/jira/browse/SPARK-11100) with a pull request attached, see [SPARK-11100].
+There are generally two ways for the HA implementation of Spark ThriftServer, namely `Active/Standby` and `LoadBalancing`.
+
+The Active/Standby mode consists of active Spark ThriftServer and several standby servers.
+When the active crashes or hangs, the standby nodes trigger the leader selection to become the new active one to take over.
+The problems here are undeniable:
+There is only one active node runtime, so the concurrency capability is limited.
+When a failover occurs due to hardware and software failure, all current connections and running jobs will fail.
+This kind of failover is expensive for client-side users.
+The clients will retry simultaneously, so it's hard for the new elected active server to handle the coming flood of client retries.
+It's very likely to crash again.
+The Standby node causes serious waste of cluster resources, whether Spark dynamic resource allocation is enabled or not.
+A more appropriate approach to solve the server-side single-point problem is to add LoadBalancing support of your own.
+So that when client requests increase, we can expand Spark ThriftServer horizontally. However, this model also has some limitations.
+Each Spark ThriftServer is stateful with transient data or functionalities, such as some global temporary views, UDFs, etc., which cannot be shared between two servers.
+And it's expensive to expand with computing resources together.
+
+### UDF Issues
+
+For operations like `ADD JAR ...` or `CREATE TEMPORARY FUNCTION  ... USING...`, classes or jars might conflict in the Spark ThriftServer.
+And there is no such way for deleting when conflicts.
+Besides, since UDFs are loaded directly into the Spark ThriftServer, if they contain some unintentional or malicious logic, such as calling `System.exit(-1)`, which may kill the service directly, or some operations that affect the server behavior globally like Kerberos authentication.
+
+## Kyuubi VS Spark Thrift Server
+
+The HiveServer2 is also introduced here for a more comprehensive comparison.
+
+
+|| HiveServer2 <br/>(Hive on Spark) | Spark ThriftServer | Kyuubi |
+|--|--|--|--|
+|**Interface** | HiveJDBC | HiveJDBC | HiveJDBC |
+|**SQL<br/>Syntax** | Hive QL | Spark SQL | Spark SQL |
+|**SQL<br/>Optimizer** | Hive Optimizer | Spark SQL<br/>Catalyst | Spark SQL<br/>Catalyst |
+|**SQL<br/>Parsing & Planing** | Server Side | Server Side | Engine Side |
+|**UDF<br/>Loading** | Server Side | Server Side | Engine Side |
+|**Job<br/>Submission** | A query is<br/>split into<br/>multiple<br/>Spark<br/>applications,<br/>called<br/>`RemoteDriver` | within the server | Using Kyuubi Engines with different<br/> policies for isolation<br/> 1. `USER` level isolation, where different JDBC connections of the same user share the Engine belonging to the user <br/> 2. `CONNECTION` level isolation, where one JDBC connection has one Engine, and the same Engine executes all SQL within a connection |
+|**Spark<br/>Compatibility** | Single<br/>version-specific | Builtin| Multi-versions |
+|**Catalog<br/>Management**| HMS | HMS | HMS | HMS, various data lake frameworks and third-party catalogs |
+|**High<br/>Availability** | Yes | No | Yes | Yes|
+|**Multi<br/>tenancy** | Yes | No | Yes|
+|**Permission<br/>Control** | SQL Standard,<br/>Fine-Grained | No | SQL Standard,<br/>Fine-Grained |
+|**Performance** | Fair | Good | Good |
+|**Client<br/>Concurrency** | High | Low | High
+|**Queuing** | for queries | None | for Engines|
+|**Resource<br/>Setting** | for queries | for pools | for Engines|
+|**Compute<br/>Resource<br/>Management** | YARN |pools| YARN, Kubernetes, etc. |
+|**Resource<br/>Occupancy<br/>Time** | within a query | Permanent | Using Kyuubi Engine to request and<br/> release resources<br/> 1. For `CONNECTION` level isolation, an Engine terminates when a JDBC connection disconnects <br/> 2. For other modes, an Engine timeouts after all connections disconnect. <br/> 3. All isolation modes support [DRA](../deployment/spark/dynamic_allocation.md)<br/>|
+
+###  Consistent Interfaces
+
+Kyuubi, Spark Thrift Server, and HiveServer2 are identical in terms of interfaces and protocols.
+Therefore, from the user's point of view, the way of use is unchanged.
+Compared with HiveServer2, the most significant advantage of the first two should be the performance improvement. 
+
+From the perspective of SQL syntax compatibility, Kyuubi and Spark Thrift Server are fully compatible with Spark SQL as they are completely delegated to the Spark SQL Catalyst layer.
+Spark SQL also fully supports Hive QL collections, with only a few enumerable SQL behaviors and syntax differences.
+
+
+### Multi-tenant Architecture
+
+`From wikipedia`: The term "software multitenancy" refers to a software architecture in which a single instance of the software runs on a server and serves multiple tenants. Systems designed in such a manner are often called shared (in contrast to dedicated or isolated).
+
+Kyuubi, Spark ThriftServer, and HiveServer2 have been designed for a typical multi-tenant architecture scenario.
+
+Firstly, we need to consider how to 1) make safer and more efficient use of these compute resources based on resource isolation and 2) how to give users enough control over their own resources.
+
+HiveServer2 is supposed to be the most flexible one.
+Each SQL is programmed into several Spark applications for execution, and the resource queue, memory, and others can be set before execution.
+But this approach leads to extremely high Spark bootstrap latency and can not efficiently utilize resources.
+
+Spark ThriftServer goes in the opposite direction because there is only one Spark application.
+It is impossible to adjust the queue, memory, and other resource-related configs from the user side interface as it is already pre-started.
+Queries can be sent to pre-set `Fair Scheduler Pools` for running in isolation.
+The `Fair Scheduler Pools` can only provide low isolation within a Spark application and be configured before Spark ThriftServer starts.
+
+Kyuubi has neutralized these aspects with two other system implementations.
+Kyuubi applies the multi-tenant feature based on the concept of Kyuubi Engines, where an Engine is a Spark application.
+
+In Kyuubi's system, the Engines are isolated according to tenants.
+The tenant, a.k.a. user, is unified and end-to-end unique through a JDBC connection.
+Kyuubi server will identify and authenticate the user and then retrieve or create an Engine belonging to this particular user.
+This user will be used as the submitter for Engine, and it must have authority to use the resources from YARN, Kubernetes, or just Local machine, e.t.c.
+Inside an Engine, the Engine's user, a.k.a. `Spark User`, will also be the same.
+When an Engine runs queries received from the JDBC connection, the Engine's user must also have rights to access the data.
+Besides, if it needs access to metadata during this process, then we can also add a fine-grained SQL standard ACL management on the metadata layer now with [Submarine Spark Security Plugin](https://submarine.apache.org/docs/userDocs/submarine-security/spark-security/README).
+
+The Engines have their lifecycle, which is related to the `kyuubi.session.engine.share.level` specified via client configurations.
+For example, if set to `CONNECTION`, then the corresponding Engine will be created for each JDBC connection and terminates itself when we close the connection.
+For another example, if set to `USER`,  the corresponding Engine is cached and shared with all JDBC connections from the same user, even through different Kyuubi servers in HA mode.
+The Engine will eventually timeout after all the sessions are closed.
+
+As we need to create Engines, on the one hand, we can configure all the Spark configurations during startup.
+On the other hand, it does bring the Spark application bootstraps overhead here, but overall, it is just a one-time cost.
+All queries or connections of the Engine's user will share this application.
+The more queries it runs, the lower the bootstraps overhead is.
+
+### High Availability Capabilities
+
+The HA issues in Spark ThriftServer have already been covered in the previous section so that we won't go over them here again. In Kyuubi, we provide HA in the way of `LoadBlancing`.  Kyuubi is lightweight, as it does not create any Engine when it starts.
+It's cheap to add Kyuubi HA nodes, so horizontal scaling is not overly burdensome.
+
+### Client Concurrency
+
+The compilation and optimization for queries in both HiveServer2 and Spark ThriftServer are done on the server-side.
+In contrast, Kyuubi will do these at the Engine-side.
+It is instrumental in reducing the workload of the server and improving client concurrency.
+For task scheduling that belongs to the compute phase also happens at Kyuubi's Engine side.
+It is not as heavy as the Spark ThriftServer, where there is an intense competition between the client concurrency and the task scheduling.
+In principle, the more executors there are, or the more significant the amount of data processed, the more pressure on the server-side.
+
+### Service Stability
+
+The intense competition between the client concurrency and the task scheduling increases GC issues and OOM risks of Spark ThriftServer.
+Kyuubi has no problem in this area due to the separation of the server and engines.
+The UDF risks cannot harm the stability of the service either.
+As if a user loads and calls an invalid UDF, which only damages its own Engine and will not affect other users or the Kyuubi server.
+
+## Summary
+
+Kyuubi extends the use of Spark ThriftServer in a multi-tenant model based on a unified interface and relies on the concept of multi-tenancy to interact with cluster managers to finally gain the ability of resources sharing/isolation and data security.
+The loosely coupled architecture of Kyuubi Server and Engine greatly improves the concurrency and service stability of the service itself.
diff --git a/content/docs/latest/_sources/quick_start/index.rst.txt b/content/docs/latest/_sources/quick_start/index.rst.txt
new file mode 100644
index 0000000..b536d3e
--- /dev/null
+++ b/content/docs/latest/_sources/quick_start/index.rst.txt
@@ -0,0 +1,34 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../imgs/kyuubi_logo.png
+   :align: center
+
+Quick Start
+===========
+
+In this section, you will learn how to setup and interact with kyuubi quickly.
+
+.. toctree::
+    :maxdepth: 2
+    :numbered: 3
+
+    quick_start
+    quick_start_with_dbeaver
+    quick_start_with_beeline
+    quick_start_with_jdbc
+    quick_start_with_datagrip
+    quick_start_with_hue
+
diff --git a/content/docs/latest/_sources/quick_start/quick_start.md.txt b/content/docs/latest/_sources/quick_start/quick_start.md.txt
new file mode 100644
index 0000000..bc27c18
--- /dev/null
+++ b/content/docs/latest/_sources/quick_start/quick_start.md.txt
@@ -0,0 +1,268 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<script async defer src="https://buttons.github.io/buttons.js"></script>
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Getting Started with Kyuubi
+
+
+## Getting Kyuubi
+
+Currently, Kyuubi maintains all releases on GitHub directly. You can get the most recent stable release of Kyuubi here:
+
+<a class="github-button" href="https://github.com/apache/incubator-kyuubi/releases" data-color-scheme="no-preference: light; light: dark; dark: light;" data-icon="octicon-download" data-size="large" aria-label="Download Kyuubi on GitHub">Download</a>
+
+## Requirements
+
+These are essential components required for Kyuubi to startup. For quick start deployment, the only thing you need is `JAVA_HOME` being correctly set. The Kyuubi release package you downloaded or built contains the rest prerequisites inside already.
+
+Components| Role | Optional | Version | Remarks
+--- | --- | --- | --- | ---
+Java | Java<br>Runtime<br>Environment | Required | 1.8 | Kyuubi is pre-built with Java 1.8
+Spark | Distribute<br>SQL<br>Engine | Optional | 3.0 and above | By default Kyuubi is pre-built w/<br> a Apache Spark release inside at<br> `$KYUUBI_HOME/externals`
+HDFS | Distributed<br>File<br>System |  Optional | referenced<br>by<br>Spark | Hadoop Distributed File System is a <br>part of Hadoop framework, used to<br> store and process the datasets.<br> You can interact with any<br> Spark-compatible versions of HDFS.
+Hive | Metastore | Optional | referenced<br>by<br>Spark | Hive Metastore for Spark SQL to connect
+Zookeeper | Service<br>Discovery | Optional | Any<br>zookeeper<br>ensemble<br>compatible<br>with<br>curator(2.7.1) | By default, Kyuubi provides a<br> embeded Zookeeper server inside for<br> non-production use.
+
+Additionally, if you want to work with other Spark compatible systems or plugins, you only need to take care of them as using them with regular Spark applications. For example, you can run Spark SQL engines created by the Kyuubi on any cluster manager, including YARN, Kubernetes, Mesos, e.t.c... Or, you can manipulate data from different data sources with the Spark Datasource API, e.g. Delta Lake, Apache Hudi, Apache Iceberg, Apache Kudu and e.t.c...
+
+## Installation
+
+To install Kyuubi, you need to unpack the tarball. For example,
+
+```bash
+tar zxf kyuubi-1.0.2-bin-spark-3.0.1.tgz
+```
+
+This will result in the creation of a subdirectory named `kyuubi-1.0.2-bin-spark-3.0.1` shown below, where the `1.0.2` is the Kyuubi version, and `3.0.1` is the pre-built Spark version.
+
+```bash
+kyuubi-1.0.2-bin-spark-3.0.1
+├── LICENSE
+├── RELEASE
+├── bin
+│   └── kyuubi
+├── conf
+│   ├── kyuubi-defaults.conf
+│   ├── kyuubi-env.sh
+│   └── log4j.properties
+├── externals
+│   ├── engines
+│   └── spark-3.0.1-bin-hadoop2.7
+├── jars
+├── logs
+├── pid
+└── work
+```
+
+From top to bottom are:
+
+- LICENSE: the [APACHE LICENSE, VERSION 2.0](https://www.apache.org/licenses/LICENSE-2.0) we claim to obey.
+- RELEASE: the build information of this package
+- bin: the entry of the Kyuubi server with `kyuubi` as the startup script.
+- conf: all the defaults used by Kyuubi Server itself or creating a session with Spark applications.
+- externals
+  - engines: contains all kinds of SQL engines that we support, e.g. Apache Spark, Apache Flink(coming soon).
+  - spark-3.0.1-bin-hadoop2.7: a pre-downloaded official Spark release, used as default.
+- jars: packages needed by the Kyuubi server.
+- logs: Where the logs of the Kyuubi server locates.
+- pid: stores the PID file of the Kyuubi server instance.
+- work: the root of the working directories of all the forked sub-processes, a.k.a. SQL engines.
+
+
+## Running Kyuubi
+
+As mentioned above, for a quick start deployment, then only you need to be sure is that your java runtime environment is correct.
+
+### Setup JAVA
+
+You can either set it system-widely,  e.g. in the `.bashrc` file.
+
+```bash
+java -version
+java version "1.8.0_251"
+Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
+Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
+```
+
+Or, `export JAVA_HOME=/path/to/java` in the local os session.
+
+```bash
+export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.5.jdk/Contents/Home
+ java -version
+java version "11.0.5" 2019-10-15 LTS
+Java(TM) SE Runtime Environment 18.9 (build 11.0.5+10-LTS)
+Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode)
+
+```
+
+The recommended place to set `JAVA_HOME` is `$KYUUBI_HOME/conf/kyuubi-env.sh`, as the ways above are too flaky.
+The `JAVA_HOME` in `$KYUUBI_HOME/conf/kyuubi-env.sh` will take others' precedence.
+
+### Starting Kyuubi
+
+
+```bash
+bin/kyuubi start
+```
+
+It will print all essential environment variables on the screen during the server starts, and you may check whether they are expected.
+
+```logtalk
+Starting Kyuubi Server from /Users/kentyao/kyuubi/kyuubi-1.0.2-bin-spark-3.0.1
+Using kyuubi.sh environment file /Users/kentyao/kyuubi/kyuubi-1.0.2-bin-spark-3.0.1/conf/kyuubi-env.sh to initialize...
+JAVA_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home
+KYUUBI_HOME: /Users/kentyao/kyuubi/kyuubi-1.0.2-bin-spark-3.0.1
+KYUUBI_CONF_DIR: /Users/kentyao/kyuubi/kyuubi-1.0.2-bin-spark-3.0.1/conf
+KYUUBI_LOG_DIR: /Users/kentyao/kyuubi/kyuubi-1.0.2-bin-spark-3.0.1/logs
+KYUUBI_PID_DIR: /Users/kentyao/kyuubi/kyuubi-1.0.2-bin-spark-3.0.1/pid
+KYUUBI_WORK_DIR_ROOT: /Users/kentyao/kyuubi/kyuubi-1.0.2-bin-spark-3.0.1/work
+SPARK_HOME: /Users/kentyao/kyuubi/kyuubi-1.0.2-bin-spark-3.0.1/externals/spark-3.0.1-bin-hadoop2.7
+SPARK_CONF_DIR:
+HADOOP_CONF_DIR:
+Starting org.apache.kyuubi.server.KyuubiServer, logging to /Users/kentyao/kyuubi/kyuubi-1.0.2-bin-spark-3.0.1/logs/kyuubi-kentyao-org.apache.kyuubi.server.KyuubiServer-hulk.local.out
+Welcome to
+  __  __                           __
+ /\ \/\ \                         /\ \      __
+ \ \ \/'/'  __  __  __  __  __  __\ \ \____/\_\
+  \ \ , <  /\ \/\ \/\ \/\ \/\ \/\ \\ \ '__`\/\ \
+   \ \ \\`\\ \ \_\ \ \ \_\ \ \ \_\ \\ \ \L\ \ \ \
+    \ \_\ \_\/`____ \ \____/\ \____/ \ \_,__/\ \_\
+     \/_/\/_/`/___/> \/___/  \/___/   \/___/  \/_/
+                /\___/
+                \/__/
+
+```
+
+If all goes well, this will result in the creation of the Kyuubi server instance with a `PID` stored in `$KYUUBI_HOME/pid/kyuubi-<username>-org.apache.kyuubi.server.KyuubiServer.pid`
+
+Then, you can get the JDBC connection URL at the end of the log file, e.g.
+
+```
+FrontendService: Starting and exposing JDBC connection at: jdbc:hive2://localhost:10009/
+```
+
+If something goes wrong, you shall be able to find some clues in the log file too.
+
+Alternatively, it can run in the foreground, with the logs and other output written to stdout/stderr.
+Both streams should be captured if using a supervision system like `supervisord`.
+
+```bash
+bin/kyuubi run
+```
+
+## Using Hive Beeline
+
+Kyuubi server is compatible with Apache Hive beeline,
+and a builtin beeline tool can be found within the pre-built Spark package in the `$KYUUBI_HOME/externals` directory, e.g. `$KYUUBI_HOME/externals/spark-3.0.1-bin-hadoop2.7/bin/beeline`
+
+### Opening a Connection
+
+The command below will tell the Kyuubi server to create a session with itself.
+
+```logtalk
+bin/beeline -u 'jdbc:hive2://localhost:10009/'
+Connecting to jdbc:hive2://localhost:10009/
+Connected to: Spark SQL (version 1.0.2)
+Driver: Hive JDBC (version 2.3.7)
+Transaction isolation: TRANSACTION_REPEATABLE_READ
+Beeline version 2.3.7 by Apache Hive
+0: jdbc:hive2://localhost:10009/>
+```
+
+In this case, the session will create for the user named 'anonymous'.
+
+Kyuubi will create a Spark SQL engine application using `kyuubi-spark-sql-engine-<version>.jar`.
+It will cost a while for the application to be ready before fully establishing the session.
+Otherwise, an existing application will be resued, and the time cost here is negligible.
+
+Similarly, you can create a session for another user(or principal, subject, and maybe something else you defined), e.g. named `kentyao`,
+
+```bash
+bin/beeline -u 'jdbc:hive2://localhost:10009/' -n kentyao
+```
+
+The formerly created Spark application for user 'anonymous' will not be reused in this case, while a brand new application will be submitted for user 'kentyao' instead.
+
+Then, you can see 3 processes running in your local environment, including one `KyuubiServer` instance and 2 `SparkSubmit` instances as the SQL engines.
+
+```
+75730 Jps
+70843 KyuubiServer
+72566 SparkSubmit
+75356 SparkSubmit
+```
+### Execute Statements
+
+If the beeline session is successfully connected, then you can run any query supported by Spark SQL now. For example,
+
+```logtalk
+0: jdbc:hive2://localhost:10009/> select timestamp '2018-11-17';
+2020-11-02 20:51:49.019 INFO operation.ExecuteStatement:
+           Spark application name: kyuubi_kentyao_spark_20:44:57.240
+                 application ID:  local-1604321098626
+                 application web UI: http://10.242.189.214:64922
+                 master: local[*]
+                 deploy mode: client
+                 version: 3.0.1
+           Start time: 2020-11-02T12:44:57.398Z
+           User: kentyao
+2020-11-02 20:51:49.501 INFO codegen.CodeGenerator: Code generated in 13.673142 ms
+2020-11-02 20:51:49.625 INFO spark.SparkContext: Starting job: collect at ExecuteStatement.scala:49
+2020-11-02 20:51:50.129 INFO scheduler.DAGScheduler: Job 0 finished: collect at ExecuteStatement.scala:49, took 0.503838 s
+2020-11-02 20:51:50.151 INFO codegen.CodeGenerator: Code generated in 9.685752 ms
+2020-11-02 20:51:50.228 INFO operation.ExecuteStatement: Processing kentyao's query[d80a2664-342d-4f38-baaa-82e88e68a43b]: RUNNING_STATE -> FINISHED_STATE, statement: select timestamp '2018-11-17', time taken: 1.211 seconds
++----------------------------------+
+| TIMESTAMP '2018-11-17 00:00:00'  |
++----------------------------------+
+| 2018-11-17 00:00:00.0            |
++----------------------------------+
+1 row selected (1.466 seconds)
+```
+
+As shown in the above case, you can retrieve all the operation logs, the result schema, and the result to your client-side in the beeline console.
+
+Additionally, some useful information about the background Spark SQL application associated with this connection is also printed in the operation log.
+For example, you can get the Spark web UI from the log for debugging or tuning.
+
+![](../imgs/spark_jobs_page.png)
+
+### Closing a Connection
+
+Close the session between beeline and Kyuubi server by executing `!quit`, for example,
+
+```bash
+0: jdbc:hive2://localhost:10009/> !quit
+Closing: 0: jdbc:hive2://localhost:10009/
+```
+
+## Stopping Kyuubi
+
+Stop Kyuubi by running the following in the `$KYUUBI_HOME` directory:
+
+```bash
+bin/kyuubi.sh stop
+```
+
+The `KyuubiServer` instance will be stopped immediately while the SQL engine's application will still be alive for a while.
+
+If you start Kyuubi again before the SQL engine application terminates itself, it will reconnect to the newly created `KyuubiServer` instance.
diff --git a/content/docs/latest/_sources/quick_start/quick_start_with_beeline.md.txt b/content/docs/latest/_sources/quick_start/quick_start_with_beeline.md.txt
new file mode 100644
index 0000000..4967e52
--- /dev/null
+++ b/content/docs/latest/_sources/quick_start/quick_start_with_beeline.md.txt
@@ -0,0 +1,99 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Getting Started With Hive Beeline
+
+## Getting Beeline
+
+
+```shell
+
+$ bin/beeline --help
+Usage: java org.apache.hive.cli.beeline.BeeLine
+   -u <database url>               the JDBC URL to connect to
+   -r                              reconnect to last saved connect url (in conjunction with !save)
+   -n <username>                   the username to connect as
+   -p <password>                   the password to connect as
+   -d <driver class>               the driver class to use
+   -i <init file>                  script file for initialization
+   -e <query>                      query that should be executed
+   -f <exec file>                  script file that should be executed
+   -w (or) --password-file <password file>  the password file to read password from
+   --hiveconf property=value       Use value for given property
+   --hivevar name=value            hive variable name and value
+                                   This is Hive specific settings in which variables
+                                   can be set at session level and referenced in Hive
+                                   commands or queries.
+   --property-file=<property-file> the file to read connection properties (url, driver, user, password) from
+   --color=[true/false]            control whether color is used for display
+   --showHeader=[true/false]       show column names in query results
+   --headerInterval=ROWS;          the interval between which heades are displayed
+   --fastConnect=[true/false]      skip building table/column list for tab-completion
+   --autoCommit=[true/false]       enable/disable automatic transaction commit
+   --verbose=[true/false]          show verbose error messages and debug info
+   --showWarnings=[true/false]     display connection warnings
+   --showDbInPrompt=[true/false]   display the current database name in the prompt
+   --showNestedErrs=[true/false]   display nested errors
+   --numberFormat=[pattern]        format numbers using DecimalFormat pattern
+   --force=[true/false]            continue running script even after errors
+   --maxWidth=MAXWIDTH             the maximum width of the terminal
+   --maxColumnWidth=MAXCOLWIDTH    the maximum width to use when displaying columns
+   --silent=[true/false]           be more silent
+   --autosave=[true/false]         automatically save preferences
+   --outputformat=[table/vertical/csv2/tsv2/dsv/csv/tsv]  format mode for result display
+                                   Note that csv, and tsv are deprecated - use csv2, tsv2 instead
+   --incremental=[true/false]      Defaults to false. When set to false, the entire result set
+                                   is fetched and buffered before being displayed, yielding optimal
+                                   display column sizing. When set to true, result rows are displayed
+                                   immediately as they are fetched, yielding lower latency and
+                                   memory usage at the price of extra display column padding.
+                                   Setting --incremental=true is recommended if you encounter an OutOfMemory
+                                   on the client side (due to the fetched result set size being large).
+                                   Only applicable if --outputformat=table.
+   --incrementalBufferRows=NUMROWS the number of rows to buffer when printing rows on stdout,
+                                   defaults to 1000; only applicable if --incremental=true
+                                   and --outputformat=table
+   --truncateTable=[true/false]    truncate table column when it exceeds length
+   --delimiterForDSV=DELIMITER     specify the delimiter for delimiter-separated values output format (default: |)
+   --isolation=LEVEL               set the transaction isolation level
+   --nullemptystring=[true/false]  set to true to get historic behavior of printing null as empty string
+   --maxHistoryRows=MAXHISTORYROWS The maximum number of rows to store beeline history.
+   --help                          display this message
+
+   Example:
+    1. Connect using simple authentication to HiveServer2 on localhost:10000
+    $ beeline -u jdbc:hive2://localhost:10000 username password
+
+    2. Connect using simple authentication to HiveServer2 on hs.local:10000 using -n for username and -p for password
+    $ beeline -n username -p password -u jdbc:hive2://hs2.local:10012
+
+    3. Connect using Kerberos authentication with hive/localhost@mydomain.com as HiveServer2 principal
+    $ beeline -u "jdbc:hive2://hs2.local:10013/default;principal=hive/localhost@mydomain.com"
+
+    4. Connect using SSL connection to HiveServer2 on localhost at 10000
+    $ beeline "jdbc:hive2://localhost:10000/default;ssl=true;sslTrustStore=/usr/local/truststore;trustStorePassword=mytruststorepassword"
+
+    5. Connect using LDAP authentication
+    $ beeline -u jdbc:hive2://hs2.local:10013/default <ldap-username> <ldap-password>
+    
+```
\ No newline at end of file
diff --git a/content/docs/latest/_sources/quick_start/quick_start_with_datagrip.md.txt b/content/docs/latest/_sources/quick_start/quick_start_with_datagrip.md.txt
new file mode 100644
index 0000000..d0a4226
--- /dev/null
+++ b/content/docs/latest/_sources/quick_start/quick_start_with_datagrip.md.txt
@@ -0,0 +1,57 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# Getting Started With Kyuubi and DataGrip
+## What is DataGrip
+[DataGrip](https://www.jetbrains.com/datagrip/) is a multi-engine database environment released by JetBrains, supporting MySQL and PostgreSQL, Microsoft SQL Server and Oracle, Sybase, DB2, SQLite, HyperSQL, Apache Derby, and H2.
+
+## Preparation
+### Get DataGrip And Install
+Please go to [Download DataGrip](https://www.jetbrains.com/datagrip/download) to get and install an appropriate version for yourself.
+### Get Kyuubi Started
+[Get kyuubi server started](https://kyuubi.readthedocs.io/en/latest/quick_start/quick_start.html) before you try DataGrip with kyuubi.
+
+For debugging purpose, you can use `tail -f` or `tailf` to track the server log.
+## Configurations
+### Start DataGrip
+After you install DataGrip, just launch it.
+### Select Database
+Substantially, this step is to choose a JDBC Driver type to use later. We can choose Apache Hive to set up a driver for Kyuubi.
+
+![select database](../imgs/datagrip/select_database.png)
+### Datasource Driver
+You should first download the missing driver files. Just click on the link below, DataGrip will download and install those. 
+
+![datasource and driver](../imgs/datagrip/datasource_and_driver.png)
+### Generic JDBC Connection Settings
+After install drivers, you should configure the right host and port which you can find in kyuubi server log. By default, we use `localhost` and `10009` to configure.
+
+Of curse, you can fill other configs.
+
+After generic configs, you can use test connection to test.
+
+![configuration](../imgs/datagrip/configuration.png)
+## Interacting With Kyuubi Server
+Now, you can interact with Kyuubi server.
+
+The left side of the photo is the table, and the right side of the photo is the console.
+
+You can interact through the visual interface or code.
+
+![workspace](../imgs/datagrip/workspace.png)
+## The End
+There are many other amazing features in both Kyuubi and DataGrip and here is just the tip of the iceberg. The rest is for you to discover.
\ No newline at end of file
diff --git a/content/docs/latest/_sources/quick_start/quick_start_with_dbeaver.md.txt b/content/docs/latest/_sources/quick_start/quick_start_with_dbeaver.md.txt
new file mode 100644
index 0000000..2383ddf
--- /dev/null
+++ b/content/docs/latest/_sources/quick_start/quick_start_with_dbeaver.md.txt
@@ -0,0 +1,229 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Getting Started With Kyuubi and DBeaver
+
+## What is DBeaver
+
+[DBeaver](https://dbeaver.io/) is a free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases.
+Supports all popular databases as well as our Kyuubi.
+
+Get to know more [About DBeaver](https://github.com/dbeaver/dbeaver/wiki).
+
+## Preparation
+
+### Get DBeaver and Install
+
+Please go to [Download DBeaver](https://dbeaver.io/download/) page to get and install an appropriate release version for yourself.
+
+### Get Kyuubi Started
+
+[Get the server Started](quick_start.md) first before your try DBeaver with Kyuubi.
+
+```bash
+Welcome to
+  __  __                           __
+ /\ \/\ \                         /\ \      __
+ \ \ \/'/'  __  __  __  __  __  __\ \ \____/\_\
+  \ \ , <  /\ \/\ \/\ \/\ \/\ \/\ \\ \ '__`\/\ \
+   \ \ \\`\\ \ \_\ \ \ \_\ \ \ \_\ \\ \ \L\ \ \ \
+    \ \_\ \_\/`____ \ \____/\ \____/ \ \_,__/\ \_\
+     \/_/\/_/`/___/> \/___/  \/___/   \/___/  \/_/
+                /\___/
+                \/__/
+```
+
+For debugging purpose, you can `tail -f` to track the server log like:
+
+```logtalk
+$ tail -f /Users/kentyao/Downloads/kyuubi/kyuubi-1.3.0-incubating-bin/logs/kyuubi-kentyao-org.apache.kyuubi.server.KyuubiServer-hulk.local.out
+2021-01-16 03:27:35.449 INFO server.NIOServerCnxnFactory: Accepted socket connection from /127.0.0.1:65320
+2021-01-16 03:27:35.453 INFO server.ZooKeeperServer: Client attempting to establish new session at /127.0.0.1:65320
+2021-01-16 03:27:35.455 INFO persistence.FileTxnLog: Creating new log file: log.1
+2021-01-16 03:27:35.491 INFO server.ZooKeeperServer: Established session 0x177078469840000 with negotiated timeout 60000 for client /127.0.0.1:65320
+2021-01-16 03:27:35.492 INFO zookeeper.ClientCnxn: Session establishment complete on server 127.0.0.1/127.0.0.1:2181, sessionid = 0x177078469840000, negotiated timeout = 60000
+2021-01-16 03:27:35.494 INFO state.ConnectionStateManager: State change: CONNECTED
+2021-01-16 03:27:35.495 INFO client.ServiceDiscovery: Zookeeper client connection state changed to: CONNECTED
+2021-01-16 03:27:36.516 INFO client.ServiceDiscovery: Created a /kyuubi/serviceUri=localhost:10009;version=1.0.2;sequence=0000000000 on ZooKeeper for KyuubiServer uri: localhost:10009
+2021-01-16 03:27:36.516 INFO client.ServiceDiscovery: Service[ServiceDiscovery] is started.
+2021-01-16 03:27:36.516 INFO server.KyuubiServer: Service[KyuubiServer] is started.
+```
+
+## Configurations
+### Start DBeaver
+
+If you have successfully installed DBeaver, just hit the button to launch it.
+
+### Select a database
+
+Substantially, this step is to choose a JDBC Driver type to use later.
+We can choose Apache Hive or Apache Spark to set up a driver for Kyuubi, because they are compatible with the same client. 
+
+![](../imgs/dbeaver/dbeaver_connnect_to_database.png)
+*Tips: zoom up if the pic looks small*
+
+Click next...
+
+### Edit the Driver
+
+We can set libraries that include the `org.apache.hive.jdbc.HiveDriver` and all of its dependencies.
+
+![](../imgs/dbeaver/download_driver.png)
+*Tips: zoom up if the pic looks small*
+
+Download/Update it... or,
+
+![](../imgs/dbeaver/dbeaver_connnect_to_database_driver.png)
+*Tips: zoom up if the pic looks small*
+
+We can configure it by adding a local folder which contains these jars.
+
+### Generic JDBC Connection Settings
+
+To connect to Kyuubi, we should configure the right host and port that starts the server.
+By default, Kyuubi starts on port `10009` on your localhost.
+
+![](../imgs/dbeaver/dbeaver_connnect_to_database_port.png)
+*Tips: zoom up if the pic looks small*
+
+### Other settings
+
+We also can name a recognizable title for this connection.
+
+![](../imgs/dbeaver/dbeaver_connnect_to_database_connection.png)
+*Tips: zoom up if the pic looks small*
+
+## Interacting With Kyuubi server
+
+### Connections
+
+First, we need to active the connection with Kyuubi server we created in the above steps.
+
+Correspondingly, the server will help us start an engine, and we will be able to see a log like below,
+
+```logtalk
+2021-01-16 14:33:56.050 INFO session.KyuubiSessionImpl: Launching SQL engine:
+```
+Once the connection is set up, we shall be able to see the default catalog, databases(namespaces) as below.
+
+![](../imgs/dbeaver/connected.png)
+
+### Operations
+
+Now, we can use the SQL editor to write queries to interact with Kyuubi server through the connection. 
+
+```sql
+DESC NAMESPACE DEFAULT;
+```
+![](../imgs/dbeaver/desc_database.png)
+
+```sql
+CREATE TABLE spark_catalog.`default`.SRC(KEY INT, VALUE STRING) USING PARQUET;
+INSERT INTO TABLE spark_catalog.`default`.SRC VALUES (11215016, 'Kent Yao');
+```
+![](../imgs/dbeaver/metadata.png)
+*Tips: zoom up if the pic looks small*
+
+```sql
+SELECT KEY % 10 AS ID, SUBSTRING(VALUE, 1, 4) AS NAME FROM spark_catalog.`default`.SRC;
+```
+![](../imgs/dbeaver/query.png)
+*Tips: zoom up if the pic looks small*
+
+```sql
+DROP TABLE spark_catalog.`default`.SRC;
+```
+
+## One more case with TPCDS
+
+After we create the TPCDS table in Kyuubi server side, we are able to get all the database objects, including catalogs, databases, tables, and columns e.t.c.
+
+![](../imgs/dbeaver/tpcds_schema.png)
+*Tips: zoom up if the pic looks small*
+
+Also, we can use the shortcut key to operating metadata and data, for example.
+
+![](../imgs/dbeaver/viewdata.png)
+*Tips: zoom up if the pic looks small*
+
+And we can write simple or complex SQL to manipulate data, for example, here is the query 41 generated by TPCDS `dsqgen` tool.
+
+```sql
+SELECT DISTINCT (i_product_name)
+FROM item i1
+WHERE i_manufact_id BETWEEN 738 AND 738 + 40
+  AND (SELECT count(*) AS item_cnt
+FROM item
+WHERE (i_manufact = i1.i_manufact AND
+  ((i_category = 'Women' AND
+    (i_color = 'powder' OR i_color = 'khaki') AND
+    (i_units = 'Ounce' OR i_units = 'Oz') AND
+    (i_size = 'medium' OR i_size = 'extra large')
+  ) OR
+    (i_category = 'Women' AND
+      (i_color = 'brown' OR i_color = 'honeydew') AND
+      (i_units = 'Bunch' OR i_units = 'Ton') AND
+      (i_size = 'N/A' OR i_size = 'small')
+    ) OR
+    (i_category = 'Men' AND
+      (i_color = 'floral' OR i_color = 'deep') AND
+      (i_units = 'N/A' OR i_units = 'Dozen') AND
+      (i_size = 'petite' OR i_size = 'large')
+    ) OR
+    (i_category = 'Men' AND
+      (i_color = 'light' OR i_color = 'cornflower') AND
+      (i_units = 'Box' OR i_units = 'Pound') AND
+      (i_size = 'medium' OR i_size = 'extra large')
+    ))) OR
+  (i_manufact = i1.i_manufact AND
+    ((i_category = 'Women' AND
+      (i_color = 'midnight' OR i_color = 'snow') AND
+      (i_units = 'Pallet' OR i_units = 'Gross') AND
+      (i_size = 'medium' OR i_size = 'extra large')
+    ) OR
+      (i_category = 'Women' AND
+        (i_color = 'cyan' OR i_color = 'papaya') AND
+        (i_units = 'Cup' OR i_units = 'Dram') AND
+        (i_size = 'N/A' OR i_size = 'small')
+      ) OR
+      (i_category = 'Men' AND
+        (i_color = 'orange' OR i_color = 'frosted') AND
+        (i_units = 'Each' OR i_units = 'Tbl') AND
+        (i_size = 'petite' OR i_size = 'large')
+      ) OR
+      (i_category = 'Men' AND
+        (i_color = 'forest' OR i_color = 'ghost') AND
+        (i_units = 'Lb' OR i_units = 'Bundle') AND
+        (i_size = 'medium' OR i_size = 'extra large')
+      )))) > 0
+ORDER BY i_product_name
+LIMIT 100
+```
+
+![](../imgs/dbeaver/query41_result.png)
+*Tips: zoom up if the pic looks small*
+
+## Epilogue
+
+There are many other amazing features in both Kyuubi and DBeaver and here is just the tip of the iceberg.
+The rest is for you to discover.
diff --git a/content/docs/latest/_sources/quick_start/quick_start_with_hue.md.txt b/content/docs/latest/_sources/quick_start/quick_start_with_hue.md.txt
new file mode 100644
index 0000000..29eca52
--- /dev/null
+++ b/content/docs/latest/_sources/quick_start/quick_start_with_hue.md.txt
@@ -0,0 +1,135 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Getting Started with Kyuubi and Cloudera Hue
+
+## What is Hue
+
+[Hue](https://gethue.com/) is an open source SQL Assistant for Databases & Data Warehouses.
+
+## Preparation
+
+### Get Kyuubi Started
+
+[Get the server Started](quick_start.md) first before your try Hue with Kyuubi.
+
+```bash
+Welcome to
+  __  __                           __
+ /\ \/\ \                         /\ \      __
+ \ \ \/'/'  __  __  __  __  __  __\ \ \____/\_\
+  \ \ , <  /\ \/\ \/\ \/\ \/\ \/\ \\ \ '__`\/\ \
+   \ \ \\`\\ \ \_\ \ \ \_\ \ \ \_\ \\ \ \L\ \ \ \
+    \ \_\ \_\/`____ \ \____/\ \____/ \ \_,__/\ \_\
+     \/_/\/_/`/___/> \/___/  \/___/   \/___/  \/_/
+                /\___/
+                \/__/
+```
+
+## Run Hue in Docker
+
+Here we demo running Kyuubi on macOS and Hue on [Docker for Mac](https://docs.docker.com/docker-for-mac/), 
+there are several known limitations of network, and you can find 
+[workarounds from here](https://docs.docker.com/docker-for-mac/networking/#known-limitations-use-cases-and-workarounds).
+
+### Configuration
+
+1. Copy a configuration template from Hue Docker image.
+
+```
+docker run --rm gethue/hue:latest cat /usr/share/hue/desktop/conf/hue.ini > hue.ini
+```
+
+2. Modify the `hue.ini`
+
+```ini
+[beeswax]
+  # Kyuubi 1.1.x support thrift version from 1 to 10
+  thrift_version=7
+  # change to your username to avoid permissions issue for local test
+  auth_username=chengpan
+
+[notebook]
+  [[interpreters]]
+    [[[sql]]]
+      name=SparkSQL
+      interface=hiveserver2
+      
+[spark]
+  # Host of the Spark Thrift Server
+  # For macOS users, use docker.for.mac.host.internal to access host network
+  sql_server_host=docker.for.mac.host.internal
+
+  # Port of the Spark Thrift Server
+  sql_server_port=10009
+  
+# other configurations
+...
+```
+
+### Start Hue in Docker
+
+```
+docker run -p 8888:8888 -v $PWD/hue.ini:/usr/share/hue/desktop/conf/hue.ini gethue/hue:latest
+```
+
+Go http://localhost:8888/ and follow the guide to create an account.
+
+![](../imgs/hue/start.png)
+
+Having fun with Hue and Kyuubi!
+
+![](../imgs/hue/spark_sql_docker.png)
+
+## For CDH 6.x Users
+
+If you are using CDH 6.x, there is a trick that CDH 6.x blocks Spark in default, you need to modify the configuration to 
+overwrite the `desktop.app_blacklist` to remove this restriction.
+
+Config Hue in Cloudera Manager.
+
+![](../imgs/hue/cloudera_manager.png)
+
+Refer following configuration and tune it to fit your environment.
+```
+[desktop]
+ app_blacklist=zookeeper,hbase,impala,search,sqoop,security
+ use_new_editor=true
+[[interpreters]]
+[[[sparksql]]]
+  name=Spark SQL
+  interface=hiveserver2
+  # other interpreters
+  ...
+[spark]
+sql_server_host=kyuubi-server-host
+sql_server_port=10009
+```
+
+You need to restart the Hue Service to activate the configuration changes, and then Spark SQL will available in editor list.
+
+![](../imgs/hue/editor.png)
+
+Having fun with Hue and Kyuubi!
+
+![](../imgs/hue/spark_sql_cdh6.png)
diff --git a/content/docs/latest/_sources/quick_start/quick_start_with_jdbc.md.txt b/content/docs/latest/_sources/quick_start/quick_start_with_jdbc.md.txt
new file mode 100644
index 0000000..bc84098
--- /dev/null
+++ b/content/docs/latest/_sources/quick_start/quick_start_with_jdbc.md.txt
@@ -0,0 +1,98 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Getting Started With Hive JDBC
+
+## How to install JDBC driver
+Kyuubi JDBC driver is fully compatible with the 2.3.* version of hive JDBC driver, so we reuse hive JDBC driver to connect to Kyuubi server.
+
+Add repository to your maven configuration file which may reside in `$MAVEN_HOME/conf/settings.xml`.
+
+```xml
+<repositories>
+  <repository>
+    <id>central maven repo</id>
+    <name>central maven repo https</name>
+    <url>https://repo.maven.apache.org/maven2</url>
+  </repository>
+<repositories>
+```
+You can add below dependency to your `pom.xml` file in your application.
+
+```xml
+<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc -->
+<dependency>
+    <groupId>org.apache.hive</groupId>
+    <artifactId>hive-jdbc</artifactId>
+    <version>2.3.7</version>
+</dependency>
+<dependency>
+    <groupId>org.apache.hadoop</groupId>
+    <artifactId>hadoop-common</artifactId>
+    <!-- keep consistent with the build hadoop version -->
+    <version>2.7.4</version>
+</dependency>
+```
+
+## Use JDBC driver with kerberos
+The below java code is using a keytab file to login and connect to Kyuubi server by JDBC.
+
+```java
+package org.apache.kyuubi.examples;
+  
+import java.io.IOException;
+import java.security.PrivilegedExceptionAction;
+import java.sql.*;
+
+import org.apache.hadoop.security.UserGroupInformation;
+ 
+public class JDBCTest {
+ 
+    private static String driverName = "org.apache.hive.jdbc.HiveDriver";
+    private static String kyuubiJdbcUrl = "jdbc:hive2://localhost:10009/default;";
+ 
+    public static void main(String[] args) throws ClassNotFoundException, SQLException {
+        String principal = args[0]; // kerberos principal
+        String keytab = args[1]; // keytab file location
+        Configuration configuration = new Configuration();
+        configuration.set(HADOOP_SECURITY_AUTHENTICATION, "kerberos");
+        UserGroupInformation.setConfiguration(configuration);
+        UserGroupInformation ugi = UserGroupInformation.loginUserFromKeytabAndReturnUGI(principal, keytab);
+ 
+        Class.forName(driverName);
+        Connection conn = ugi.doAs(new PrivilegedExceptionAction<Connection>(){
+            public Connection run() throws SQLException {
+                return DriverManager.getConnection(kyuubiJdbcUrl);
+            }
+        });
+        Statement st = conn.createStatement();
+        ResultSet res = st.executeQuery("show databases");
+        while (res.next()) {
+            System.out.println(res.getString(1));
+        }
+        res.close();
+        st.close();
+        conn.close();
+    }
+}
+```
diff --git a/content/docs/latest/_sources/quick_start/quick_start_with_jupyter.md.txt b/content/docs/latest/_sources/quick_start/quick_start_with_jupyter.md.txt
new file mode 100644
index 0000000..242b623
--- /dev/null
+++ b/content/docs/latest/_sources/quick_start/quick_start_with_jupyter.md.txt
@@ -0,0 +1,25 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Getting Started With Hive Jupyter Lap
+
diff --git a/content/docs/latest/_sources/security/authentication.md.txt b/content/docs/latest/_sources/security/authentication.md.txt
new file mode 100644
index 0000000..2540e1e
--- /dev/null
+++ b/content/docs/latest/_sources/security/authentication.md.txt
@@ -0,0 +1,91 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Kyuubi Authentication Mechanism
+
+In a secure cluster, services should be able to identify and authenticate callers.
+As the fact that the user claims does not necessarily mean this is true.
+
+The authentication process of Kyuubi is used to verify the user identity that a client used to talk to the Kyuubi server.
+Once done, a trusted connection will be set up between the client and server if successful; otherwise, rejected.
+
+**Note** that, this authentication only authenticate whether a user can connect with Kyuubi server or not.
+For other secured services that this user wants to interact with, he/she also needs to pass the authentication process of each service, for instance, Hive Metastore, YARN, HDFS.
+
+In `$KYUUBI_HOME/conf/kyuubi-defaults.conf`, specify `kyuubi.authentication` to one of the authentication types listing below.
+
+Key | Default | Meaning | Since
+--- | --- | --- | ---
+kyuubi\.authentication|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>NONE</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>Client authentication types.<ul> <li>NOSASL: raw transport.</li> <li>NONE: no authentication check.</li> <li>KERBEROS: Kerberos/GSSAPI authentication.</li> <li>LDAP: Lightweight Directory Access Protocol authentication.</li></ul></div>|<div style='width: 20pt'>1.0.0</div>
+
+
+Key | Default | Meaning | Since
+--- | --- | --- | ---
+kyuubi\.authentication|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>NONE</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>Client authentication types.<ul> <li>NOSASL: raw transport.</li> <li>NONE: no authentication check.</li> <li>KERBEROS: Kerberos/GSSAPI authentication.</li> <li>LDAP: Lightweight Directory Access Protocol authentication.</li></ul></div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.authentication<br>\.ldap\.base\.dn|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>LDAP base DN.</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.authentication<br>\.ldap\.domain|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>LDAP base DN.</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.authentication<br>\.ldap\.url|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>SPACE character separated LDAP connection URL(s).</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.authentication<br>\.sasl\.qop|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>auth</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>Sasl QOP enable higher levels of protection for Kyuubi communication with clients.<ul> <li>auth - authentication only (default)</li> <li>auth-int - authentication plus integrity protection</li> <li>auth-conf - authentication plus integrity and confidentiality protection. This is applicable only if Kyuubi is [...]
+
+
+#### Using KERBEROS
+
+If you are deploying Kyuubi with a kerberized Hadoop cluster, it is strongly recommended that `kyuubi.authentication` should be set to `KERBEROS` too.
+
+Kerberos is a network authentication protocol that provides the tools of authentication and strong cryptography over the network.
+The Kerberos protocol uses strong cryptography so that a client or a server can prove its identity to its server or client across an insecure network connection.
+After a client and server have used Kerberos to prove their identity, they can also encrypt all of their communications to assure privacy and data integrity as they go about their business.
+
+The Kerberos architecture is centered around a trusted authentication service called the key distribution center, or KDC.
+Users and services in a Kerberos environment are referred to as principals;
+each principal shares a secret, such as a password, with the KDC.
+
+Set following for KERBEROS mode:
+
+Key | Default | Meaning | Since
+--- | --- | --- | ---
+kyuubi\.kinit<br>\.principal|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>Name of the Kerberos principal.</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.kinit\.keytab|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>Location of Kyuubi server's keytab.</div>|<div style='width: 20pt'>1.0.0</div>
+
+
+For example,
+
+- Configure with Kyuubi service principal 
+```bash
+kyuubi.authentication=KERBEROS
+kyuubi.kinit.principal=spark/kyuubi.apache.org@KYUUBI.APACHE.ORG
+kyuubi.kinit.keytab=/path/to/kyuuib.keytab
+```
+
+- Start Kyuubi
+```bash
+$ ./bin/kyuubi start
+```
+
+- Kinit with user principal and connect using beeline
+
+```bash
+$ kinit -kt user.keytab user.principal
+
+$ beeline -u "jdbc:hive2://localhost:10009/;principal=spark/kyuubi.apache.org@KYUUBI.APACHE.ORG"
+```
diff --git a/content/docs/latest/_sources/security/authorization.md.txt b/content/docs/latest/_sources/security/authorization.md.txt
new file mode 100644
index 0000000..1507808
--- /dev/null
+++ b/content/docs/latest/_sources/security/authorization.md.txt
@@ -0,0 +1,49 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+# ACL Management Guide
+
+- [Authorization Modes](#1)
+    - [Storage-Based Authorization](#1.1)
+    - [SQL-Standard Based Authorization](#1.2)
+    - [Ranger Security Support](#1.3)
+
+
+<h2 id="1">Authorization Modes</h2>
+
+Three primary modes for Kyuubi authorization are available by [Submarine Spark Security](https://github.com/apache/submarine/tree/master/submarine-security/spark-security):
+
+<h4 id="1.1">Storage-Based Authorization</h4>
+
+Enabling Storage Based Authorization in the `Hive Metastore Server` uses the HDFS permissions to act as the main source for verification and allows for consistent data and metadata authorization policy. This allows control over metadata access by verifying if the user has permission to access corresponding directories on the HDFS. Similar with `HiveServer2`, files and directories will be translated into hive metadata objects, such as dbs, tables, partitions, and be protected from end use [...]
+
+Storage-Based Authorization offers users with Database, Table and Partition-level coarse-gained access control.
+
+<h4 id="1.2">SQL-Standard Based Authorization</h4>
+
+Enabling SQL-Standard Based Authorization gives users more fine-gained control over access comparing with Storage Based Authorization. Besides of the ability of Storage Based Authorization,  SQL-Standard Based Authorization can improve it to Views and Column-level. Unfortunately, Spark SQL does not support grant/revoke statements which controls access, this might be done only through the  HiveServer2. But it's gratifying that [Submarine Spark Security](https://github.com/apache/submarine [...]
+
+With [Kyuubi](https://github.com/apache/incubator-kyuubi), the SQL-Standard Based Authorization is guaranteed for the security configurations, metadata, and storage information is preserved from end users.
+
+Please refer to the [Submarine Spark Security](https://submarine.apache.org/docs/userDocs/submarine-security/spark-security/README) in the online documentation for an overview on how to configure SQL-Standard Based Authorization for Spark SQL.
+
+<h4 id="1.3">Ranger Security Support (Recommended)</h4>
+
+[Apache Ranger](https://ranger.apache.org/)  is a framework to enable, monitor and manage comprehensive data security across the Hadoop platform but end before Spark or Spark SQL. The [Submarine Spark Security](https://github.com/apache/submarine/tree/master/submarine-security/spark-security) enables Kyuubi with control access ability reusing [Ranger Plugin for Hive MetaStore
+](https://cwiki.apache.org/confluence/display/RANGER/Ranger+Plugin+for+Hive+MetaStore). [Apache Ranger](https://ranger.apache.org/) makes the scope of existing SQL-Standard Based Authorization expanded but without supporting Spark SQL. [Submarine Spark Security](https://github.com/apache/submarine/tree/master/submarine-security/spark-security) sticks them together.
+
+Please refer to the [Submarine Spark Security](https://submarine.apache.org/docs/userDocs/submarine-security/spark-security/README) in the online documentation for an overview on how to configure Ranger for Spark SQL.
diff --git a/content/docs/latest/_sources/security/index.rst.txt b/content/docs/latest/_sources/security/index.rst.txt
new file mode 100644
index 0000000..e8eacf9
--- /dev/null
+++ b/content/docs/latest/_sources/security/index.rst.txt
@@ -0,0 +1,29 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../imgs/kyuubi_logo.png
+   :align: center
+
+Kyuubi Security Overview
+========================
+
+.. toctree::
+    :maxdepth: 2
+    :numbered: 3
+
+    Authentication <authentication>
+    kinit
+    authorization
+
diff --git a/content/docs/latest/_sources/security/kinit.md.txt b/content/docs/latest/_sources/security/kinit.md.txt
new file mode 100644
index 0000000..6320d42
--- /dev/null
+++ b/content/docs/latest/_sources/security/kinit.md.txt
@@ -0,0 +1,96 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Kinit Auxiliary Service
+
+In order to work with a kerberos-enabled cluster, Kyuubi provides this kinit auxiliary service.
+It will periodically re-kinit with to keep the Ticket Cache fresh.
+
+
+## Installing and Configuring the Kerberos Clients
+
+Usually, Kerberos client is installed as default. You can validate it using `klist` tool.
+
+```bash
+$ klist -V
+Kerberos 5 version 1.15.1
+```
+
+If the client is not installed, you should install it ahead based on the OS platform that you prepare to run Kyuubi.
+
+`krb5.conf` is a configuration file for tuning up the creation of Kerberos ticket cache.
+The default location is `/etc` on Linux,
+and we can use `KRB5_CONFIG` environmental variable to overwrite the location of the configuration file.
+
+Replace or configure `krb5.conf` to point to the KDC.
+
+## Kerberos Ticket
+
+Kerberos client is aimed to generate a Ticket Cache file.
+Then, Kyuubi can use this Ticket Cache to authenticate with those kerberized services,
+e.g. HDFS, YARN, and Hive Metastore server, etc.
+
+A Kerberos ticket cache contains a service and a client principal names,
+lifetime indicators, flags, and the credential itself, e.g.
+
+```bash
+$ klist
+
+Ticket cache: FILE:/tmp/krb5cc_5441
+Default principal: spark/kyuubi.host.name@KYUUBI.APACHE.ORG
+
+Valid starting       Expires              Service principal
+2020-11-25T13:17:18  2020-11-26T13:17:18  krbtgt/KYUUBI.APACHE.ORG@KYUUBI.APACHE.ORG
+	renew until 2020-12-02T13:17:18
+```
+
+Kerberos credentials can be stored in Kerberos ticket cache.
+For example, `/tmp/krb5cc_5441` in the above case.
+
+They are valid for relatively short period. So, we always need to refresh it for long-running services like Kyuubi.
+
+## Configurations
+
+Key | Default | Meaning | Since
+--- | --- | --- | ---
+kyuubi\.kinit<br>\.principal|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>Name of the Kerberos principal.</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.kinit\.keytab|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>Location of Kyuubi server's keytab.</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.kinit\.interval|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>PT1H</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>How often will Kyuubi server run `kinit -kt [keytab] [principal]` to renew the local Kerberos credentials cache</div>|<div style='width: 20pt'>1.0.0</div>
+kyuubi\.kinit\.max<br>\.attempts|<div style='width: 80pt;word-wrap: break-word;white-space: normal'>10</div>|<div style='width: 200pt;word-wrap: break-word;white-space: normal'>How many times will `kinit` process retry</div>|<div style='width: 20pt'>1.0.0</div>
+
+When `hadoop.security.authentication` is set to `KERBEROS`, in `$HADOOP_CONF_DIR/core-site` or `$KYUUBI_HOME/conf/kyuubi-defaults.conf`,
+it indicates that we are targeting a secured cluster, then we need to specify `kyuubi.kinit.principal` and `kyuubi.kinit.keytab` for authentication.
+
+Kyuubi will use this `principal` to impersonate client users,
+so the cluster should enable it to do impersonation for some particular user from some particular hosts.
+
+For example,
+
+```bash
+hadoop.proxyuser.<user name in principal>.groups *
+hadoop.proxyuser.<user name in principal>.hosts *
+```
+## Further Readings
+
+- [Hadoop in Secure Mode](https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SecureMode.html)
+- [Use Kerberos for authentication in Spark](http://spark.apache.org/docs/latest/security.html#kerberos)
diff --git a/content/docs/latest/_sources/sql/functions.md.txt b/content/docs/latest/_sources/sql/functions.md.txt
new file mode 100644
index 0000000..ba9df14
--- /dev/null
+++ b/content/docs/latest/_sources/sql/functions.md.txt
@@ -0,0 +1,35 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<!-- DO NOT MODIFY THIS FILE DIRECTLY, IT IS AUTO GENERATED BY [org.apache.kyuubi.engine.spark.udf.KyuubiDefinedFunctionSuite] -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Auxiliary SQL Functions for Spark SQL
+
+Kyuubi provides several auxiliary SQL functions as supplement to Spark's [Built-in Functions](https://spark.apache.org/docs/latest/api/sql/index.html#built-in-functions)
+
+Name | Description | Return Type | Since
+--- | --- | --- | ---
+kyuubi_version | Return the version of Kyuubi Server | string | 1.3.0
+engine_name | Return the spark application name for the associated query engine | string | 1.3.0
+system_user | Return the system user name for the associated query engine | string | 1.3.0
+
diff --git a/content/docs/latest/_sources/sql/index.rst.txt b/content/docs/latest/_sources/sql/index.rst.txt
new file mode 100644
index 0000000..70b45aa
--- /dev/null
+++ b/content/docs/latest/_sources/sql/index.rst.txt
@@ -0,0 +1,30 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../imgs/kyuubi_logo.png
+   :align: center
+
+SQL References
+==============
+
+This part describes the use of the SQL References in Kyuubi, including lists of the available extension, data types and functions for use in SQL commands.
+
+.. toctree::
+    :maxdepth: 2
+    :numbered: 3
+
+    rules
+    functions
+
diff --git a/content/docs/latest/_sources/sql/rules.md.txt b/content/docs/latest/_sources/sql/rules.md.txt
new file mode 100644
index 0000000..1b1e3f8
--- /dev/null
+++ b/content/docs/latest/_sources/sql/rules.md.txt
@@ -0,0 +1,69 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<!-- DO NOT MODIFY THIS FILE DIRECTLY, IT IS AUTO GENERATED BY [org.apache.kyuubi.engine.spark.udf.KyuubiUDFRegistrySuite] -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Auxiliary SQL extension for Spark SQL
+
+Kyuubi provides SQL extension out of box. Due to the version compatibility with Apache Spark, currently we only support Apache Spark branch-3.1 (i.e 3.1.1 and 3.1.2).
+And don't worry, Kyuubi will support the new Apache Spark version in future. Thanks to the adaptive query execution framework (AQE), Kyuubi can do these optimization.
+
+## What feature does Kyuubi SQL extension provide
+- merging small files automatically
+  
+  Small files is a long time issue with Apache Spark. Kyuubi can merge small files by adding an extra shuffle.
+  Currently, Kyuubi supports handle small files with datasource table and hive table, and also Kyuubi support optimize dynamic partition insertion.
+  For example, a common write query `INSERT INTO TABLE $table1 SELECT * FROM $table2`, Kyuubi will introduce an extra shuffle before write and then the small files will go away.
+
+
+- insert shuffle node before Join to make AQE OptimizeSkewedJoin work
+
+  In current implementation, Apache Spark can only optimize skewed join by the standard join which means a join must have two sort and shuffle node.
+  However, in complex scenario this assuming will be broken easily. Kyuubi can guarantee the join is standard by adding an extra shuffle node before join.
+  So that, OptimizeSkewedJoin can work better.
+
+
+- stage level config isolation in AQE
+
+  As we know, `spark.sql.adaptive.advisoryPartitionSizeInBytes` is a key config in Apache Spark AQE.
+  It controls how big data size per-task should handle during shuffle, so we always use a 64MB or a smaller value to make parallelism enough.
+  However, in general, we expect a file is big enough like 256MB or 512MB. Kyuubi can make the config isolation to solve the conflict so that
+  we can make staging partition data size small and last partition data size big.
+
+
+## How to use Kyuubi SQL extension
+
+1. you need to choose Apache Spark branch-3.1 or higher version with Kyuubi binary tgz.
+2. if you want to compile Kyuubi by yourself, the maven opt should add `-Pkyuubi-extension-spark-3-1`
+3. move the jar(`kyuubi-extension-spark-*.jar`) which is in `$KYUUBI_HOME/extension` into `$SPARK_HOME/jars`
+4. add a config into `spark-defaults.conf`, `spark.sql.extensions=org.apache.kyuubi.sql.KyuubiSparkSQLExtension`
+
+Now, you can enjoy the Kyuubi SQL Extension, and also Kyuubi provides some configs to make these feature easy to use.
+
+Name | Default Value | Description | Since
+--- | --- | --- | ---
+spark.sql.optimizer.insertRepartitionBeforeWrite.enabled | true | Add repartition node at the top of query plan. An approach of merging small files. | 1.2.0
+spark.sql.optimizer.insertRepartitionNum | none | The partition number if `spark.sql.optimizer.insertRepartitionBeforeWrite.enabled` is enabled. If AQE is disabled, the default value is `spark.sql.shuffle.partitions`. If AQE is enabled, the default value is none that means depend on AQE. | 1.2.0
+spark.sql.optimizer.dynamicPartitionInsertionRepartitionNum | 100 | The partition number of each dynamic partition if `spark.sql.optimizer.insertRepartitionBeforeWrite.enabled` is enabled. We will repartition by dynamic partition columns to reduce the small file but that can cause data skew. This config is to extend the partition of dynamic partition column to avoid skew but may generate some small files. | 1.2.0
+spark.sql.optimizer.forceShuffleBeforeJoin.enabled | false | Ensure shuffle node exists before shuffled join (shj and smj) to make AQE `OptimizeSkewedJoin` works (complex scenario join, multi table join). | 1.2.0
+spark.sql.optimizer.finalStageConfigIsolation.enabled | false | If true, the final stage support use different config with previous stage. The prefix of final stage config key should be `spark.sql.finalStage.`. For example, the raw spark config: `spark.sql.adaptive.advisoryPartitionSizeInBytes`, then the final stage config should be: `spark.sql.finalStage.adaptive.advisoryPartitionSizeInBytes`. | 1.2.0
diff --git a/content/docs/latest/_sources/tools/index.rst.txt b/content/docs/latest/_sources/tools/index.rst.txt
new file mode 100644
index 0000000..eebaf6c
--- /dev/null
+++ b/content/docs/latest/_sources/tools/index.rst.txt
@@ -0,0 +1,26 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+..    http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. image:: ../imgs/kyuubi_logo.png
+   :align: center
+
+Tools
+===========
+
+.. toctree::
+    :maxdepth: 2
+    :numbered: 3
+
+    spark_block_cleaner
\ No newline at end of file
diff --git a/content/docs/latest/_sources/tools/spark_block_cleaner.md.txt b/content/docs/latest/_sources/tools/spark_block_cleaner.md.txt
new file mode 100644
index 0000000..8514fa9
--- /dev/null
+++ b/content/docs/latest/_sources/tools/spark_block_cleaner.md.txt
@@ -0,0 +1,134 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<div align=center>
+
+![](../imgs/kyuubi_logo.png)
+
+</div>
+
+# Kubernetes Tools Spark Block Cleaner
+
+## Requirements
+
+You'd better have cognition upon the following things when you want to use spark-block-cleaner.
+
+* Read this article
+* An active Kubernetes cluster
+* [Kubectl](https://kubernetes.io/docs/reference/kubectl/overview/)
+* [Docker](https://www.docker.com/)
+
+## Scenes
+
+When you're using Spark On Kubernetes with Client mode and don't use `emptyDir` for Spark `local-dir` type, you may face the same scenario that executor pods deleted without clean all the Block files. It may cause disk overflow.
+
+Therefore, we chose to use Spark Block Cleaner to clear the block files accumulated by Spark.
+
+## Principle
+
+When deploying Spark Block Cleaner, we will configure volumes for the destination folder. Spark Block Cleaner will perceive the folder by the parameter `CACHE_DIRS`. 
+
+Spark Block Cleaner will clear the perceived folder in a fixed loop(which can be configured by `SCHEDULE_INTERVAL`). And Spark Block Cleaner will select folder start with `blockmgr` and `spark` for deletion using the logic Spark uses to create those folders. 
+
+Before deleting those files, Spark Block Cleaner will determine whether it is a recently modified file(depending on whether the file has not been acted on within the specified time which configured by `FILE_EXPIRED_TIME`). Only delete files those beyond that time interval.
+
+And Spark Block Cleaner will check the disk utilization after clean, if the remaining space is less than the specified value(control by `FREE_SPACE_THRESHOLD`), will trigger deep clean(which file expired time control by `DEEP_CLEAN_FILE_EXPIRED_TIME`).
+
+## Usage
+
+Before you start using Spark Block Cleaner, you should build its docker images.
+
+### Build Block Cleaner Docker Image
+
+In the `KYUUBI_HOME` directory, you can use the following cmd to build docker image.
+```shell
+    docker build ./tools/spark-block-cleaner/kubernetes/docker
+```
+
+### Modify spark-block-cleaner.yml
+
+You need to modify the `${KYUUBI_HOME}/tools/spark-block-cleaner/kubernetes/spark-block-cleaner.yml` to fit your current environment.
+
+In Kyuubi tools, we recommend using `DaemonSet` to start , and we offer default yaml file in daemonSet way.
+
+Base file structure : 
+```yaml
+apiVersion
+kind
+metadata
+  name
+  namespace
+spec
+  select
+  template
+    metadata
+    spce
+      containers
+      - image
+      - volumeMounts
+      - env
+    volumes
+```
+
+You can use affect the performance of Spark Block Cleaner through configure parameters in containers env part of `spark-block-cleaner.yml`.
+```yaml
+env:
+  - name: CACHE_DIRS
+    value: /data/data1,/data/data2
+  - name: FILE_EXPIRED_TIME
+    value: 604800
+  - name: DEEP_CLEAN_FILE_EXPIRED_TIME
+    value: 432000
+  - name: FREE_SPACE_THRESHOLD
+    value: 60
+  - name: SCHEDULE_INTERVAL
+    value: 3600
+```
+
+The most important thing, configure volumeMounts and volumes corresponding to Spark local-dirs.
+
+For example, Spark use /spark/shuffle1 as local-dir, you can configure like:
+```yaml
+volumes:
+  - name: block-files-dir-1
+    hostPath:
+      path: /spark/shuffle1
+```
+```yaml
+volumeMounts:
+  - name: block-files-dir-1
+    mountPath: /data/data1
+```
+```yaml
+env:
+  - name: CACHE_DIRS
+    value: /data/data1
+```
+
+### Start daemonSet
+
+After you finishing modifying the above, you can use the following command `kubectl apply -f ${KYUUBI_HOME}/tools/spark-block-cleaner/kubernetes/spark-block-cleaner.yml` to start daemonSet.
+
+## Related parameters
+
+Name | Default | unit | Meaning
+--- | --- | --- | ---
+CACHE_DIRS | /data/data1,/data/data2|  | The target dirs in container path which will clean block files.
+FILE_EXPIRED_TIME | 604800 | seconds | Cleaner will clean the block files which current time - last modified time  more than the fileExpiredTime.
+DEEP_CLEAN_FILE_EXPIRED_TIME | 432000 | seconds | Deep clean will clean the block files which current time - last modified time  more than the deepCleanFileExpiredTime.
+FREE_SPACE_THRESHOLD | 60 | % | After first clean, if free Space low than threshold trigger deep clean.
+SCHEDULE_INTERVAL | 3600 | seconds | Cleaner sleep between cleaning.
diff --git a/content/docs/latest/_static/basic.css b/content/docs/latest/_static/basic.css
new file mode 100644
index 0000000..b3bdc00
--- /dev/null
+++ b/content/docs/latest/_static/basic.css
@@ -0,0 +1,861 @@
+/*
+ * basic.css
+ * ~~~~~~~~~
+ *
+ * Sphinx stylesheet -- basic theme.
+ *
+ * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+    clear: both;
+}
+
+div.section::after {
+    display: block;
+    content: '';
+    clear: left;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+    width: 100%;
+    font-size: 90%;
+}
+
+div.related h3 {
+    display: none;
+}
+
+div.related ul {
+    margin: 0;
+    padding: 0 0 0 10px;
+    list-style: none;
+}
+
+div.related li {
+    display: inline;
+}
+
+div.related li.right {
+    float: right;
+    margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+    padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+    float: left;
+    width: 230px;
+    margin-left: -100%;
+    font-size: 90%;
+    word-wrap: break-word;
+    overflow-wrap : break-word;
+}
+
+div.sphinxsidebar ul {
+    list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+    margin-left: 20px;
+    list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+    margin-top: 0;
+    margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+    margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+    border: 1px solid #98dbcc;
+    font-family: sans-serif;
+    font-size: 1em;
+}
+
+div.sphinxsidebar #searchbox form.search {
+    overflow: hidden;
+}
+
+div.sphinxsidebar #searchbox input[type="text"] {
+    float: left;
+    width: 80%;
+    padding: 0.25em;
+    box-sizing: border-box;
+}
+
+div.sphinxsidebar #searchbox input[type="submit"] {
+    float: left;
+    width: 20%;
+    border-left: none;
+    padding: 0.25em;
+    box-sizing: border-box;
+}
+
+
+img {
+    border: 0;
+    max-width: 100%;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+    margin: 10px 0 0 20px;
+    padding: 0;
+}
+
+ul.search li {
+    padding: 5px 0 5px 20px;
+    background-image: url(file.png);
+    background-repeat: no-repeat;
+    background-position: 0 7px;
+}
+
+ul.search li a {
+    font-weight: bold;
+}
+
+ul.search li div.context {
+    color: #888;
+    margin: 2px 0 0 30px;
+    text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+    font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+    width: 90%;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+table.contentstable p.biglink {
+    line-height: 150%;
+}
+
+a.biglink {
+    font-size: 1.3em;
+}
+
+span.linkdescr {
+    font-style: italic;
+    padding-top: 5px;
+    font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable {
+    width: 100%;
+}
+
+table.indextable td {
+    text-align: left;
+    vertical-align: top;
+}
+
+table.indextable ul {
+    margin-top: 0;
+    margin-bottom: 0;
+    list-style-type: none;
+}
+
+table.indextable > tbody > tr > td > ul {
+    padding-left: 0em;
+}
+
+table.indextable tr.pcap {
+    height: 10px;
+}
+
+table.indextable tr.cap {
+    margin-top: 10px;
+    background-color: #f2f2f2;
+}
+
+img.toggler {
+    margin-right: 3px;
+    margin-top: 3px;
+    cursor: pointer;
+}
+
+div.modindex-jumpbox {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 1em 0 1em 0;
+    padding: 0.4em;
+}
+
+div.genindex-jumpbox {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 1em 0 1em 0;
+    padding: 0.4em;
+}
+
+/* -- domain module index --------------------------------------------------- */
+
+table.modindextable td {
+    padding: 2px;
+    border-collapse: collapse;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+div.body {
+    min-width: 450px;
+    max-width: 800px;
+}
+
+div.body p, div.body dd, div.body li, div.body blockquote {
+    -moz-hyphens: auto;
+    -ms-hyphens: auto;
+    -webkit-hyphens: auto;
+    hyphens: auto;
+}
+
+a.headerlink {
+    visibility: hidden;
+}
+
+a.brackets:before,
+span.brackets > a:before{
+    content: "[";
+}
+
+a.brackets:after,
+span.brackets > a:after {
+    content: "]";
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink,
+caption:hover > a.headerlink,
+p.caption:hover > a.headerlink,
+div.code-block-caption:hover > a.headerlink {
+    visibility: visible;
+}
+
+div.body p.caption {
+    text-align: inherit;
+}
+
+div.body td {
+    text-align: left;
+}
+
+.first {
+    margin-top: 0 !important;
+}
+
+p.rubric {
+    margin-top: 30px;
+    font-weight: bold;
+}
+
+img.align-left, figure.align-left, .figure.align-left, object.align-left {
+    clear: left;
+    float: left;
+    margin-right: 1em;
+}
+
+img.align-right, figure.align-right, .figure.align-right, object.align-right {
+    clear: right;
+    float: right;
+    margin-left: 1em;
+}
+
+img.align-center, figure.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+img.align-default, figure.align-default, .figure.align-default {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+    text-align: left;
+}
+
+.align-center {
+    text-align: center;
+}
+
+.align-default {
+    text-align: center;
+}
+
+.align-right {
+    text-align: right;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar,
+aside.sidebar {
+    margin: 0 0 0.5em 1em;
+    border: 1px solid #ddb;
+    padding: 7px;
+    background-color: #ffe;
+    width: 40%;
+    float: right;
+    clear: right;
+    overflow-x: auto;
+}
+
+p.sidebar-title {
+    font-weight: bold;
+}
+
+div.admonition, div.topic, blockquote {
+    clear: left;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+div.topic {
+    border: 1px solid #ccc;
+    padding: 7px;
+    margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+    font-size: 1.1em;
+    font-weight: bold;
+    margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+    margin-top: 10px;
+    margin-bottom: 10px;
+    padding: 7px;
+}
+
+div.admonition dt {
+    font-weight: bold;
+}
+
+p.admonition-title {
+    margin: 0px 10px 5px 0px;
+    font-weight: bold;
+}
+
+div.body p.centered {
+    text-align: center;
+    margin-top: 25px;
+}
+
+/* -- content of sidebars/topics/admonitions -------------------------------- */
+
+div.sidebar > :last-child,
+aside.sidebar > :last-child,
+div.topic > :last-child,
+div.admonition > :last-child {
+    margin-bottom: 0;
+}
+
+div.sidebar::after,
+aside.sidebar::after,
+div.topic::after,
+div.admonition::after,
+blockquote::after {
+    display: block;
+    content: '';
+    clear: both;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+    margin-top: 10px;
+    margin-bottom: 10px;
+    border: 0;
+    border-collapse: collapse;
+}
+
+table.align-center {
+    margin-left: auto;
+    margin-right: auto;
+}
+
+table.align-default {
+    margin-left: auto;
+    margin-right: auto;
+}
+
+table caption span.caption-number {
+    font-style: italic;
+}
+
+table caption span.caption-text {
+}
+
+table.docutils td, table.docutils th {
+    padding: 1px 8px 1px 5px;
+    border-top: 0;
+    border-left: 0;
+    border-right: 0;
+    border-bottom: 1px solid #aaa;
+}
+
+table.footnote td, table.footnote th {
+    border: 0 !important;
+}
+
+th {
+    text-align: left;
+    padding-right: 5px;
+}
+
+table.citation {
+    border-left: solid 1px gray;
+    margin-left: 1px;
+}
+
+table.citation td {
+    border-bottom: none;
+}
+
+th > :first-child,
+td > :first-child {
+    margin-top: 0px;
+}
+
+th > :last-child,
+td > :last-child {
+    margin-bottom: 0px;
+}
+
+/* -- figures --------------------------------------------------------------- */
+
+div.figure, figure {
+    margin: 0.5em;
+    padding: 0.5em;
+}
+
+div.figure p.caption, figcaption {
+    padding: 0.3em;
+}
+
+div.figure p.caption span.caption-number,
+figcaption span.caption-number {
+    font-style: italic;
+}
+
+div.figure p.caption span.caption-text,
+figcaption span.caption-text {
+}
+
+/* -- field list styles ----------------------------------------------------- */
+
+table.field-list td, table.field-list th {
+    border: 0 !important;
+}
+
+.field-list ul {
+    margin: 0;
+    padding-left: 1em;
+}
+
+.field-list p {
+    margin: 0;
+}
+
+.field-name {
+    -moz-hyphens: manual;
+    -ms-hyphens: manual;
+    -webkit-hyphens: manual;
+    hyphens: manual;
+}
+
+/* -- hlist styles ---------------------------------------------------------- */
+
+table.hlist {
+    margin: 1em 0;
+}
+
+table.hlist td {
+    vertical-align: top;
+}
+
+
+/* -- other body styles ----------------------------------------------------- */
+
+ol.arabic {
+    list-style: decimal;
+}
+
+ol.loweralpha {
+    list-style: lower-alpha;
+}
+
+ol.upperalpha {
+    list-style: upper-alpha;
+}
+
+ol.lowerroman {
+    list-style: lower-roman;
+}
+
+ol.upperroman {
+    list-style: upper-roman;
+}
+
+:not(li) > ol > li:first-child > :first-child,
+:not(li) > ul > li:first-child > :first-child {
+    margin-top: 0px;
+}
+
+:not(li) > ol > li:last-child > :last-child,
+:not(li) > ul > li:last-child > :last-child {
+    margin-bottom: 0px;
+}
+
+ol.simple ol p,
+ol.simple ul p,
+ul.simple ol p,
+ul.simple ul p {
+    margin-top: 0;
+}
+
+ol.simple > li:not(:first-child) > p,
+ul.simple > li:not(:first-child) > p {
+    margin-top: 0;
+}
+
+ol.simple p,
+ul.simple p {
+    margin-bottom: 0;
+}
+
+dl.footnote > dt,
+dl.citation > dt {
+    float: left;
+    margin-right: 0.5em;
+}
+
+dl.footnote > dd,
+dl.citation > dd {
+    margin-bottom: 0em;
+}
+
+dl.footnote > dd:after,
+dl.citation > dd:after {
+    content: "";
+    clear: both;
+}
+
+dl.field-list {
+    display: grid;
+    grid-template-columns: fit-content(30%) auto;
+}
+
+dl.field-list > dt {
+    font-weight: bold;
+    word-break: break-word;
+    padding-left: 0.5em;
+    padding-right: 5px;
+}
+
+dl.field-list > dt:after {
+    content: ":";
+}
+
+dl.field-list > dd {
+    padding-left: 0.5em;
+    margin-top: 0em;
+    margin-left: 0em;
+    margin-bottom: 0em;
+}
+
+dl {
+    margin-bottom: 15px;
+}
+
+dd > :first-child {
+    margin-top: 0px;
+}
+
+dd ul, dd table {
+    margin-bottom: 10px;
+}
+
+dd {
+    margin-top: 3px;
+    margin-bottom: 10px;
+    margin-left: 30px;
+}
+
+dl > dd:last-child,
+dl > dd:last-child > :last-child {
+    margin-bottom: 0;
+}
+
+dt:target, span.highlighted {
+    background-color: #fbe54e;
+}
+
+rect.highlighted {
+    fill: #fbe54e;
+}
+
+dl.glossary dt {
+    font-weight: bold;
+    font-size: 1.1em;
+}
+
+.optional {
+    font-size: 1.3em;
+}
+
+.sig-paren {
+    font-size: larger;
+}
+
+.versionmodified {
+    font-style: italic;
+}
+
+.system-message {
+    background-color: #fda;
+    padding: 5px;
+    border: 3px solid red;
+}
+
+.footnote:target  {
+    background-color: #ffa;
+}
+
+.line-block {
+    display: block;
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+
+.line-block .line-block {
+    margin-top: 0;
+    margin-bottom: 0;
+    margin-left: 1.5em;
+}
+
+.guilabel, .menuselection {
+    font-family: sans-serif;
+}
+
+.accelerator {
+    text-decoration: underline;
+}
+
+.classifier {
+    font-style: oblique;
+}
+
+.classifier:before {
+    font-style: normal;
+    margin: 0.5em;
+    content: ":";
+}
+
+abbr, acronym {
+    border-bottom: dotted 1px;
+    cursor: help;
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+    overflow: auto;
+    overflow-y: hidden;  /* fixes display issues on Chrome browsers */
+}
+
+pre, div[class*="highlight-"] {
+    clear: both;
+}
+
+span.pre {
+    -moz-hyphens: none;
+    -ms-hyphens: none;
+    -webkit-hyphens: none;
+    hyphens: none;
+}
+
+div[class*="highlight-"] {
+    margin: 1em 0;
+}
+
+td.linenos pre {
+    border: 0;
+    background-color: transparent;
+    color: #aaa;
+}
+
+table.highlighttable {
+    display: block;
+}
+
+table.highlighttable tbody {
+    display: block;
+}
+
+table.highlighttable tr {
+    display: flex;
+}
+
+table.highlighttable td {
+    margin: 0;
+    padding: 0;
+}
+
+table.highlighttable td.linenos {
+    padding-right: 0.5em;
+}
+
+table.highlighttable td.code {
+    flex: 1;
+    overflow: hidden;
+}
+
+.highlight .hll {
+    display: block;
+}
+
+div.highlight pre,
+table.highlighttable pre {
+    margin: 0;
+}
+
+div.code-block-caption + div {
+    margin-top: 0;
+}
+
+div.code-block-caption {
+    margin-top: 1em;
+    padding: 2px 5px;
+    font-size: small;
+}
+
+div.code-block-caption code {
+    background-color: transparent;
+}
+
+table.highlighttable td.linenos,
+span.linenos,
+div.doctest > div.highlight span.gp {  /* gp: Generic.Prompt */
+    user-select: none;
+}
+
+div.code-block-caption span.caption-number {
+    padding: 0.1em 0.3em;
+    font-style: italic;
+}
+
+div.code-block-caption span.caption-text {
+}
+
+div.literal-block-wrapper {
+    margin: 1em 0;
+}
+
+code.descname {
+    background-color: transparent;
+    font-weight: bold;
+    font-size: 1.2em;
+}
+
+code.descclassname {
+    background-color: transparent;
+}
+
+code.xref, a code {
+    background-color: transparent;
+    font-weight: bold;
+}
+
+h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
+    background-color: transparent;
+}
+
+.viewcode-link {
+    float: right;
+}
+
+.viewcode-back {
+    float: right;
+    font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+    margin: -1px -10px;
+    padding: 0 10px;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+    vertical-align: middle;
+}
+
+div.body div.math p {
+    text-align: center;
+}
+
+span.eqno {
+    float: right;
+}
+
+span.eqno a.headerlink {
+    position: absolute;
+    z-index: 1;
+}
+
+div.math:hover a.headerlink {
+    visibility: visible;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+@media print {
+    div.document,
+    div.documentwrapper,
+    div.bodywrapper {
+        margin: 0 !important;
+        width: 100%;
+    }
+
+    div.sphinxsidebar,
+    div.related,
+    div.footer,
+    #top-link {
+        display: none;
+    }
+}
\ No newline at end of file
diff --git a/content/docs/latest/_static/css/badge_only.css b/content/docs/latest/_static/css/badge_only.css
new file mode 100644
index 0000000..e380325
--- /dev/null
+++ b/content/docs/latest/_static/css/badge_only.css
@@ -0,0 +1 @@
+.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff [...]
\ No newline at end of file
diff --git a/content/docs/latest/_static/css/fonts/Roboto-Slab-Bold.woff b/content/docs/latest/_static/css/fonts/Roboto-Slab-Bold.woff
new file mode 100644
index 0000000..6cb6000
Binary files /dev/null and b/content/docs/latest/_static/css/fonts/Roboto-Slab-Bold.woff differ
diff --git a/content/docs/latest/_static/css/fonts/Roboto-Slab-Bold.woff2 b/content/docs/latest/_static/css/fonts/Roboto-Slab-Bold.woff2
new file mode 100644
index 0000000..7059e23
Binary files /dev/null and b/content/docs/latest/_static/css/fonts/Roboto-Slab-Bold.woff2 differ
diff --git a/content/docs/latest/_static/css/fonts/Roboto-Slab-Regular.woff b/content/docs/latest/_static/css/fonts/Roboto-Slab-Regular.woff
new file mode 100644
index 0000000..f815f63
Binary files /dev/null and b/content/docs/latest/_static/css/fonts/Roboto-Slab-Regular.woff differ
diff --git a/content/docs/latest/_static/css/fonts/Roboto-Slab-Regular.woff2 b/content/docs/latest/_static/css/fonts/Roboto-Slab-Regular.woff2
new file mode 100644
index 0000000..f2c76e5
Binary files /dev/null and b/content/docs/latest/_static/css/fonts/Roboto-Slab-Regular.woff2 differ
diff --git a/content/docs/latest/_static/css/fonts/fontawesome-webfont.eot b/content/docs/latest/_static/css/fonts/fontawesome-webfont.eot
new file mode 100644
index 0000000..e9f60ca
Binary files /dev/null and b/content/docs/latest/_static/css/fonts/fontawesome-webfont.eot differ
diff --git a/content/docs/latest/_static/css/fonts/fontawesome-webfont.svg b/content/docs/latest/_static/css/fonts/fontawesome-webfont.svg
new file mode 100644
index 0000000..855c845
--- /dev/null
+++ b/content/docs/latest/_static/css/fonts/fontawesome-webfont.svg
@@ -0,0 +1,2671 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016
+ By ,,,
+Copyright Dave Gandy 2016. All rights reserved.
+</metadata>
+<defs>
+<font id="FontAwesome" horiz-adv-x="1536" >
+  <font-face 
+    font-family="FontAwesome"
+    font-weight="400"
+    font-stretch="normal"
+    units-per-em="1792"
+    panose-1="0 0 0 0 0 0 0 0 0 0"
+    ascent="1536"
+    descent="-256"
+    bbox="-1.02083 -256.962 2304.6 1537.02"
+    underline-thickness="0"
+    underline-position="0"
+    unicode-range="U+0020-F500"
+  />
+<missing-glyph horiz-adv-x="896" 
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+    <glyph glyph-name=".notdef" horiz-adv-x="896" 
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+    <glyph glyph-name=".null" horiz-adv-x="0" 
+ />
+    <glyph glyph-name="nonmarkingreturn" horiz-adv-x="597" 
+ />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="448" 
+ />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="glass" unicode="&#xf000;" horiz-adv-x="1792" 
+d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
+    <glyph glyph-name="music" unicode="&#xf001;" 
+d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89
+t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="search" unicode="&#xf002;" horiz-adv-x="1664" 
+d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5
+t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+    <glyph glyph-name="envelope" unicode="&#xf003;" horiz-adv-x="1792" 
+d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13
+t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z
+M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="heart" unicode="&#xf004;" horiz-adv-x="1792" 
+d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600
+q-18 -18 -44 -18z" />
+    <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="1664" 
+d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455
+l502 -73q56 -9 56 -46z" />
+    <glyph glyph-name="star_empty" unicode="&#xf006;" horiz-adv-x="1664" 
+d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500
+l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
+    <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="1280" 
+d="M1280 137q0 -109 -62.5 -187t-150.5 -78h-854q-88 0 -150.5 78t-62.5 187q0 85 8.5 160.5t31.5 152t58.5 131t94 89t134.5 34.5q131 -128 313 -128t313 128q76 0 134.5 -34.5t94 -89t58.5 -131t31.5 -152t8.5 -160.5zM1024 1024q0 -159 -112.5 -271.5t-271.5 -112.5
+t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="film" unicode="&#xf008;" horiz-adv-x="1920" 
+d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128
+q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45
+t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128
+q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19
+t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="th_large" unicode="&#xf009;" horiz-adv-x="1664" 
+d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38
+h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="th" unicode="&#xf00a;" horiz-adv-x="1792" 
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="th_list" unicode="&#xf00b;" horiz-adv-x="1792" 
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="ok" unicode="&#xf00c;" horiz-adv-x="1792" 
+d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
+    <glyph glyph-name="remove" unicode="&#xf00d;" horiz-adv-x="1408" 
+d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68
+t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
+    <glyph glyph-name="zoom_in" unicode="&#xf00e;" horiz-adv-x="1664" 
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224
+q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5
+t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+    <glyph glyph-name="zoom_out" unicode="&#xf010;" horiz-adv-x="1664" 
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z
+M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z
+" />
+    <glyph glyph-name="off" unicode="&#xf011;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5
+t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
+    <glyph glyph-name="signal" unicode="&#xf012;" horiz-adv-x="1792" 
+d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
+v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="cog" unicode="&#xf013;" 
+d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38
+q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13
+l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22
+q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
+    <glyph glyph-name="trash" unicode="&#xf014;" horiz-adv-x="1408" 
+d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832
+q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="home" unicode="&#xf015;" horiz-adv-x="1664" 
+d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5
+l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
+    <glyph glyph-name="file_alt" unicode="&#xf016;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+" />
+    <glyph glyph-name="time" unicode="&#xf017;" 
+d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="road" unicode="&#xf018;" horiz-adv-x="1920" 
+d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256
+q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
+    <glyph glyph-name="download_alt" unicode="&#xf019;" horiz-adv-x="1664" 
+d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136
+q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
+    <glyph glyph-name="download" unicode="&#xf01a;" 
+d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273
+t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="upload" unicode="&#xf01b;" 
+d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198
+t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="inbox" unicode="&#xf01c;" 
+d="M1023 576h316q-1 3 -2.5 8.5t-2.5 7.5l-212 496h-708l-212 -496q-1 -3 -2.5 -8.5t-2.5 -7.5h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552
+q25 -61 25 -123z" />
+    <glyph glyph-name="play_circle" unicode="&#xf01d;" 
+d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="repeat" unicode="&#xf01e;" 
+d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q15 0 25 -9
+l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
+    <glyph glyph-name="refresh" unicode="&#xf021;" 
+d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117
+q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5
+q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="list_alt" unicode="&#xf022;" horiz-adv-x="1792" 
+d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z
+M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5
+t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47
+t47 -113z" />
+    <glyph glyph-name="lock" unicode="&#xf023;" horiz-adv-x="1152" 
+d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="flag" unicode="&#xf024;" horiz-adv-x="1792" 
+d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48
+t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="headphones" unicode="&#xf025;" horiz-adv-x="1664" 
+d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78
+t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5
+t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
+    <glyph glyph-name="volume_off" unicode="&#xf026;" horiz-adv-x="768" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="volume_down" unicode="&#xf027;" horiz-adv-x="1152" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
+    <glyph glyph-name="volume_up" unicode="&#xf028;" horiz-adv-x="1664" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5
+t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289
+t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
+    <glyph glyph-name="qrcode" unicode="&#xf029;" horiz-adv-x="1408" 
+d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z
+M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
+    <glyph glyph-name="barcode" unicode="&#xf02a;" horiz-adv-x="1792" 
+d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z
+M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
+    <glyph glyph-name="tag" unicode="&#xf02b;" 
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91z" />
+    <glyph glyph-name="tags" unicode="&#xf02c;" horiz-adv-x="1920" 
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
+    <glyph glyph-name="book" unicode="&#xf02d;" horiz-adv-x="1664" 
+d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23
+q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906
+q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5
+t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
+    <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="1280" 
+d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+    <glyph glyph-name="print" unicode="&#xf02f;" horiz-adv-x="1664" 
+d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68
+v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
+    <glyph glyph-name="camera" unicode="&#xf030;" horiz-adv-x="1920" 
+d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136
+q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="font" unicode="&#xf031;" horiz-adv-x="1664" 
+d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57
+q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -5 -0.5 -13.5t-0.5 -12.5q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5
+q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
+    <glyph glyph-name="bold" unicode="&#xf032;" horiz-adv-x="1408" 
+d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142
+q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5
+t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68 -0.5t68 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5
+t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
+    <glyph glyph-name="italic" unicode="&#xf033;" horiz-adv-x="1024" 
+d="M0 -126l17 85q22 7 61.5 16.5t72 19t59.5 23.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5
+q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
+    <glyph glyph-name="text_height" unicode="&#xf034;" horiz-adv-x="1792" 
+d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2
+t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5
+q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
+    <glyph glyph-name="text_width" unicode="&#xf035;" 
+d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1
+t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5
+t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49
+t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
+    <glyph glyph-name="align_left" unicode="&#xf036;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_center" unicode="&#xf037;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19
+h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_right" unicode="&#xf038;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_justify" unicode="&#xf039;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="list" unicode="&#xf03a;" horiz-adv-x="1792" 
+d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5
+t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344
+q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192
+q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="indent_left" unicode="&#xf03b;" horiz-adv-x="1792" 
+d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="indent_right" unicode="&#xf03c;" horiz-adv-x="1792" 
+d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="facetime_video" unicode="&#xf03d;" horiz-adv-x="1792" 
+d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5
+q39 -17 39 -59z" />
+    <glyph glyph-name="picture" unicode="&#xf03e;" horiz-adv-x="1920" 
+d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216
+q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="pencil" unicode="&#xf040;" 
+d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38
+q53 0 91 -38l235 -234q37 -39 37 -91z" />
+    <glyph glyph-name="map_marker" unicode="&#xf041;" horiz-adv-x="1024" 
+d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
+    <glyph glyph-name="adjust" unicode="&#xf042;" 
+d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="tint" unicode="&#xf043;" horiz-adv-x="1024" 
+d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362
+q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
+    <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="1792" 
+d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92
+l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
+    <glyph glyph-name="share" unicode="&#xf045;" horiz-adv-x="1664" 
+d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832
+q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5
+t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="check" unicode="&#xf046;" horiz-adv-x="1664" 
+d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832
+q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110
+q24 -24 24 -57t-24 -57z" />
+    <glyph glyph-name="move" unicode="&#xf047;" horiz-adv-x="1792" 
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45
+t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="step_backward" unicode="&#xf048;" horiz-adv-x="1024" 
+d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19z" />
+    <glyph glyph-name="fast_backward" unicode="&#xf049;" horiz-adv-x="1792" 
+d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19l710 710
+q19 19 32 13t13 -32v-710q4 10 13 19z" />
+    <glyph glyph-name="backward" unicode="&#xf04a;" horiz-adv-x="1664" 
+d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q4 10 13 19z" />
+    <glyph glyph-name="play" unicode="&#xf04b;" horiz-adv-x="1408" 
+d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
+    <glyph glyph-name="pause" unicode="&#xf04c;" 
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="stop" unicode="&#xf04d;" 
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="forward" unicode="&#xf04e;" horiz-adv-x="1664" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+    <glyph glyph-name="fast_forward" unicode="&#xf050;" horiz-adv-x="1792" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19l-710 -710
+q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+    <glyph glyph-name="step_forward" unicode="&#xf051;" horiz-adv-x="1024" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19z" />
+    <glyph glyph-name="eject" unicode="&#xf052;" horiz-adv-x="1538" 
+d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
+    <glyph glyph-name="chevron_left" unicode="&#xf053;" horiz-adv-x="1280" 
+d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="chevron_right" unicode="&#xf054;" horiz-adv-x="1280" 
+d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="plus_sign" unicode="&#xf055;" 
+d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5
+t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="minus_sign" unicode="&#xf056;" 
+d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="remove_sign" unicode="&#xf057;" 
+d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19
+q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ok_sign" unicode="&#xf058;" 
+d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="question_sign" unicode="&#xf059;" 
+d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59
+q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="info_sign" unicode="&#xf05a;" 
+d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23
+t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="screenshot" unicode="&#xf05b;" 
+d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109
+q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143
+q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="remove_circle" unicode="&#xf05c;" 
+d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5
+t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ok_circle" unicode="&#xf05d;" 
+d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198
+t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ban_circle" unicode="&#xf05e;" 
+d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61
+t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
+    <glyph glyph-name="arrow_left" unicode="&#xf060;" 
+d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5
+t32.5 -90.5z" />
+    <glyph glyph-name="arrow_right" unicode="&#xf061;" 
+d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
+    <glyph glyph-name="arrow_up" unicode="&#xf062;" horiz-adv-x="1664" 
+d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651
+q37 -39 37 -91z" />
+    <glyph glyph-name="arrow_down" unicode="&#xf063;" horiz-adv-x="1664" 
+d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
+    <glyph glyph-name="share_alt" unicode="&#xf064;" horiz-adv-x="1792" 
+d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22
+t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
+    <glyph glyph-name="resize_full" unicode="&#xf065;" 
+d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332
+q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="resize_small" unicode="&#xf066;" 
+d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45
+t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
+    <glyph glyph-name="plus" unicode="&#xf067;" horiz-adv-x="1408" 
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="minus" unicode="&#xf068;" horiz-adv-x="1408" 
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="asterisk" unicode="&#xf069;" horiz-adv-x="1664" 
+d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154
+q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
+    <glyph glyph-name="exclamation_sign" unicode="&#xf06a;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192
+q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
+    <glyph glyph-name="gift" unicode="&#xf06b;" 
+d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320
+q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5
+t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="leaf" unicode="&#xf06c;" horiz-adv-x="1792" 
+d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268
+q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-43 0 -63.5 17.5t-45.5 59.5q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5
+t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
+    <glyph glyph-name="fire" unicode="&#xf06d;" horiz-adv-x="1408" 
+d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1
+q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
+    <glyph glyph-name="eye_open" unicode="&#xf06e;" horiz-adv-x="1792" 
+d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5
+t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
+    <glyph glyph-name="eye_close" unicode="&#xf070;" horiz-adv-x="1792" 
+d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9
+q-106 -189 -316 -567t-315 -566l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5
+q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z
+" />
+    <glyph glyph-name="warning_sign" unicode="&#xf071;" horiz-adv-x="1792" 
+d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185
+q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
+    <glyph glyph-name="plane" unicode="&#xf072;" horiz-adv-x="1408" 
+d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9
+q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
+    <glyph glyph-name="calendar" unicode="&#xf073;" horiz-adv-x="1664" 
+d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z
+M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64
+q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47
+h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="random" unicode="&#xf074;" horiz-adv-x="1792" 
+d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1
+t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5
+v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111
+t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+    <glyph glyph-name="comment" unicode="&#xf075;" horiz-adv-x="1792" 
+d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281
+q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="magnet" unicode="&#xf076;" 
+d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384
+q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="chevron_up" unicode="&#xf077;" horiz-adv-x="1792" 
+d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
+    <glyph glyph-name="chevron_down" unicode="&#xf078;" horiz-adv-x="1792" 
+d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
+    <glyph glyph-name="retweet" unicode="&#xf079;" horiz-adv-x="1920" 
+d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -10 7 -21
+zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z
+" />
+    <glyph glyph-name="shopping_cart" unicode="&#xf07a;" horiz-adv-x="1664" 
+d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45
+t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="folder_close" unicode="&#xf07b;" horiz-adv-x="1664" 
+d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="folder_open" unicode="&#xf07c;" horiz-adv-x="1920" 
+d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5
+t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="resize_vertical" unicode="&#xf07d;" horiz-adv-x="768" 
+d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="resize_horizontal" unicode="&#xf07e;" horiz-adv-x="1792" 
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="bar_chart" unicode="&#xf080;" horiz-adv-x="2048" 
+d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
+    <glyph glyph-name="twitter_sign" unicode="&#xf081;" 
+d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4
+q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5
+t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="facebook_sign" unicode="&#xf082;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960z" />
+    <glyph glyph-name="camera_retro" unicode="&#xf083;" horiz-adv-x="1792" 
+d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5
+t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280
+q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="key" unicode="&#xf084;" horiz-adv-x="1792" 
+d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26
+l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5
+t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
+    <glyph glyph-name="cogs" unicode="&#xf085;" horiz-adv-x="1920" 
+d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -11 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5
+l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7
+l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -8 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31
+q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20
+t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68
+q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70
+q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
+    <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="1792" 
+d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224
+q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7
+q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
+    <glyph glyph-name="thumbs_up_alt" unicode="&#xf087;" 
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5
+t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769
+q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128
+q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
+    <glyph glyph-name="thumbs_down_alt" unicode="&#xf088;" 
+d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 31 18 69q0 37 -17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5
+t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z
+M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5
+h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -73 49 -163z" />
+    <glyph glyph-name="star_half" unicode="&#xf089;" horiz-adv-x="896" 
+d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
+    <glyph glyph-name="heart_empty" unicode="&#xf08a;" horiz-adv-x="1792" 
+d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559
+q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5
+q224 0 351 -124t127 -344z" />
+    <glyph glyph-name="signout" unicode="&#xf08b;" horiz-adv-x="1664" 
+d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704
+q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
+    <glyph glyph-name="linkedin_sign" unicode="&#xf08c;" 
+d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5
+q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="pushpin" unicode="&#xf08d;" horiz-adv-x="1152" 
+d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38
+t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
+    <glyph glyph-name="external_link" unicode="&#xf08e;" horiz-adv-x="1792" 
+d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="signin" unicode="&#xf090;" 
+d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5
+q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="trophy" unicode="&#xf091;" horiz-adv-x="1664" 
+d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91
+t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96
+q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="github_sign" unicode="&#xf092;" 
+d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4
+q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4
+t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16
+q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="upload_alt" unicode="&#xf093;" horiz-adv-x="1664" 
+d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92
+t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
+    <glyph glyph-name="lemon" unicode="&#xf094;" 
+d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5
+q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44
+q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5
+q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -13 2 -25t3.5 -16.5t7.5 -20.5t8 -20q16 -40 25 -118.5t9 -136.5z" />
+    <glyph glyph-name="phone" unicode="&#xf095;" horiz-adv-x="1408" 
+d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -53 3.5t-57.5 12.5t-47 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-127 79 -264 216t-216 264q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47t-12.5 57.5t-3.5 53q0 92 51 186
+q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174q2 -1 19 -11.5t24 -14
+t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
+    <glyph glyph-name="check_empty" unicode="&#xf096;" horiz-adv-x="1408" 
+d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="bookmark_empty" unicode="&#xf097;" horiz-adv-x="1280" 
+d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289
+q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+    <glyph glyph-name="phone_sign" unicode="&#xf098;" 
+d="M1280 343q0 11 -2 16t-18 16.5t-40.5 25t-47.5 26.5t-45.5 25t-28.5 15q-5 3 -19 13t-25 15t-21 5q-15 0 -36.5 -20.5t-39.5 -45t-38.5 -45t-33.5 -20.5q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170 126.5t-127 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5
+t-3.5 16.5q0 13 20.5 33.5t45 38.5t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5
+t320.5 -216.5q6 -2 30 -11t33 -12.5t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z
+" />
+    <glyph glyph-name="twitter" unicode="&#xf099;" horiz-adv-x="1664" 
+d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41
+q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
+    <glyph glyph-name="facebook" unicode="&#xf09a;" horiz-adv-x="1024" 
+d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
+    <glyph glyph-name="github" unicode="&#xf09b;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24
+q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5
+t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12
+q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z
+M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
+    <glyph glyph-name="unlock" unicode="&#xf09c;" horiz-adv-x="1664" 
+d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5
+t316.5 -131.5t131.5 -316.5z" />
+    <glyph glyph-name="credit_card" unicode="&#xf09d;" horiz-adv-x="1920" 
+d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608
+q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
+    <glyph glyph-name="rss" unicode="&#xf09e;" horiz-adv-x="1408" 
+d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5
+t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294
+q187 -186 294 -425.5t120 -501.5z" />
+    <glyph glyph-name="hdd" unicode="&#xf0a0;" 
+d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5
+h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75
+l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
+    <glyph glyph-name="bullhorn" unicode="&#xf0a1;" horiz-adv-x="1792" 
+d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5
+t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
+    <glyph glyph-name="bell" unicode="&#xf0a2;" horiz-adv-x="1792" 
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z
+M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5
+t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+    <glyph glyph-name="certificate" unicode="&#xf0a3;" 
+d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70
+l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70
+l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
+    <glyph glyph-name="hand_right" unicode="&#xf0a4;" horiz-adv-x="1792" 
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106
+q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43
+q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5
+t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
+    <glyph glyph-name="hand_left" unicode="&#xf0a5;" horiz-adv-x="1792" 
+d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-8 9 -12 14q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576q-50 0 -89 -38.5
+t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45z
+M1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128q0 122 81.5 189t206.5 67
+q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="hand_up" unicode="&#xf0a6;" 
+d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576
+q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5
+t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76
+q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
+    <glyph glyph-name="hand_down" unicode="&#xf0a7;" 
+d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33
+t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580
+q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100
+q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
+    <glyph glyph-name="circle_arrow_left" unicode="&#xf0a8;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_right" unicode="&#xf0a9;" 
+d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_up" unicode="&#xf0aa;" 
+d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_down" unicode="&#xf0ab;" 
+d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="globe" unicode="&#xf0ac;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11
+q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 11t-9.5 10q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5
+q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5
+q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5
+t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-4 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3
+q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25
+q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5
+t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5
+t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10.5t17 -19.5q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21
+q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5
+q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3
+q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5
+t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q8 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5
+q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7
+q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
+    <glyph glyph-name="wrench" unicode="&#xf0ad;" horiz-adv-x="1664" 
+d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5
+t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
+    <glyph glyph-name="tasks" unicode="&#xf0ae;" horiz-adv-x="1792" 
+d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19
+t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="filter" unicode="&#xf0b0;" horiz-adv-x="1408" 
+d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
+    <glyph glyph-name="briefcase" unicode="&#xf0b1;" horiz-adv-x="1792" 
+d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68
+t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="fullscreen" unicode="&#xf0b2;" 
+d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144
+l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z
+" />
+    <glyph glyph-name="group" unicode="&#xf0c0;" horiz-adv-x="1920" 
+d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75
+t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5
+t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
+    <glyph glyph-name="link" unicode="&#xf0c1;" horiz-adv-x="1664" 
+d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26
+l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15
+t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207
+q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
+    <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="1920" 
+d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z
+" />
+    <glyph glyph-name="beaker" unicode="&#xf0c3;" horiz-adv-x="1664" 
+d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
+    <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="1792" 
+d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84
+q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148
+q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108
+q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6
+q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
+    <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="1792" 
+d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299
+h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
+    <glyph glyph-name="paper_clip" unicode="&#xf0c6;" horiz-adv-x="1408" 
+d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181
+l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235
+z" />
+    <glyph glyph-name="save" unicode="&#xf0c7;" 
+d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5
+h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
+    <glyph glyph-name="sign_blank" unicode="&#xf0c8;" 
+d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="reorder" unicode="&#xf0c9;" 
+d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45
+t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="ul" unicode="&#xf0ca;" horiz-adv-x="1792" 
+d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z
+M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="ol" unicode="&#xf0cb;" horiz-adv-x="1792" 
+d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362
+q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5
+t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 121.5t0.5 121.5v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216
+q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="strikethrough" unicode="&#xf0cc;" horiz-adv-x="1792" 
+d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 98 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6
+l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -56 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23
+l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
+    <glyph glyph-name="underline" unicode="&#xf0cd;" 
+d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47
+q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41
+q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472
+q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
+    <glyph glyph-name="table" unicode="&#xf0ce;" horiz-adv-x="1664" 
+d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23
+v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192
+q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192
+q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113
+z" />
+    <glyph glyph-name="magic" unicode="&#xf0d0;" horiz-adv-x="1664" 
+d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276
+l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
+    <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="1792" 
+d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5
+t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38
+t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="pinterest" unicode="&#xf0d2;" 
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134
+q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33
+q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="pinterest_sign" unicode="&#xf0d3;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5
+t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5
+t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
+    <glyph glyph-name="google_plus_sign" unicode="&#xf0d4;" 
+d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585
+h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="google_plus" unicode="&#xf0d5;" horiz-adv-x="2304" 
+d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62
+q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
+    <glyph glyph-name="money" unicode="&#xf0d6;" horiz-adv-x="1920" 
+d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384
+v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="caret_down" unicode="&#xf0d7;" horiz-adv-x="1024" 
+d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="caret_up" unicode="&#xf0d8;" horiz-adv-x="1024" 
+d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="caret_left" unicode="&#xf0d9;" horiz-adv-x="640" 
+d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="caret_right" unicode="&#xf0da;" horiz-adv-x="640" 
+d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="columns" unicode="&#xf0db;" horiz-adv-x="1664" 
+d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="1024" 
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="sort_down" unicode="&#xf0dd;" horiz-adv-x="1024" 
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="sort_up" unicode="&#xf0de;" horiz-adv-x="1024" 
+d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="envelope_alt" unicode="&#xf0e0;" horiz-adv-x="1792" 
+d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123
+q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
+    <glyph glyph-name="linkedin" unicode="&#xf0e1;" 
+d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329
+q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
+    <glyph glyph-name="undo" unicode="&#xf0e2;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
+t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
+    <glyph glyph-name="legal" unicode="&#xf0e3;" horiz-adv-x="1792" 
+d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5
+t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14
+q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28
+q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
+    <glyph glyph-name="dashboard" unicode="&#xf0e4;" horiz-adv-x="1792" 
+d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5
+t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5
+t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29
+q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="comment_alt" unicode="&#xf0e5;" horiz-adv-x="1792" 
+d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640
+q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5
+t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="comments_alt" unicode="&#xf0e6;" horiz-adv-x="1792" 
+d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257
+t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5
+t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129
+q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
+    <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="896" 
+d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
+    <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="1792" 
+d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68
+z" />
+    <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="1664" 
+d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97
+q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69
+q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
+    <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="1792" 
+d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28
+h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
+    <glyph glyph-name="light_bulb" unicode="&#xf0eb;" horiz-adv-x="1024" 
+d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134
+q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47
+q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5
+t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
+    <glyph glyph-name="exchange" unicode="&#xf0ec;" horiz-adv-x="1792" 
+d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9
+q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+    <glyph glyph-name="cloud_download" unicode="&#xf0ed;" horiz-adv-x="1920" 
+d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+    <glyph glyph-name="cloud_upload" unicode="&#xf0ee;" horiz-adv-x="1920" 
+d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+    <glyph glyph-name="user_md" unicode="&#xf0f0;" horiz-adv-x="1408" 
+d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56
+t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68
+t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="stethoscope" unicode="&#xf0f1;" horiz-adv-x="1408" 
+d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48
+t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252
+t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="suitcase" unicode="&#xf0f2;" horiz-adv-x="1792" 
+d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66
+t66 -158z" />
+    <glyph glyph-name="bell_alt" unicode="&#xf0f3;" horiz-adv-x="1792" 
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5
+t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+    <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="1920" 
+d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45
+t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="food" unicode="&#xf0f5;" horiz-adv-x="1408" 
+d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45
+t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="file_text_alt" unicode="&#xf0f6;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704
+q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
+    <glyph glyph-name="building" unicode="&#xf0f7;" horiz-adv-x="1408" 
+d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="1408" 
+d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5
+t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320
+v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="1920" 
+d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152
+q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="medkit" unicode="&#xf0fa;" horiz-adv-x="1792" 
+d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32
+q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="fighter_jet" unicode="&#xf0fb;" horiz-adv-x="1920" 
+d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96
+q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q128 -28 200 -52t80 -34z" />
+    <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="1664" 
+d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
+    <glyph glyph-name="h_sign" unicode="&#xf0fd;" 
+d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="f0fe" unicode="&#xf0fe;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="double_angle_left" unicode="&#xf100;" horiz-adv-x="1024" 
+d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_right" unicode="&#xf101;" horiz-adv-x="1024" 
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23
+l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_up" unicode="&#xf102;" horiz-adv-x="1152" 
+d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393
+q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_down" unicode="&#xf103;" horiz-adv-x="1152" 
+d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="angle_left" unicode="&#xf104;" horiz-adv-x="640" 
+d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="angle_right" unicode="&#xf105;" horiz-adv-x="640" 
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="angle_up" unicode="&#xf106;" horiz-adv-x="1152" 
+d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="angle_down" unicode="&#xf107;" horiz-adv-x="1152" 
+d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="1920" 
+d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19
+t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="1920" 
+d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z
+M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
+    <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="1152" 
+d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832
+q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="mobile_phone" unicode="&#xf10b;" horiz-adv-x="768" 
+d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136
+q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="circle_blank" unicode="&#xf10c;" 
+d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103
+t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="quote_left" unicode="&#xf10d;" horiz-adv-x="1664" 
+d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z
+M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
+    <glyph glyph-name="quote_right" unicode="&#xf10e;" horiz-adv-x="1664" 
+d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216
+v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
+    <glyph glyph-name="spinner" unicode="&#xf110;" horiz-adv-x="1792" 
+d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z
+M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5
+q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="circle" unicode="&#xf111;" 
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="reply" unicode="&#xf112;" horiz-adv-x="1792" 
+d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19
+l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
+    <glyph glyph-name="github_alt" unicode="&#xf113;" horiz-adv-x="1664" 
+d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320
+q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86
+t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218
+q0 -87 -27 -168q136 -160 136 -398z" />
+    <glyph glyph-name="folder_close_alt" unicode="&#xf114;" horiz-adv-x="1664" 
+d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320
+q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="folder_open_alt" unicode="&#xf115;" horiz-adv-x="1920" 
+d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68
+v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z
+" />
+    <glyph glyph-name="expand_alt" unicode="&#xf116;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="collapse_alt" unicode="&#xf117;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="smile" unicode="&#xf118;" 
+d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5
+t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="frown" unicode="&#xf119;" 
+d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204
+t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="meh" unicode="&#xf11a;" 
+d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="gamepad" unicode="&#xf11b;" horiz-adv-x="1920" 
+d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
+t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150
+t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
+    <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="1920" 
+d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16
+h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16
+h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96
+q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896
+h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="flag_alt" unicode="&#xf11d;" horiz-adv-x="1792" 
+d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9
+h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102
+q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+    <glyph glyph-name="flag_checkered" unicode="&#xf11e;" horiz-adv-x="1792" 
+d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2
... 148322 lines suppressed ...