You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@teaclave.apache.org by ms...@apache.org on 2020/12/04 19:37:05 UTC

[incubator-teaclave-website] branch asf-staging updated: Update documentation

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

mssun pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave-website.git


The following commit(s) were added to refs/heads/asf-staging by this push:
     new eb3c182  Update documentation
eb3c182 is described below

commit eb3c182cb16d2121854a21908e25902a9e9622a7
Author: Mingshen Sun <bo...@mssun.me>
AuthorDate: Fri Dec 4 11:36:47 2020 -0800

    Update documentation
---
 404.html                                           |    4 +-
 api-docs/crates-app/index.html                     |    2 +-
 api-docs/crates-app/settings.html                  |    4 +-
 .../implementors/core/fmt/trait.Display.js         |    2 +-
 api-docs/crates-enclave/quote/all.html             |    2 +-
 api-docs/crates-enclave/quote/index.html           |   26 +-
 api-docs/crates-enclave/quote/macro.quote.html     |  128 +-
 .../crates-enclave/quote/macro.quote_spanned.html  |   23 +-
 api-docs/crates-enclave/quote/sidebar-items.js     |    2 +-
 api-docs/crates-enclave/quote/trait.ToTokens.html  |   16 +-
 .../crates-enclave/quote/trait.TokenStreamExt.html |   16 +-
 api-docs/crates-enclave/search-index.js            |    6 +-
 api-docs/crates-enclave/source-files.js            |    2 +-
 api-docs/crates-enclave/src/quote/ext.rs.html      |   40 +-
 api-docs/crates-enclave/src/quote/lib.rs.html      | 3196 ++++++++------------
 api-docs/crates-enclave/src/quote/runtime.rs.html  |  736 +----
 .../crates-enclave/src/quote/to_tokens.rs.html     |   32 +-
 .../src/teaclave_attestation/report.rs.html        |  134 +-
 .../report/enum.SgxEcdsaQuoteAkType.html           |    8 +-
 .../report/enum.SgxEpidQuoteSigType.html           |    8 +-
 .../report/enum.SgxQuoteStatus.html                |   10 +-
 .../report/enum.SgxQuoteVersion.html               |   12 +-
 .../teaclave_attestation/report/index.html         |    2 +-
 .../report/struct.AttestationReport.html           |    8 +-
 .../report/struct.SgxEnclaveReport.html            |    8 +-
 .../report/struct.SgxQuote.html                    |    8 +-
 .../report/tests/fn.run_tests.html                 |    2 +-
 .../teaclave_attestation/report/tests/index.html   |    2 +-
 api-docs/index.html                                |    4 +-
 .../logo-projects-powered-by-teaclave.3fce54f9.png |  Bin 0 -> 634538 bytes
 assets/img/secure-computing-intel-sgx.51d8330e.png |  Bin 0 -> 404870 bytes
 assets/img/teaclave-ecosystem-cn.4074b3b4.png      |  Bin 0 -> 443259 bytes
 assets/js/10.45c58fe7.js                           |    1 +
 assets/js/100.b4fcf686.js                          |    1 +
 assets/js/{100.1aa52814.js => 101.29dfba5c.js}     |    2 +-
 assets/js/102.4310d1c6.js                          |    1 -
 assets/js/{101.25dfcf5b.js => 102.4502ef3c.js}     |    2 +-
 assets/js/103.06b17231.js                          |    1 +
 assets/js/{103.4c43b9a7.js => 104.efe21519.js}     |    2 +-
 assets/js/{104.32f10d97.js => 105.153d15fd.js}     |    2 +-
 assets/js/{105.36cba433.js => 106.6120b248.js}     |    2 +-
 assets/js/{106.6fd9cc4d.js => 107.8b1b92d7.js}     |    2 +-
 assets/js/{107.d7570346.js => 108.df38fa25.js}     |    2 +-
 assets/js/{108.f62e5569.js => 109.4855ba01.js}     |    2 +-
 assets/js/{10.f0acf912.js => 11.45fce64c.js}       |    2 +-
 assets/js/{109.49d5cc0d.js => 110.f7f22562.js}     |    2 +-
 assets/js/{110.180799c3.js => 111.aa183108.js}     |    2 +-
 assets/js/{111.e39d2fda.js => 112.32ef5016.js}     |    2 +-
 assets/js/{112.65a6cb41.js => 113.33de15ea.js}     |    2 +-
 assets/js/{113.36916665.js => 114.a57fbcfb.js}     |    2 +-
 assets/js/{114.76503be6.js => 115.5f935f25.js}     |    2 +-
 assets/js/{115.24447bcd.js => 116.e026dbe9.js}     |    2 +-
 assets/js/{116.2ffd80a1.js => 117.8eab333b.js}     |    2 +-
 assets/js/{117.2e84c199.js => 118.28fcf26c.js}     |    2 +-
 assets/js/{118.9cf531a2.js => 119.044d2688.js}     |    2 +-
 assets/js/{11.ccf6ce9c.js => 12.7c4a0c82.js}       |    2 +-
 assets/js/{119.4919cb3e.js => 120.f1d24933.js}     |    2 +-
 assets/js/{120.d6d75be1.js => 121.797de51e.js}     |    2 +-
 assets/js/{12.d581c14d.js => 13.d5793297.js}       |    2 +-
 assets/js/{13.ac9c1d26.js => 14.c94a2779.js}       |    2 +-
 assets/js/{14.d028c098.js => 15.5d7c9319.js}       |    2 +-
 assets/js/{15.908652b2.js => 16.eb4cb7a8.js}       |    2 +-
 assets/js/{16.b1e55146.js => 17.e3f50c6d.js}       |    2 +-
 assets/js/{17.01df0670.js => 18.3e98ad35.js}       |    2 +-
 assets/js/{18.72344dec.js => 19.950c7dc4.js}       |    2 +-
 assets/js/{2.9c495c05.js => 2.0b75d1fe.js}         |    2 +-
 assets/js/{19.29affffd.js => 20.69fa65be.js}       |    2 +-
 assets/js/{20.d84d4fc2.js => 21.0422f47d.js}       |    2 +-
 assets/js/{21.4383bc65.js => 22.cd25134b.js}       |    2 +-
 assets/js/{22.d6d138a8.js => 23.1bde8217.js}       |    2 +-
 assets/js/{23.cfc35e2b.js => 24.b7e32ffd.js}       |    2 +-
 assets/js/{24.5e02ceaa.js => 25.8ee6c97b.js}       |    2 +-
 assets/js/{25.a6f56816.js => 26.896ec6e7.js}       |    2 +-
 assets/js/{26.4893c93d.js => 27.814b72c9.js}       |    2 +-
 assets/js/{27.1eb5f797.js => 28.65831f3f.js}       |    2 +-
 assets/js/{28.ac6d7a0d.js => 29.30e6e3a9.js}       |    2 +-
 assets/js/{29.d86b4142.js => 30.b855aa1c.js}       |    2 +-
 assets/js/{30.664ac2b7.js => 31.8bfbfff3.js}       |    2 +-
 assets/js/{31.607389a2.js => 32.9c52c753.js}       |    2 +-
 assets/js/{32.192ee969.js => 33.98e886cf.js}       |    2 +-
 assets/js/{33.607a6518.js => 34.bdec243c.js}       |    2 +-
 assets/js/{34.a92fd233.js => 35.38f6f483.js}       |    2 +-
 assets/js/{35.2f6f313c.js => 36.0d8d8d1b.js}       |    2 +-
 assets/js/{36.854986f3.js => 37.37a10e4b.js}       |    2 +-
 assets/js/{37.1b4b5466.js => 38.92bcdba9.js}       |    2 +-
 assets/js/{38.7f1042b3.js => 39.6458b14f.js}       |    2 +-
 assets/js/{39.fa09433d.js => 40.3c64da17.js}       |    2 +-
 assets/js/{40.f712a06c.js => 41.a0cc8119.js}       |    2 +-
 assets/js/{41.cfa0b8c9.js => 42.bea0a65b.js}       |    2 +-
 assets/js/{42.502c2a3d.js => 43.8a96eddf.js}       |    2 +-
 assets/js/{43.0ace32a7.js => 44.8350fc54.js}       |    2 +-
 assets/js/{44.a5d19c6c.js => 45.b00d54b3.js}       |    2 +-
 assets/js/{45.53cdcaa7.js => 46.07ac9430.js}       |    2 +-
 assets/js/{50.1c024d64.js => 47.66c05910.js}       |    2 +-
 assets/js/{48.e6ecd163.js => 48.1917b85e.js}       |    2 +-
 assets/js/{46.778a3d9a.js => 49.78415f9c.js}       |    2 +-
 assets/js/{5.cd5894ed.js => 5.6befcbee.js}         |    2 +-
 assets/js/{49.508f8e70.js => 50.a44d154a.js}       |    2 +-
 assets/js/{47.2c7d3448.js => 51.7741c348.js}       |    2 +-
 assets/js/51.99180887.js                           |    1 -
 assets/js/52.134efc29.js                           |    1 -
 assets/js/{50.1c024d64.js => 52.7eb3ad27.js}       |    2 +-
 assets/js/{50.1c024d64.js => 53.1d366fe6.js}       |    2 +-
 assets/js/53.98d574d1.js                           |    1 -
 assets/js/54.c03bdf42.js                           |    1 -
 assets/js/{50.1c024d64.js => 54.d094e08a.js}       |    2 +-
 assets/js/55.225a4ddf.js                           |    1 -
 assets/js/{50.1c024d64.js => 55.7fe6645f.js}       |    2 +-
 assets/js/{50.1c024d64.js => 56.3f61d164.js}       |    2 +-
 assets/js/56.afdea697.js                           |    1 -
 assets/js/{50.1c024d64.js => 57.07349011.js}       |    2 +-
 assets/js/57.0bb0ea57.js                           |    1 -
 assets/js/58.4a87c8d3.js                           |    1 -
 assets/js/{50.1c024d64.js => 58.5cda199f.js}       |    2 +-
 assets/js/{50.1c024d64.js => 59.21802f87.js}       |    2 +-
 assets/js/59.72a05bb5.js                           |    1 -
 assets/js/{6.7c86080e.js => 6.0415ab77.js}         |    2 +-
 assets/js/{50.1c024d64.js => 60.ad043f88.js}       |    2 +-
 assets/js/60.e8ab22cb.js                           |    1 -
 assets/js/61.85f385b0.js                           |    1 -
 assets/js/{50.1c024d64.js => 61.be49d6c9.js}       |    2 +-
 assets/js/{50.1c024d64.js => 62.d18ba717.js}       |    2 +-
 assets/js/62.fb9865e9.js                           |    1 -
 assets/js/{50.1c024d64.js => 63.eade3b4d.js}       |    2 +-
 assets/js/{63.2748426a.js => 64.0cd7daf3.js}       |    2 +-
 assets/js/64.56f9932f.js                           |    1 -
 assets/js/{50.1c024d64.js => 65.1b59fe53.js}       |    2 +-
 assets/js/65.1e8f31bb.js                           |    1 -
 assets/js/66.5c043e0c.js                           |    1 -
 assets/js/{50.1c024d64.js => 66.fe84822c.js}       |    2 +-
 assets/js/67.339e4e9a.js                           |    1 -
 assets/js/{50.1c024d64.js => 67.84035b9f.js}       |    2 +-
 assets/js/{50.1c024d64.js => 68.1c7be7cb.js}       |    2 +-
 assets/js/68.321ba724.js                           |    1 -
 assets/js/69.bf06a8d7.js                           |    1 -
 assets/js/{50.1c024d64.js => 69.fccdf41c.js}       |    2 +-
 assets/js/7.d282795d.js                            |    1 +
 assets/js/7.ea3c4517.js                            |    1 -
 assets/js/{50.1c024d64.js => 70.823ef0a4.js}       |    2 +-
 assets/js/70.a89dba4f.js                           |    1 -
 assets/js/{50.1c024d64.js => 71.03436890.js}       |    2 +-
 assets/js/{71.f61b60e7.js => 72.12cd3ebf.js}       |    2 +-
 assets/js/73.2b58d1e5.js                           |    1 -
 assets/js/{72.b52da6cc.js => 73.429202cf.js}       |    2 +-
 assets/js/{50.1c024d64.js => 74.28a2db89.js}       |    2 +-
 assets/js/74.d8faadc2.js                           |    1 -
 assets/js/75.56fabeb2.js                           |    1 -
 assets/js/{50.1c024d64.js => 75.fdd59454.js}       |    2 +-
 assets/js/76.be6644c7.js                           |    1 -
 assets/js/{50.1c024d64.js => 76.c6f3842b.js}       |    2 +-
 assets/js/77.9416d888.js                           |    1 -
 assets/js/{50.1c024d64.js => 77.fc39b3bc.js}       |    2 +-
 assets/js/{50.1c024d64.js => 78.1913fc0d.js}       |    2 +-
 assets/js/{78.fd509679.js => 79.346442bb.js}       |    2 +-
 assets/js/8.b1a792e7.js                            |    1 +
 assets/js/{79.0a1058d0.js => 80.4701f932.js}       |    2 +-
 assets/js/{80.770f3a65.js => 81.b096484b.js}       |    2 +-
 assets/js/{81.4f198768.js => 82.c3c0cd76.js}       |    2 +-
 assets/js/{82.08b24aae.js => 83.c414d534.js}       |    2 +-
 assets/js/{83.de1e81b7.js => 84.a07e428e.js}       |    2 +-
 assets/js/{84.c1629530.js => 85.5e189192.js}       |    2 +-
 assets/js/{85.9412d20d.js => 86.e82983b6.js}       |    2 +-
 assets/js/{86.48f68b58.js => 87.53bb3a89.js}       |    2 +-
 assets/js/{87.68636983.js => 88.7c63b857.js}       |    2 +-
 assets/js/{88.f3267ef3.js => 89.b0b6aec5.js}       |    2 +-
 assets/js/9.976c662b.js                            |    1 -
 assets/js/{8.b77a0d53.js => 9.9ff733e4.js}         |    2 +-
 assets/js/{89.889652c3.js => 90.c3217529.js}       |    2 +-
 assets/js/{90.46d41bf6.js => 91.7890ee4a.js}       |    2 +-
 assets/js/{91.8448d655.js => 92.b55c50fa.js}       |    2 +-
 assets/js/{92.1fee5a5a.js => 93.818236d8.js}       |    2 +-
 assets/js/{93.8acfd05f.js => 94.6ebe8dc1.js}       |    2 +-
 assets/js/{94.e01c4937.js => 95.c4489c14.js}       |    2 +-
 assets/js/{95.2f56c6ca.js => 96.5f370cfc.js}       |    2 +-
 assets/js/96.c8ccd2bd.js                           |    1 -
 assets/js/97.5484b1a0.js                           |    1 +
 assets/js/{97.bd1e7304.js => 98.cfd9ae27.js}       |    2 +-
 assets/js/{98.a5f7e2ac.js => 99.0981f7cb.js}       |    2 +-
 assets/js/99.5882f3dc.js                           |    1 -
 assets/js/{app.59ec8dd0.js => app.55ea5d5c.js}     |    4 +-
 ...nate.989c2fd5.js => vuejs-paginate.86a2611c.js} |    2 +-
 .../index.html                                     |    4 +-
 .../index.html                                     |    4 +-
 .../index.html                                     |    4 +-
 .../index.html                                     |    4 +-
 .../index.html                                     |    4 +-
 .../index.html                                     |    4 +-
 .../index.html                                     |    4 +-
 .../index.html                                     |    4 +-
 .../index.html                                     |   60 +-
 blog/index.html                                    |    6 +-
 community/index.html                               |    4 +-
 contributing/index.html                            |    4 +-
 contributors/index.html                            |    4 +-
 docs/access-control/index.html                     |    4 +-
 docs/azure-confidential-computing/index.html       |   10 +-
 docs/build-system/index.html                       |    4 +-
 docs/builtin-functions/index.html                  |    4 +-
 docs/codebase/attestation/index.html               |    4 +-
 docs/codebase/binder/index.html                    |    4 +-
 docs/codebase/cli/index.html                       |    4 +-
 docs/codebase/common/index.html                    |    4 +-
 docs/codebase/config/index.html                    |    4 +-
 docs/codebase/crypto/index.html                    |    4 +-
 docs/codebase/dcap/index.html                      |    4 +-
 docs/codebase/docker/index.html                    |    4 +-
 docs/codebase/examples/index.html                  |    4 +-
 docs/codebase/executor/index.html                  |    4 +-
 docs/codebase/file-agent/index.html                |    4 +-
 docs/codebase/function/index.html                  |    4 +-
 docs/codebase/keys/index.html                      |    4 +-
 docs/codebase/rpc/index.html                       |    4 +-
 docs/codebase/runtime/index.html                   |    4 +-
 docs/codebase/sdk/index.html                       |    4 +-
 docs/codebase/services/index.html                  |    4 +-
 docs/codebase/tests/index.html                     |    4 +-
 docs/codebase/third-party/index.html               |    4 +-
 docs/codebase/tool/index.html                      |    4 +-
 docs/codebase/types/index.html                     |    4 +-
 docs/codebase/worker/index.html                    |    4 +-
 docs/development-tips/index.html                   |    4 +-
 docs/functions-in-python/index.html                |    4 +-
 docs/index.html                                    |    4 +-
 docs/mutual-attestation/index.html                 |    4 +-
 docs/my-first-function/index.html                  |   10 +-
 docs/papers-talks/index.html                       |    4 +-
 docs/rust-guildeline/index.html                    |    4 +-
 docs/service-internals/index.html                  |    4 +-
 docs/threat-model/index.html                       |    4 +-
 download/index.html                                |    4 +-
 index.html                                         |    4 +-
 sgx-sdk-docs/developing-with-vscode/index.html     |    4 +-
 .../everything-about-cve-2020-5499/index.html      |    4 +-
 sgx-sdk-docs/index.html                            |    4 +-
 .../is_x86_feature_detected-in-sgx-sdk/index.html  |    4 +-
 .../documents/sgx_in_mesalock_linux/index.html     |    4 +-
 teaclave-sgx-sdk/documents/sgxtime/index.html      |    4 +-
 teaclave-sgx-sdk/index.html                        |    4 +-
 teaclave-sgx-sdk/release_notes/index.html          |    4 +-
 teaclave-sgx-sdk/samplecode/db-proxy/index.html    |    4 +-
 .../samplecode/dcap-pckretrieval/index.html        |    4 +-
 teaclave-sgx-sdk/samplecode/http_req/index.html    |    4 +-
 teaclave-sgx-sdk/samplecode/logger/index.html      |    4 +-
 teaclave-sgx-sdk/samplecode/mio/index.html         |    4 +-
 teaclave-sgx-sdk/samplecode/mutual-ra/index.html   |    4 +-
 teaclave-sgx-sdk/samplecode/pcl/index.html         |    4 +-
 .../samplecode/psi/GoogleMessages/index.html       |    4 +-
 .../samplecode/psi/SMCServer/lib/index.html        |    4 +-
 teaclave-sgx-sdk/samplecode/psi/index.html         |    4 +-
 .../remoteattestation/Application/lib/index.html   |    4 +-
 .../samplecode/remoteattestation/index.html        |    4 +-
 teaclave-sgx-sdk/samplecode/sgx-cov/index.html     |    4 +-
 teaclave-sgx-sdk/samplecode/tcmalloc/index.html    |    4 +-
 teaclave-sgx-sdk/samplecode/tr-mpc/index.html      |    4 +-
 teaclave-sgx-sdk/samplecode/ue-ra/index.html       |    4 +-
 .../sgx_align_struct_attribute/index.html          |    4 +-
 teaclave-sgx-sdk/sgx_alloc/index.html              |    4 +-
 teaclave-sgx-sdk/sgx_backtrace_sys/index.html      |    4 +-
 .../sgx_backtrace_sys/libbacktrace/index.html      |    4 +-
 teaclave-sgx-sdk/sgx_build_helper/index.html       |    4 +-
 teaclave-sgx-sdk/sgx_cov/index.html                |    4 +-
 teaclave-sgx-sdk/sgx_crypto_helper/index.html      |    4 +-
 teaclave-sgx-sdk/sgx_demangle/index.html           |    4 +-
 teaclave-sgx-sdk/sgx_edl/index.html                |    4 +-
 teaclave-sgx-sdk/sgx_no_tstd/index.html            |    4 +-
 teaclave-sgx-sdk/sgx_rand/index.html               |    4 +-
 teaclave-sgx-sdk/sgx_rand_derive/index.html        |    4 +-
 teaclave-sgx-sdk/sgx_serialize/index.html          |    4 +-
 teaclave-sgx-sdk/sgx_serialize_derive/index.html   |    4 +-
 .../sgx_serialize_derive_internals/index.html      |    4 +-
 teaclave-sgx-sdk/sgx_signal/index.html             |    4 +-
 teaclave-sgx-sdk/sgx_tcrypto/index.html            |    4 +-
 teaclave-sgx-sdk/sgx_tcrypto_helper/index.html     |    4 +-
 teaclave-sgx-sdk/sgx_tdh/index.html                |    4 +-
 teaclave-sgx-sdk/sgx_tkey_exchange/index.html      |    4 +-
 teaclave-sgx-sdk/sgx_tprotected_fs/index.html      |    4 +-
 teaclave-sgx-sdk/sgx_trts/index.html               |    4 +-
 teaclave-sgx-sdk/sgx_tse/index.html                |    4 +-
 teaclave-sgx-sdk/sgx_tseal/index.html              |    4 +-
 .../sgx_tstd/hashbrown/CHANGELOG/index.html        |    4 +-
 teaclave-sgx-sdk/sgx_tstd/hashbrown/index.html     |    4 +-
 teaclave-sgx-sdk/sgx_tstd/index.html               |    4 +-
 teaclave-sgx-sdk/sgx_tunittest/index.html          |    4 +-
 teaclave-sgx-sdk/sgx_types/index.html              |    4 +-
 teaclave-sgx-sdk/sgx_ucrypto/index.html            |    4 +-
 teaclave-sgx-sdk/sgx_unwind/index.html             |    4 +-
 teaclave-sgx-sdk/sgx_urts/index.html               |    4 +-
 teaclave-sgx-sdk/third_party/index.html            |    4 +-
 teaclave/SECURITY/index.html                       |    4 +-
 teaclave/common/protected_fs_rs/index.html         |    4 +-
 teaclave/common/rusty_leveldb_sgx/index.html       |    4 +-
 teaclave/index.html                                |    4 +-
 292 files changed, 1917 insertions(+), 3305 deletions(-)

diff --git a/404.html b/404.html
index 64515ee..943ef2c 100644
--- a/404.html
+++ b/404.html
@@ -7,13 +7,13 @@
     <meta name="generator" content="VuePress 1.5.0">
     <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lato&amp;display=swap">
     <meta name="description" content="Apache Teaclave (incubating) is an open source universal secure computing platform, making computation on privacy-sensitive data safe and simple.">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/12.d581c14d.js" as="script"><link rel="prefetch" href="/assets/js/1.fee0e973.js"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf5b.js"><link rel="prefetch" href="/assets/js/102.4310d1c6.js"><link rel="pr [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/13.d5793297.js" as="script"><link rel="prefetch" href="/assets/js/1.fee0e973.js"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba5c.js"><link rel="prefetch" href="/assets/js/102.4502ef3c.js"><link rel="pr [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
     <div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>How did we get here?</blockquote> <a href="/" class="router-link-active">
       Take me home.
     </a></div></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/12.d581c14d.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/13.d5793297.js" defer></script>
   </body>
 </html>
diff --git a/api-docs/crates-app/index.html b/api-docs/crates-app/index.html
index 11f21cb..e8a11b8 100644
--- a/api-docs/crates-app/index.html
+++ b/api-docs/crates-app/index.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of crates"><meta name="keywords" content="rust, rustlang, rust-lang"><title>Index of crates</title><link rel="stylesheet" type="text/css" href="./normalize.css"><link rel="stylesheet" type="text/css" href="./rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" hre [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of crates"><meta name="keywords" content="rust, rustlang, rust-lang"><title>Index of crates</title><link rel="stylesheet" type="text/css" href="./normalize.css"><link rel="stylesheet" type="text/css" href="./rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" hre [...]
\ No newline at end of file
diff --git a/api-docs/crates-app/settings.html b/api-docs/crates-app/settings.html
index 4141d89..73bf55d 100644
--- a/api-docs/crates-app/settings.html
+++ b/api-docs/crates-app/settings.html
@@ -1,2 +1,2 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><meta name="keywords" content="rust, rustlang, rust-lang"><title>Rustdoc settings</title><link rel="stylesheet" type="text/css" href="./normalize.css"><link rel="stylesheet" type="text/css" href="./rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/cs [...]
-                    </div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-attributes'  checked><span class='slider'></span></label><div>Auto-hide item attributes.</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-method-docs' ><span class='slider'></span></label><div>Auto-hide item methods' documentation</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-trait-i [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><meta name="keywords" content="rust, rustlang, rust-lang"><title>Rustdoc settings</title><link rel="stylesheet" type="text/css" href="./normalize.css"><link rel="stylesheet" type="text/css" href="./rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/cs [...]
+                    </div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-attributes'  checked><span class='slider'></span></label><div>Auto-hide item attributes.</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-method-docs' ><span class='slider'></span></label><div>Auto-hide item methods' documentation</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-trait-i [...]
\ No newline at end of file
diff --git a/api-docs/crates-enclave/implementors/core/fmt/trait.Display.js b/api-docs/crates-enclave/implementors/core/fmt/trait.Display.js
index b6a94ff..4c4f3a0 100644
--- a/api-docs/crates-enclave/implementors/core/fmt/trait.Display.js
+++ b/api-docs/crates-enclave/implementors/core/fmt/trait.Display.js
@@ -43,7 +43,7 @@ implementors["sgx_types"] = [{"text":"impl <a class=\"trait\" href=\"https://doc
 implementors["snap"] = [{"text":"impl&lt;W&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"snap/struct.IntoInnerError.html\" title=\"struct snap::IntoInnerError\">IntoInnerError</a>&lt;W&gt;","synthetic":false,"types":["snap::error::IntoInnerError"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait [...]
 implementors["stream_cipher"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"stream_cipher/struct.LoopError.html\" title=\"struct stream_cipher::LoopError\">LoopError</a>","synthetic":false,"types":["stream_cipher::errors::LoopError"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait  [...]
 implementors["syn"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"syn/struct.Lifetime.html\" title=\"struct syn::Lifetime\">Lifetime</a>","synthetic":false,"types":["syn::lifetime::Lifetime"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a cl [...]
-implementors["teaclave_attestation"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"teaclave_attestation/enum.AttestationError.html\" title=\"enum teaclave_attestation::AttestationError\">AttestationError</a>","synthetic":false,"types":["teaclave_attestation::AttestationError"]}];
+implementors["teaclave_attestation"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"teaclave_attestation/enum.AttestationError.html\" title=\"enum teaclave_attestation::AttestationError\">AttestationError</a>","synthetic":false,"types":["teaclave_attestation::AttestationError"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/co [...]
 implementors["teaclave_types"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"teaclave_types/struct.ECallStatus.html\" title=\"struct teaclave_types::ECallStatus\">ECallStatus</a>","synthetic":false,"types":["teaclave_types::error::ECallStatus"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" tit [...]
 implementors["termcolor"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"termcolor/struct.ParseColorError.html\" title=\"struct termcolor::ParseColorError\">ParseColorError</a>","synthetic":false,"types":["termcolor::ParseColorError"]}];
 implementors["tiff"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"tiff/enum.TiffFormatError.html\" title=\"enum tiff::TiffFormatError\">TiffFormatError</a>","synthetic":false,"types":["tiff::error::TiffFormatError"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\ [...]
diff --git a/api-docs/crates-enclave/quote/all.html b/api-docs/crates-enclave/quote/all.html
index f0a1e08..c3162bd 100644
--- a/api-docs/crates-enclave/quote/all.html
+++ b/api-docs/crates-enclave/quote/all.html
@@ -1,3 +1,3 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><meta name="keywords" content="rust, rustlang, rust-lang"><title>List of all items in this crate</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link r [...]
         </span>
-        <span class='in-band'>List of all items</span></h1><h3 id='Traits'>Traits</h3><ul class='traits docblock'><li><a href='trait.IdentFragment.html'>IdentFragment</a></li><li><a href='trait.ToTokens.html'>ToTokens</a></li><li><a href='trait.TokenStreamExt.html'>TokenStreamExt</a></li></ul><h3 id='Macros'>Macros</h3><ul class='macros docblock'><li><a href='macro.format_ident.html'>format_ident</a></li><li><a href='macro.quote.html'>quote</a></li><li><a href='macro.quote_spanned.html'> [...]
\ No newline at end of file
+        <span class='in-band'>List of all items</span></h1><h3 id='Traits'>Traits</h3><ul class='traits docblock'><li><a href='trait.ToTokens.html'>ToTokens</a></li><li><a href='trait.TokenStreamExt.html'>TokenStreamExt</a></li></ul><h3 id='Macros'>Macros</h3><ul class='macros docblock'><li><a href='macro.quote.html'>quote</a></li><li><a href='macro.quote_spanned.html'>quote_spanned</a></li></ul></section><section id="search" class="content hidden"></section><section class="footer"></sec [...]
\ No newline at end of file
diff --git a/api-docs/crates-enclave/quote/index.html b/api-docs/crates-enclave/quote/index.html
index c074059..a0a6567 100644
--- a/api-docs/crates-enclave/quote/index.html
+++ b/api-docs/crates-enclave/quote/index.html
@@ -1,12 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `quote` crate."><meta name="keywords" content="rust, rustlang, rust-lang, quote"><title>quote - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link [...]
-<br>
-<p>This crate provides the <a href="macro.quote.html"><code>quote!</code></a> macro for turning Rust syntax tree data
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `quote` crate."><meta name="keywords" content="rust, rustlang, rust-lang, quote"><title>quote - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link [...]
 structures into tokens of source code.</p>
 <p>Procedural macros in Rust receive a stream of tokens as input, execute
 arbitrary Rust code to determine how to manipulate those tokens, and produce
 a stream of tokens to hand back to the compiler to compile into the caller's
-crate. Quasi-quoting is a solution to one piece of that — producing
-tokens to return to the compiler.</p>
+crate. Quasi-quoting is a solution to one piece of that -- producing tokens
+to return to the compiler.</p>
 <p>The idea of quasi-quoting is that we write <em>code</em> that we treat as <em>data</em>.
 Within the <code>quote!</code> macro, we can write what looks like code to our text
 editor or IDE. We get all the benefits of the editor's brace matching,
@@ -17,10 +15,11 @@ to compile into the macro caller's crate.</p>
 <p>This crate is motivated by the procedural macro use case, but is a
 general-purpose Rust quasi-quoting library and is not specific to procedural
 macros.</p>
+<p><em>Version requirement: Quote supports any compiler version back to Rust's
+very first support for procedural macros in Rust 1.15.0.</em></p>
 <pre><code class="language-toml">[dependencies]
-quote = &quot;1.0&quot;
+quote = &quot;0.6&quot;
 </code></pre>
-<br>
 <h1 id="example" class="section-header"><a href="#example">Example</a></h1>
 <p>The following quasi-quoted block of code is something you might find in <a href="https://serde.rs/">a</a>
 procedural macro having to do with data structure serialization. The <code>#var</code>
@@ -29,7 +28,7 @@ Check out the documentation of the <a href="macro.quote.html"><code>quote!</code
 the syntax. See also the <a href="macro.quote_spanned.html"><code>quote_spanned!</code></a> macro which is important for
 implementing hygienic procedural macros.</p>
 
-<div class="example-wrap"><pre class="rust rust-example-rendered">
+<div class='information'><div class='tooltip edition'>ⓘ<span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
 <span class="kw">let</span> <span class="ident">tokens</span> <span class="op">=</span> <span class="macro">quote</span><span class="macro">!</span> {
     <span class="kw">struct</span> <span class="ident">SerializeWith</span> #<span class="ident">generics</span> #<span class="ident">where_clause</span> {
         <span class="ident">value</span>: <span class="kw-2">&amp;</span><span class="lifetime">&#39;a</span> #<span class="ident">field_ty</span>,
@@ -50,13 +49,16 @@ implementing hygienic procedural macros.</p>
         <span class="ident">phantom</span>: <span class="ident">core</span>::<span class="ident">marker</span>::<span class="ident">PhantomData</span>::<span class="op">&lt;</span>#<span class="ident">item_ty</span><span class="op">&gt;</span>,
     }
 };</pre></div>
+<h1 id="recursion-limit" class="section-header"><a href="#recursion-limit">Recursion limit</a></h1>
+<p>The <code>quote!</code> macro relies on deep recursion so some large invocations may
+fail with &quot;recursion limit reached&quot; when you compile. If it fails, bump up
+the recursion limit by adding <code>#![recursion_limit = &quot;128&quot;]</code> to your crate.
+An even higher limit may be necessary for especially large invocations.</p>
 </div><h2 id='macros' class='section-header'><a href="#macros">Macros</a></h2>
-<table><tr class='module-item'><td><a class="macro" href="macro.format_ident.html" title='quote::format_ident macro'>format_ident</a></td><td class='docblock-short'><p>Formatting macro for constructing <code>Ident</code>s.</p>
-</td></tr><tr class='module-item'><td><a class="macro" href="macro.quote.html" title='quote::quote macro'>quote</a></td><td class='docblock-short'><p>The whole point.</p>
+<table><tr class='module-item'><td><a class="macro" href="macro.quote.html" title='quote::quote macro'>quote</a></td><td class='docblock-short'><p>The whole point.</p>
 </td></tr><tr class='module-item'><td><a class="macro" href="macro.quote_spanned.html" title='quote::quote_spanned macro'>quote_spanned</a></td><td class='docblock-short'><p>Same as <code>quote!</code>, but applies a given span to all tokens originating within
 the macro invocation.</p>
 </td></tr></table><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2>
-<table><tr class='module-item'><td><a class="trait" href="trait.IdentFragment.html" title='quote::IdentFragment trait'>IdentFragment</a></td><td class='docblock-short'><p>Specialized formatting trait used by <code>format_ident!</code>.</p>
-</td></tr><tr class='module-item'><td><a class="trait" href="trait.ToTokens.html" title='quote::ToTokens trait'>ToTokens</a></td><td class='docblock-short'><p>Types that can be interpolated inside a <code>quote!</code> invocation.</p>
+<table><tr class='module-item'><td><a class="trait" href="trait.ToTokens.html" title='quote::ToTokens trait'>ToTokens</a></td><td class='docblock-short'><p>Types that can be interpolated inside a <a href="macro.quote.html"><code>quote!</code></a> invocation.</p>
 </td></tr><tr class='module-item'><td><a class="trait" href="trait.TokenStreamExt.html" title='quote::TokenStreamExt trait'>TokenStreamExt</a></td><td class='docblock-short'><p>TokenStream extension trait with methods for appending tokens.</p>
 </td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "quote";</script><script src="../aliases.js"></script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
\ No newline at end of file
diff --git a/api-docs/crates-enclave/quote/macro.quote.html b/api-docs/crates-enclave/quote/macro.quote.html
index a781530..1455325 100644
--- a/api-docs/crates-enclave/quote/macro.quote.html
+++ b/api-docs/crates-enclave/quote/macro.quote.html
@@ -1,14 +1,11 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `quote` macro in crate `quote`."><meta name="keywords" content="rust, rustlang, rust-lang, quote"><title>quote::quote - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" i [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `quote` macro in crate `quote`."><meta name="keywords" content="rust, rustlang, rust-lang, quote"><title>quote::quote - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" i [...]
 <span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote</span> {
-    () <span class="op">=</span><span class="op">&gt;</span> { ... };
     ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tt</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> { ... };
 }</pre></div>
 </div><div class='docblock'><p>The whole point.</p>
 <p>Performs variable interpolation against the input and produces it as
-<a href="../proc_macro2/struct.TokenStream.html" title="`proc_macro2::TokenStream`"><code>proc_macro2::TokenStream</code></a>.</p>
-<p>Note: for returning tokens to the compiler in a procedural macro, use
-<code>.into()</code> on the result to convert to <a href="https://doc.rust-lang.org/nightly/proc_macro/struct.TokenStream.html" title="`proc_macro::TokenStream`"><code>proc_macro::TokenStream</code></a>.</p>
-<br>
+<a href="https://docs.rs/proc-macro2/0.4/proc_macro2/struct.TokenStream.html"><code>TokenStream</code></a>. For returning tokens to the compiler in a procedural macro, use
+<code>into()</code> to build a <code>TokenStream</code>.</p>
 <h1 id="interpolation" class="section-header"><a href="#interpolation">Interpolation</a></h1>
 <p>Variable interpolation is done with <code>#var</code> (similar to <code>$var</code> in
 <code>macro_rules!</code> macros). This grabs the <code>var</code> variable that is currently in
@@ -19,21 +16,36 @@ crate.</p>
 <p>Repetition is done using <code>#(...)*</code> or <code>#(...),*</code> again similar to
 <code>macro_rules!</code>. This iterates through the elements of any variable
 interpolated within the repetition and inserts a copy of the repetition body
-for each one. The variables in an interpolation may be a <code>Vec</code>, slice,
-<code>BTreeSet</code>, or any <code>Iterator</code>.</p>
+for each one. The variables in an interpolation may be anything that
+implements <code>IntoIterator</code>, including <code>Vec</code> or a pre-existing iterator.</p>
 <ul>
 <li><code>#(#var)*</code> — no separators</li>
 <li><code>#(#var),*</code> — the character before the asterisk is used as a separator</li>
 <li><code>#( struct #var; )*</code> — the repetition can contain other tokens</li>
 <li><code>#( #k =&gt; println!(&quot;{}&quot;, #v), )*</code> — even multiple interpolations</li>
 </ul>
-<br>
+<p>There are two limitations around interpolations in a repetition:</p>
+<ul>
+<li>
+<p>Every interpolation inside of a repetition must be a distinct variable.
+That is, <code>#(#a #a)*</code> is not allowed. Work around this by collecting <code>a</code>
+into a vector and taking references <code>a1 = &amp;a</code> and <code>a2 = &amp;a</code> which you use
+inside the repetition: <code>#(#a1 #a2)*</code>. Where possible, use meaningful names
+that indicate the distinct role of each copy.</p>
+</li>
+<li>
+<p>Every interpolation inside of a repetition must be iterable. If we have
+<code>vec</code> which is a vector and <code>ident</code> which is a single identifier,
+<code>#(#ident #vec)*</code> is not allowed. Work around this by using
+<code>std::iter::repeat(ident)</code> to produce an iterable that can be used from
+within the repetition.</p>
+</li>
+</ul>
 <h1 id="hygiene" class="section-header"><a href="#hygiene">Hygiene</a></h1>
 <p>Any interpolated tokens preserve the <code>Span</code> information provided by their
 <code>ToTokens</code> implementation. Tokens that originate within the <code>quote!</code>
-invocation are spanned with <a href="https://docs.rs/proc-macro2/1.0/proc_macro2/struct.Span.html#method.call_site"><code>Span::call_site()</code></a>.</p>
+invocation are spanned with <a href="https://docs.rs/proc-macro2/0.4/proc_macro2/struct.Span.html#method.call_site"><code>Span::call_site()</code></a>.</p>
 <p>A different span can be provided through the <a href="macro.quote_spanned.html"><code>quote_spanned!</code></a> macro.</p>
-<br>
 <h1 id="return-type" class="section-header"><a href="#return-type">Return type</a></h1>
 <p>The macro evaluates to an expression of type <code>proc_macro2::TokenStream</code>.
 Meanwhile Rust procedural macros are expected to return the type
@@ -48,13 +60,12 @@ contexts.</p>
 <p>There is a <a href="https://doc.rust-lang.org/std/convert/trait.From.html"><code>From</code></a>-conversion in both directions so returning the output of
 <code>quote!</code> from a procedural macro usually looks like <code>tokens.into()</code> or
 <code>proc_macro::TokenStream::from(tokens)</code>.</p>
-<br>
-<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1><h3 id="procedural-macro" class="section-header"><a href="#procedural-macro">Procedural macro</a></h3>
+<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1><h2 id="procedural-macro" class="section-header"><a href="#procedural-macro">Procedural macro</a></h2>
 <p>The structure of a basic procedural macro is as follows. Refer to the <a href="https://github.com/dtolnay/syn">Syn</a>
 crate for further useful guidance on using <code>quote!</code> as part of a procedural
 macro.</p>
 
-<div class="example-wrap"><pre class="rust rust-example-rendered">
+<div class='information'><div class='tooltip edition'>ⓘ<span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
 <span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">proc_macro</span>;
 
 <span class="kw">use</span> <span class="ident">proc_macro</span>::<span class="ident">TokenStream</span>;
@@ -78,14 +89,13 @@ macro.</p>
     <span class="comment">// Hand the output tokens back to the compiler.</span>
     <span class="ident">TokenStream</span>::<span class="ident">from</span>(<span class="ident">expanded</span>)
 }</pre></div>
-<p><br></p>
-<h3 id="combining-quoted-fragments" class="section-header"><a href="#combining-quoted-fragments">Combining quoted fragments</a></h3>
+<h2 id="combining-quoted-fragments" class="section-header"><a href="#combining-quoted-fragments">Combining quoted fragments</a></h2>
 <p>Usually you don't end up constructing an entire final <code>TokenStream</code> in one
 piece. Different parts may come from different helper functions. The tokens
 produced by <code>quote!</code> themselves implement <code>ToTokens</code> and so can be
 interpolated into later <code>quote!</code> invocations to build up a final result.</p>
 
-<div class="example-wrap"><pre class="rust rust-example-rendered">
+<div class='information'><div class='tooltip edition'>ⓘ<span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
 <span class="kw">let</span> <span class="ident">type_definition</span> <span class="op">=</span> <span class="macro">quote</span><span class="macro">!</span> {...};
 <span class="kw">let</span> <span class="ident">methods</span> <span class="op">=</span> <span class="macro">quote</span><span class="macro">!</span> {...};
 
@@ -93,8 +103,7 @@ interpolated into later <code>quote!</code> invocations to build up a final resu
     #<span class="ident">type_definition</span>
     #<span class="ident">methods</span>
 };</pre></div>
-<p><br></p>
-<h3 id="constructing-identifiers" class="section-header"><a href="#constructing-identifiers">Constructing identifiers</a></h3>
+<h2 id="constructing-identifiers" class="section-header"><a href="#constructing-identifiers">Constructing identifiers</a></h2>
 <p>Suppose we have an identifier <code>ident</code> which came from somewhere in a macro
 input and we need to modify it in some way for the macro output. Let's
 consider prepending the identifier with an underscore.</p>
@@ -102,37 +111,26 @@ consider prepending the identifier with an underscore.</p>
 behavior of concatenating them. The underscore and the identifier will
 continue to be two separate tokens as if you had written <code>_ x</code>.</p>
 
-<div class="example-wrap"><pre class="rust rust-example-rendered">
+<div class='information'><div class='tooltip edition'>ⓘ<span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
 <span class="comment">// incorrect</span>
 <span class="macro">quote</span><span class="macro">!</span> {
     <span class="kw">let</span> <span class="kw-2">mut</span> <span class="kw">_</span>#<span class="ident">ident</span> <span class="op">=</span> <span class="number">0</span>;
 }</pre></div>
-<p>The solution is to build a new identifier token with the correct value. As
-this is such a common case, the <a href="../quote/macro.format_ident.html" title="`format_ident!`"><code>format_ident!</code></a> macro provides a
-convenient utility for doing so correctly.</p>
+<p>The solution is to perform token-level manipulations using the APIs provided
+by Syn and proc-macro2.</p>
 
-<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">varname</span> <span class="op">=</span> <span class="macro">format_ident</span><span class="macro">!</span>(<span class="string">&quot;_{}&quot;</span>, <span class="ident">ident</span>);
-<span class="macro">quote</span><span class="macro">!</span> {
-    <span class="kw">let</span> <span class="kw-2">mut</span> #<span class="ident">varname</span> <span class="op">=</span> <span class="number">0</span>;
-}</pre></div>
-<p>Alternatively, the APIs provided by Syn and proc-macro2 can be used to
-directly build the identifier. This is roughly equivalent to the above, but
-will not handle <code>ident</code> being a raw identifier.</p>
-
-<div class="example-wrap"><pre class="rust rust-example-rendered">
+<div class='information'><div class='tooltip edition'>ⓘ<span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
 <span class="kw">let</span> <span class="ident">concatenated</span> <span class="op">=</span> <span class="macro">format</span><span class="macro">!</span>(<span class="string">&quot;_{}&quot;</span>, <span class="ident">ident</span>);
 <span class="kw">let</span> <span class="ident">varname</span> <span class="op">=</span> <span class="ident">syn</span>::<span class="ident">Ident</span>::<span class="ident">new</span>(<span class="kw-2">&amp;</span><span class="ident">concatenated</span>, <span class="ident">ident</span>.<span class="ident">span</span>());
 <span class="macro">quote</span><span class="macro">!</span> {
     <span class="kw">let</span> <span class="kw-2">mut</span> #<span class="ident">varname</span> <span class="op">=</span> <span class="number">0</span>;
 }</pre></div>
-<p><br></p>
-<h3 id="making-method-calls" class="section-header"><a href="#making-method-calls">Making method calls</a></h3>
+<h2 id="making-method-calls" class="section-header"><a href="#making-method-calls">Making method calls</a></h2>
 <p>Let's say our macro requires some type specified in the macro input to have
 a constructor called <code>new</code>. We have the type in a variable called
 <code>field_type</code> of type <code>syn::Type</code> and want to invoke the constructor.</p>
 
-<div class="example-wrap"><pre class="rust rust-example-rendered">
+<div class='information'><div class='tooltip edition'>ⓘ<span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
 <span class="comment">// incorrect</span>
 <span class="macro">quote</span><span class="macro">!</span> {
     <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> #<span class="ident">field_type</span>::<span class="ident">new</span>();
@@ -143,69 +141,15 @@ like <code>Vec&lt;i32&gt;</code> then the expanded code is <code>Vec&lt;i32&gt;:
 syntax. Ordinarily in handwritten Rust we would write <code>Vec::&lt;i32&gt;::new()</code>
 but for macros often the following is more convenient.</p>
 
-<div class="example-wrap"><pre class="rust rust-example-rendered">
+<div class='information'><div class='tooltip edition'>ⓘ<span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
 <span class="macro">quote</span><span class="macro">!</span> {
     <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="op">&lt;</span>#<span class="ident">field_type</span><span class="op">&gt;</span>::<span class="ident">new</span>();
 }</pre></div>
 <p>This expands to <code>&lt;Vec&lt;i32&gt;&gt;::new()</code> which behaves correctly.</p>
 <p>A similar pattern is appropriate for trait methods.</p>
 
-<div class="example-wrap"><pre class="rust rust-example-rendered">
+<div class='information'><div class='tooltip edition'>ⓘ<span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
 <span class="macro">quote</span><span class="macro">!</span> {
     <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="op">&lt;</span>#<span class="ident">field_type</span> <span class="kw">as</span> <span class="ident">core</span>::<span class="ident">default</span>::<span class="ident">Default</span><span class="op">&gt;</span>::<span class="ident">default</span>();
 }</pre></div>
-<p><br></p>
-<h3 id="interpolating-text-inside-of-doc-comments" class="section-header"><a href="#interpolating-text-inside-of-doc-comments">Interpolating text inside of doc comments</a></h3>
-<p>Neither doc comments nor string literals get interpolation behavior in
-quote:</p>
-
-<div class='information'><div class='tooltip compile_fail'>ⓘ<span class='tooltiptext'>This example deliberately fails to compile</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered compile_fail">
-<span class="macro">quote</span><span class="macro">!</span> {
-    <span class="doccomment">/// try to interpolate: #ident</span>
-    <span class="doccomment">///</span>
-    <span class="doccomment">/// ...</span>
-}</pre></div>
-
-<div class='information'><div class='tooltip compile_fail'>ⓘ<span class='tooltiptext'>This example deliberately fails to compile</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered compile_fail">
-<span class="macro">quote</span><span class="macro">!</span> {
-    <span class="attribute">#[<span class="ident">doc</span> <span class="op">=</span> <span class="string">&quot;try to interpolate: #ident&quot;</span>]</span>
-}</pre></div>
-<p>Macro calls in a doc attribute are not valid syntax:</p>
-
-<div class='information'><div class='tooltip compile_fail'>ⓘ<span class='tooltiptext'>This example deliberately fails to compile</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered compile_fail">
-<span class="macro">quote</span><span class="macro">!</span> {
-    <span class="attribute">#[<span class="ident">doc</span> <span class="op">=</span> <span class="macro">concat</span><span class="macro">!</span>(<span class="string">&quot;try to interpolate: &quot;</span>, <span class="macro">stringify</span><span class="macro">!</span>(#<span class="ident">ident</span>))]</span>
-}</pre></div>
-<p>Instead the best way to build doc comments that involve variables is by
-formatting the doc string literal outside of quote.</p>
-
-<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">msg</span> <span class="op">=</span> <span class="macro">format</span><span class="macro">!</span>(...);
-<span class="macro">quote</span><span class="macro">!</span> {
-    <span class="attribute">#[<span class="ident">doc</span> <span class="op">=</span> #<span class="ident">msg</span>]</span>
-    <span class="doccomment">///</span>
-    <span class="doccomment">/// ...</span>
-}</pre></div>
-<p><br></p>
-<h3 id="indexing-into-a-tuple-struct" class="section-header"><a href="#indexing-into-a-tuple-struct">Indexing into a tuple struct</a></h3>
-<p>When interpolating indices of a tuple or tuple struct, we need them not to
-appears suffixed as integer literals by interpolating them as <a href="https://docs.rs/syn/1.0/syn/struct.Index.html"><code>syn::Index</code></a>
-instead.</p>
-
-<div class='information'><div class='tooltip compile_fail'>ⓘ<span class='tooltiptext'>This example deliberately fails to compile</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered compile_fail">
-<span class="kw">let</span> <span class="ident">i</span> <span class="op">=</span> <span class="number">0usize</span>..<span class="self">self</span>.<span class="ident">fields</span>.<span class="ident">len</span>();
-
-<span class="comment">// expands to 0 + self.0usize.heap_size() + self.1usize.heap_size() + ...</span>
-<span class="comment">// which is not valid syntax</span>
-<span class="macro">quote</span><span class="macro">!</span> {
-    <span class="number">0</span> #( <span class="op">+</span> <span class="self">self</span>.#<span class="ident">i</span>.<span class="ident">heap_size</span>() )<span class="op">*</span>
-}</pre></div>
-
-<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">i</span> <span class="op">=</span> (<span class="number">0</span>..<span class="self">self</span>.<span class="ident">fields</span>.<span class="ident">len</span>()).<span class="ident">map</span>(<span class="ident">syn</span>::<span class="ident">Index</span>::<span class="ident">from</span>);
-
-<span class="comment">// expands to 0 + self.0.heap_size() + self.1.heap_size() + ...</span>
-<span class="macro">quote</span><span class="macro">!</span> {
-    <span class="number">0</span> #( <span class="op">+</span> <span class="self">self</span>.#<span class="ident">i</span>.<span class="ident">heap_size</span>() )<span class="op">*</span>
-}</pre></div>
 </div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "quote";</script><script src="../aliases.js"></script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
\ No newline at end of file
diff --git a/api-docs/crates-enclave/quote/macro.quote_spanned.html b/api-docs/crates-enclave/quote/macro.quote_spanned.html
index 40a4900..54a8fcb 100644
--- a/api-docs/crates-enclave/quote/macro.quote_spanned.html
+++ b/api-docs/crates-enclave/quote/macro.quote_spanned.html
@@ -1,18 +1,15 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `quote_spanned` macro in crate `quote`."><meta name="keywords" content="rust, rustlang, rust-lang, quote_spanned"><title>quote::quote_spanned - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `quote_spanned` macro in crate `quote`."><meta name="keywords" content="rust, rustlang, rust-lang, quote_spanned"><title>quote::quote_spanned - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" [...]
 <span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_spanned</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">expr</span><span class="op">=</span><span class="op">&gt;</span>) <span class="op">=</span><span class="op">&gt;</span> { ... };
     (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">expr</span><span class="op">=</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tt</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> { ... };
 }</pre></div>
 </div><div class='docblock'><p>Same as <code>quote!</code>, but applies a given span to all tokens originating within
 the macro invocation.</p>
-<br>
 <h1 id="syntax" class="section-header"><a href="#syntax">Syntax</a></h1>
-<p>A span expression of type <a href="https://docs.rs/proc-macro2/1.0/proc_macro2/struct.Span.html"><code>Span</code></a>, followed by <code>=&gt;</code>, followed by the tokens
-to quote. The span expression should be brief — use a variable for
-anything more than a few characters. There should be no space before the
-<code>=&gt;</code> token.</p>
+<p>A span expression of type <a href="https://docs.rs/proc-macro2/0.4/proc_macro2/struct.Span.html"><code>Span</code></a>, followed by <code>=&gt;</code>, followed by the tokens
+to quote. The span expression should be brief -- use a variable for anything
+more than a few characters. There should be no space before the <code>=&gt;</code> token.</p>
 
-<div class="example-wrap"><pre class="rust rust-example-rendered">
+<div class='information'><div class='tooltip edition'>ⓘ<span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
 <span class="kw">let</span> <span class="ident">span</span> <span class="op">=</span> <span class="comment">/* ... */</span>;
 
 <span class="comment">// On one line, use parentheses.</span>
@@ -27,18 +24,16 @@ and this is intentional. The formatting is designed to be visibly
 off-balance and draw the eye a particular way, due to the span expression
 being evaluated in the context of the procedural macro and the remaining
 tokens being evaluated in the generated code.</p>
-<br>
 <h1 id="hygiene" class="section-header"><a href="#hygiene">Hygiene</a></h1>
 <p>Any interpolated tokens preserve the <code>Span</code> information provided by their
 <code>ToTokens</code> implementation. Tokens that originate within the <code>quote_spanned!</code>
 invocation are spanned with the given span argument.</p>
-<br>
 <h1 id="example" class="section-header"><a href="#example">Example</a></h1>
 <p>The following procedural macro code uses <code>quote_spanned!</code> to assert that a
 particular Rust type implements the <a href="https://doc.rust-lang.org/std/marker/trait.Sync.html"><code>Sync</code></a> trait so that references can be
 safely shared between threads.</p>
 
-<div class="example-wrap"><pre class="rust rust-example-rendered">
+<div class='information'><div class='tooltip edition'>ⓘ<span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
 <span class="kw">let</span> <span class="ident">ty_span</span> <span class="op">=</span> <span class="ident">ty</span>.<span class="ident">span</span>();
 <span class="kw">let</span> <span class="ident">assert_sync</span> <span class="op">=</span> <span class="macro">quote_spanned</span><span class="macro">!</span> {<span class="ident">ty_span</span><span class="op">=</span><span class="op">&gt;</span>
     <span class="kw">struct</span> <span class="ident">_AssertSync</span> <span class="kw">where</span> #<span class="ident">ty</span>: <span class="ident">Sync</span>;
@@ -53,5 +48,9 @@ input span of their type is hightlighted in the error.</p>
 </code></pre>
 <p>In this example it is important for the where-clause to be spanned with the
 line/column information of the user's input type so that error messages are
-placed appropriately by the compiler.</p>
+placed appropriately by the compiler. But it is also incredibly important
+that <code>Sync</code> resolves at the macro definition site and not the macro call
+site. If we resolve <code>Sync</code> at the same span that the user's type is going to
+be resolved, then they could bypass our check by defining their own trait
+named <code>Sync</code> that is implemented for their type.</p>
 </div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "quote";</script><script src="../aliases.js"></script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
\ No newline at end of file
diff --git a/api-docs/crates-enclave/quote/sidebar-items.js b/api-docs/crates-enclave/quote/sidebar-items.js
index f0d1295..7f7bf77 100644
--- a/api-docs/crates-enclave/quote/sidebar-items.js
+++ b/api-docs/crates-enclave/quote/sidebar-items.js
@@ -1 +1 @@
-initSidebarItems({"macro":[["format_ident","Formatting macro for constructing `Ident`s."],["quote","The whole point."],["quote_spanned","Same as `quote!`, but applies a given span to all tokens originating within the macro invocation."]],"trait":[["IdentFragment","Specialized formatting trait used by `format_ident!`."],["ToTokens","Types that can be interpolated inside a `quote!` invocation."],["TokenStreamExt","TokenStream extension trait with methods for appending tokens."]]});
\ No newline at end of file
+initSidebarItems({"macro":[["quote","The whole point."],["quote_spanned","Same as `quote!`, but applies a given span to all tokens originating within the macro invocation."]],"trait":[["ToTokens","Types that can be interpolated inside a [`quote!`] invocation."],["TokenStreamExt","TokenStream extension trait with methods for appending tokens."]]});
\ No newline at end of file
diff --git a/api-docs/crates-enclave/quote/trait.ToTokens.html b/api-docs/crates-enclave/quote/trait.ToTokens.html
index 08faa73..ebe4443 100644
--- a/api-docs/crates-enclave/quote/trait.ToTokens.html
+++ b/api-docs/crates-enclave/quote/trait.ToTokens.html
@@ -1,10 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ToTokens` trait in crate `quote`."><meta name="keywords" content="rust, rustlang, rust-lang, ToTokens"><title>quote::ToTokens - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustd [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ToTokens` trait in crate `quote`."><meta name="keywords" content="rust, rustlang, rust-lang, ToTokens"><title>quote::ToTokens - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustd [...]
     fn <a href='#tymethod.to_tokens' class='fnname'>to_tokens</a>(&amp;self, tokens: &amp;mut <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a>);
 
-    fn <a href='#method.to_token_stream' class='fnname'>to_token_stream</a>(&amp;self) -&gt; <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a> { ... }
-<div class='item-spacer'></div>    fn <a href='#method.into_token_stream' class='fnname'>into_token_stream</a>(self) -&gt; <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a><br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>,
+    fn <a href='#method.into_token_stream' class='fnname'>into_token_stream</a>(self) -&gt; <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a><br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>,
     { ... }
-}</pre></div><div class='docblock'><p>Types that can be interpolated inside a <code>quote!</code> invocation.</p>
+}</pre></div><div class='docblock'><p>Types that can be interpolated inside a <a href="macro.quote.html"><code>quote!</code></a> invocation.</p>
 </div>
             <h2 id='required-methods' class='small-section-header'>Required methods<a href='#required-methods' class='anchor'></a></h2><div class='methods'><h3 id='tymethod.to_tokens' class='method'><code id='to_tokens.v'>fn <a href='#tymethod.to_tokens' class='fnname'>to_tokens</a>(&amp;self, tokens: &amp;mut <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a>)</code></h3><div class='docblock'><p>Write <code>self</code> [...]
 <p>The token append methods provided by the <a href="trait.TokenStreamExt.html"><code>TokenStreamExt</code></a> extension
@@ -13,7 +12,7 @@ trait may be useful for implementing <code>ToTokens</code>.</p>
 <p>Example implementation for a struct representing Rust paths like
 <code>std::cmp::PartialEq</code>:</p>
 
-<div class="example-wrap"><pre class="rust rust-example-rendered">
+<div class='information'><div class='tooltip edition'>ⓘ<span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
 <span class="kw">use</span> <span class="ident">proc_macro2</span>::{<span class="ident">TokenTree</span>, <span class="ident">Spacing</span>, <span class="ident">Span</span>, <span class="ident">Punct</span>, <span class="ident">TokenStream</span>};
 <span class="kw">use</span> <span class="ident">quote</span>::{<span class="ident">TokenStreamExt</span>, <span class="ident">ToTokens</span>};
 
@@ -35,12 +34,9 @@ trait may be useful for implementing <code>ToTokens</code>.</p>
     }
 }</pre></div>
 </div></div><span class='loading-content'>Loading content...</span>
-            <h2 id='provided-methods' class='small-section-header'>Provided methods<a href='#provided-methods' class='anchor'></a></h2><div class='methods'><h3 id='method.to_token_stream' class='method'><code id='to_token_stream.v'>fn <a href='#method.to_token_stream' class='fnname'>to_token_stream</a>(&amp;self) -&gt; <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a></code></h3><div class='docblock'><p>Convert <code>s [...]
-<p>This method is implicitly implemented using <code>to_tokens</code>, and acts as a
-convenience method for consumers of the <code>ToTokens</code> trait.</p>
-</div><h3 id='method.into_token_stream' class='method'><code id='into_token_stream.v'>fn <a href='#method.into_token_stream' class='fnname'>into_token_stream</a>(self) -&gt; <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized< [...]
+            <h2 id='provided-methods' class='small-section-header'>Provided methods<a href='#provided-methods' class='anchor'></a></h2><div class='methods'><h3 id='method.into_token_stream' class='method'><code id='into_token_stream.v'>fn <a href='#method.into_token_stream' class='fnname'>into_token_stream</a>(self) -&gt; <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a> <span class="where fmt-newline">where<br>&nbsp;& [...]
 <p>This method is implicitly implemented using <code>to_tokens</code>, and acts as a
 convenience method for consumers of the <code>ToTokens</code> trait.</p>
 </div></div><span class='loading-content'>Loading content...</span>
-            <h2 id='foreign-impls' class='small-section-header'>Implementations on Foreign Types<a href='#foreign-impls' class='anchor'></a></h2><h3 id='impl-ToTokens-for-%26%27a%20T' class='impl'><code class='in-band'>impl&lt;'a, T:&nbsp;?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="../quote/trait.ToTokens.html" title="trait quote::ToTokens">ToTokens</a>&gt; <a class="trait" hr [...]
+            <h2 id='foreign-impls' class='small-section-header'>Implementations on Foreign Types<a href='#foreign-impls' class='anchor'></a></h2><h3 id='impl-ToTokens-for-%26%27a%20T' class='impl'><code class='in-band'>impl&lt;'a, T:&nbsp;?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="../quote/trait.ToTokens.html" title="trait quote::ToTokens">ToTokens</a>&gt; <a class="trait" hr [...]
             <h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../implementors/quote/trait.ToTokens.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "quote";</script>< [...]
\ No newline at end of file
diff --git a/api-docs/crates-enclave/quote/trait.TokenStreamExt.html b/api-docs/crates-enclave/quote/trait.TokenStreamExt.html
index f2a1418..02a53aa 100644
--- a/api-docs/crates-enclave/quote/trait.TokenStreamExt.html
+++ b/api-docs/crates-enclave/quote/trait.TokenStreamExt.html
@@ -1,16 +1,16 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `TokenStreamExt` trait in crate `quote`."><meta name="keywords" content="rust, rustlang, rust-lang, TokenStreamExt"><title>quote::TokenStreamExt - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/c [...]
     fn <a href='#tymethod.append' class='fnname'>append</a>&lt;U&gt;(&amp;mut self, token: U)<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="enum" href="../proc_macro2/enum.TokenTree.html" title="enum proc_macro2::TokenTree">TokenTree</a>&gt;</span>;
-<div class='item-spacer'></div>    fn <a href='#tymethod.append_all' class='fnname'>append_all</a>&lt;I&gt;(&amp;mut self, iter: I)<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I::<a class="type" href="h [...]
-<div class='item-spacer'></div>    fn <a href='#tymethod.append_separated' class='fnname'>append_separated</a>&lt;I, U&gt;(&amp;mut self, iter: I, op: U)<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I::< [...]
-<div class='item-spacer'></div>    fn <a href='#tymethod.append_terminated' class='fnname'>append_terminated</a>&lt;I, U&gt;(&amp;mut self, iter: I, term: U)<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [...]
+<div class='item-spacer'></div>    fn <a href='#tymethod.append_all' class='fnname'>append_all</a>&lt;T, I&gt;(&amp;mut self, iter: I)<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../quote/trait.ToTokens.html" title="trait quote::ToTokens">ToTokens</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.htm [...]
+<div class='item-spacer'></div>    fn <a href='#tymethod.append_separated' class='fnname'>append_separated</a>&lt;T, I, U&gt;(&amp;mut self, iter: I, op: U)<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../quote/trait.ToTokens.html" title="trait quote::ToTokens">ToTokens</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/ [...]
+<div class='item-spacer'></div>    fn <a href='#tymethod.append_terminated' class='fnname'>append_terminated</a>&lt;T, I, U&gt;(&amp;mut self, iter: I, term: U)<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../quote/trait.ToTokens.html" title="trait quote::ToTokens">ToTokens</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/coll [...]
 }</pre></div><div class='docblock'><p>TokenStream extension trait with methods for appending tokens.</p>
 <p>This trait is sealed and cannot be implemented outside of the <code>quote</code> crate.</p>
 </div>
             <h2 id='required-methods' class='small-section-header'>Required methods<a href='#required-methods' class='anchor'></a></h2><div class='methods'><h3 id='tymethod.append' class='method'><code id='append.v'>fn <a href='#tymethod.append' class='fnname'>append</a>&lt;U&gt;(&amp;mut self, token: U) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Int [...]
 <p>Appends the token specified to this list of tokens.</p>
-</div><h3 id='tymethod.append_all' class='method'><code id='append_all.v'>fn <a href='#tymethod.append_all' class='fnname'>append_all</a>&lt;I&gt;(&amp;mut self, iter: I) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;I::<a class="type" href="https://doc.rust-lan [...]
+</div><h3 id='tymethod.append_all' class='method'><code id='append_all.v'>fn <a href='#tymethod.append_all' class='fnname'>append_all</a>&lt;T, I&gt;(&amp;mut self, iter: I) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../quote/trait.ToTokens.html" title="trait quote::ToTokens">ToTokens</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait cor [...]
 
-<div class="example-wrap"><pre class="rust rust-example-rendered">
+<div class='information'><div class='tooltip edition'>ⓘ<span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
 <span class="kw">struct</span> <span class="ident">X</span>;
 
 <span class="kw">impl</span> <span class="ident">ToTokens</span> <span class="kw">for</span> <span class="ident">X</span> {
@@ -21,12 +21,12 @@
 
 <span class="kw">let</span> <span class="ident">tokens</span> <span class="op">=</span> <span class="macro">quote</span><span class="macro">!</span>(#<span class="ident">X</span>);
 <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tokens</span>.<span class="ident">to_string</span>(), <span class="string">&quot;true false&quot;</span>);</pre></div>
-</div><h3 id='tymethod.append_separated' class='method'><code id='append_separated.v'>fn <a href='#tymethod.append_separated' class='fnname'>append_separated</a>&lt;I, U&gt;(&amp;mut self, iter: I, op: U) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;I::<a class [...]
+</div><h3 id='tymethod.append_separated' class='method'><code id='append_separated.v'>fn <a href='#tymethod.append_separated' class='fnname'>append_separated</a>&lt;T, I, U&gt;(&amp;mut self, iter: I, op: U) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../quote/trait.ToTokens.html" title="trait quote::ToTokens">ToTokens</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.I [...]
 <p>Appends all of the items in the iterator <code>I</code>, separated by the tokens
 <code>U</code>.</p>
-</div><h3 id='tymethod.append_terminated' class='method'><code id='append_terminated.v'>fn <a href='#tymethod.append_terminated' class='fnname'>append_terminated</a>&lt;I, U&gt;(&amp;mut self, iter: I, term: U) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;I::<a [...]
+</div><h3 id='tymethod.append_terminated' class='method'><code id='append_terminated.v'>fn <a href='#tymethod.append_terminated' class='fnname'>append_terminated</a>&lt;T, I, U&gt;(&amp;mut self, iter: I, term: U) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../quote/trait.ToTokens.html" title="trait quote::ToTokens">ToTokens</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/t [...]
 <p>Appends all tokens in the iterator <code>I</code>, appending <code>U</code> after each
 element, including after the last element of the iterator.</p>
 </div></div><span class='loading-content'>Loading content...</span>
-            <h2 id='foreign-impls' class='small-section-header'>Implementations on Foreign Types<a href='#foreign-impls' class='anchor'></a></h2><h3 id='impl-TokenStreamExt-for-TokenStream' class='impl'><code class='in-band'>impl <a class="trait" href="../quote/trait.TokenStreamExt.html" title="trait quote::TokenStreamExt">TokenStreamExt</a> for <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a></code><a href='#impl-Tok [...]
+            <h2 id='foreign-impls' class='small-section-header'>Implementations on Foreign Types<a href='#foreign-impls' class='anchor'></a></h2><h3 id='impl-TokenStreamExt-for-TokenStream' class='impl'><code class='in-band'>impl <a class="trait" href="../quote/trait.TokenStreamExt.html" title="trait quote::TokenStreamExt">TokenStreamExt</a> for <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a></code><a href='#impl-Tok [...]
             <h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../implementors/quote/trait.TokenStreamExt.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "quote";</sc [...]
\ No newline at end of file
diff --git a/api-docs/crates-enclave/search-index.js b/api-docs/crates-enclave/search-index.js
index 4bd66af..682b4a0 100644
--- a/api-docs/crates-enclave/search-index.js
+++ b/api-docs/crates-enclave/search-index.js
@@ -62,7 +62,7 @@ searchIndex["prost"] = {"doc":"","i":[[3,"DecodeError","prost","A Protobuf messa
 searchIndex["prost_derive"] = {"doc":"","i":[[24,"Message","prost_derive","",null,null],[24,"Enumeration","","",null,null],[24,"Oneof","","",null,null]],"p":[]};
 searchIndex["protected_fs"] = {"doc":"","i":[[3,"ProtectedFile","protected_fs","A reference to an open file on the filesystem.",null,null],[3,"OpenOptions","","Options and flags which can be used to configure how a…",null,null],[5,"remove_protected_file","","",null,[[["asref",8],["path",3]],["result",6]]],[5,"export_auto_key","","",null,[[["asref",8],["path",3]],[["result",6],["sgx_key_128bit_t",6]]]],[5,"import_auto_key","","",null,[[["sgx_key_128bit_t",6],["asref",8],["path",3]],["resu [...]
 searchIndex["quick_error"] = {"doc":"A macro which makes errors easy to write","i":[[3,"Context","quick_error","Generic context type",null,null],[12,"0","","",0,null],[12,"1","","",0,null],[8,"ResultExt","","Result extension trait adding a `context` method",null,null],[10,"context","","The method is use to add context information to current…",1,[[],[["context",3],["result",4]]]],[14,"quick_error","","Main macro that does all the work",null,null],[11,"from","","",0,[[]]],[11,"borrow",""," [...]
-searchIndex["quote"] = {"doc":"![github] ![crates-io] ![docs-rs]","i":[[8,"TokenStreamExt","quote","TokenStream extension trait with methods for appending…",null,null],[10,"append","","For use by `ToTokens` implementations.",0,[[]]],[10,"append_all","","For use by `ToTokens` implementations.",0,[[]]],[10,"append_separated","","For use by `ToTokens` implementations.",0,[[]]],[10,"append_terminated","","For use by `ToTokens` implementations.",0,[[]]],[8,"IdentFragment","","Specialized form [...]
+searchIndex["quote"] = {"doc":"This crate provides the [`quote!`] macro for turning Rust…","i":[[8,"TokenStreamExt","quote","TokenStream extension trait with methods for appending…",null,null],[10,"append","","For use by `ToTokens` implementations.",0,[[]]],[10,"append_all","","For use by `ToTokens` implementations.",0,[[]]],[10,"append_separated","","For use by `ToTokens` implementations.",0,[[]]],[10,"append_terminated","","For use by `ToTokens` implementations.",0,[[]]],[8,"ToTokens", [...]
 searchIndex["rand"] = {"doc":"Utilities for random number generation","i":[[8,"CryptoRng","rand","A marker trait used to indicate that an [`RngCore`] or…",null,null],[3,"Error","","Error type of random number generators",null,null],[8,"RngCore","","The core of a random number generator.",null,null],[10,"next_u32","","Return the next random `u32`.",0,[[]]],[10,"next_u64","","Return the next random `u64`.",0,[[]]],[10,"fill_bytes","","Fill `dest` with random data.",0,[[]]],[10,"try_fill_by [...]
 searchIndex["rand_chacha"] = {"doc":"The ChaCha random number generator.","i":[[3,"ChaCha12Core","rand_chacha","ChaCha with 12 rounds",null,null],[3,"ChaCha12Rng","","A cryptographically secure random number generator that…",null,null],[3,"ChaCha20Core","","ChaCha with 20 rounds",null,null],[3,"ChaCha20Rng","","A cryptographically secure random number generator that…",null,null],[3,"ChaCha8Core","","ChaCha with 8 rounds",null,null],[3,"ChaCha8Rng","","A cryptographically secure random nu [...]
 searchIndex["rand_core"] = {"doc":"Random number generation traits","i":[[3,"Error","rand_core","Error type of random number generators",null,null],[3,"OsRng","","A random number generator that retrieves randomness from…",null,null],[0,"block","","The `BlockRngCore` trait and implementation helpers",null,null],[3,"BlockRng","rand_core::block","A wrapper type implementing [`RngCore`] for some type…",null,null],[12,"core","","The core part of the RNG, implementing the `generate`…",0,null], [...]
@@ -99,7 +99,7 @@ searchIndex["spin"] = {"doc":"Synchronization primitives based on spinning","i":
 searchIndex["stream_cipher"] = {"doc":"This crate defines a set of traits which define…","i":[[3,"InvalidKeyNonceLength","stream_cipher","Error which notifies that key or/and nonce used in stream…",null,null],[3,"LoopError","","Error which notifies that stream cipher has reached the…",null,null],[8,"NewStreamCipher","","Stream cipher creation trait.",null,null],[16,"KeySize","","Key size in bytes",0,null],[16,"NonceSize","","Nonce size in bytes",0,null],[10,"new","","Create new stream ci [...]
 searchIndex["syn"] = {"doc":"![github] ![crates-io] ![docs-rs]","i":[[3,"Ident","syn","A word of Rust code, which may be a keyword or legal…",null,null],[3,"Attribute","","An attribute like `#[repr(transparent)]`.",null,null],[12,"pound_token","","",0,null],[12,"style","","",0,null],[12,"bracket_token","","",0,null],[12,"path","","",0,null],[12,"tokens","","",0,null],[3,"MetaList","","A structured list within an attribute, like `derive(Copy,…",null,null],[12,"path","","",1,null],[12,"par [...]
 searchIndex["teaclave_access_control_service_enclave"] = {"doc":"","i":[[5,"ecall_ipc_entry_point","teaclave_access_control_service_enclave","The actual ecall function defined in .edl.",null,[[],["ecallstatus",3]]]],"p":[]};
-searchIndex["teaclave_attestation"] = {"doc":"This crate provides TLS-based remote attestation mechanism…","i":[[3,"AttestationServiceConfig","teaclave_attestation","Attestation Service Configuration",null,null],[3,"DcapConfig","","",null,null],[3,"EndorsedAttestationReport","","AttestationReport can be endorsed by either the Intel…",null,null],[12,"report","","Attestation report generated by the hardware",0,null],[12,"signature","","Singature of the report",0,null],[12,"signing_cert","" [...]
+searchIndex["teaclave_attestation"] = {"doc":"This crate provides TLS-based remote attestation mechanism…","i":[[3,"AttestationServiceConfig","teaclave_attestation","Attestation Service Configuration",null,null],[3,"DcapConfig","","",null,null],[3,"EndorsedAttestationReport","","AttestationReport can be endorsed by either the Intel…",null,null],[12,"report","","Attestation report generated by the hardware",0,null],[12,"signature","","Singature of the report",0,null],[12,"signing_cert","" [...]
 searchIndex["teaclave_authentication_service_enclave"] = {"doc":"","i":[[5,"ecall_ipc_entry_point","teaclave_authentication_service_enclave","The actual ecall function defined in .edl.",null,[[],["ecallstatus",3]]]],"p":[]};
 searchIndex["teaclave_binder"] = {"doc":"","i":[[23,"handle_ecall","teaclave_binder","",null,null],[0,"ipc","","",null,null],[3,"ECallReceiver","teaclave_binder::ipc","",null,null],[8,"IpcSender","","",null,null],[10,"invoke","","",0,[[],[["result",4],["ipcerror",4]]]],[8,"IpcService","","",null,null],[10,"handle_invoke","","",1,[[],["teeserviceresult",6]]],[8,"IpcReceiver","","",null,null],[10,"dispatch","","",2,[[],[["vec",3],["result",6]]]],[0,"proto","teaclave_binder","",null,null],[ [...]
 searchIndex["teaclave_binder_attribute"] = {"doc":"","i":[[23,"handle_ecall","teaclave_binder_attribute","",null,null]],"p":[]};
@@ -117,7 +117,7 @@ searchIndex["teaclave_rpc"] = {"doc":"","i":[[23,"into_request","teaclave_rpc","
 searchIndex["teaclave_rpc_proc_macro"] = {"doc":"","i":[[23,"into_request","teaclave_rpc_proc_macro","",null,null]],"p":[]};
 searchIndex["teaclave_runtime"] = {"doc":"","i":[[3,"DefaultRuntime","teaclave_runtime","",null,null],[11,"new","","",0,[[["stagedfiles",3]],["defaultruntime",3]]],[11,"from","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"into","","",0,[[]]],[11,"try_into","","",0,[[],["result",4]]],[11,"borrow_mut","","",0,[[]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"open_input","","",0,[[],[["box",3],["result",6]]]],[11,"create_ou [...]
 searchIndex["teaclave_scheduler_service_enclave"] = {"doc":"","i":[[5,"ecall_ipc_entry_point","teaclave_scheduler_service_enclave","The actual ecall function defined in .edl.",null,[[],["ecallstatus",3]]]],"p":[]};
-searchIndex["teaclave_service_enclave_utils"] = {"doc":"","i":[[23,"teaclave_service","teaclave_service_enclave_utils","",null,null],[3,"ServiceEnclave","","",null,null],[5,"create_trusted_storage_endpoint","","",null,[[["enclaveinfo",3],["arc",3],["rwlock",3],["attestationreportverificationfn",6]],[["endpoint",3],["result",6]]]],[5,"create_trusted_authentication_endpoint","","",null,[[["enclaveinfo",3],["arc",3],["rwlock",3],["attestationreportverificationfn",6]],[["endpoint",3],["resul [...]
+searchIndex["teaclave_service_enclave_utils"] = {"doc":"","i":[[23,"teaclave_service","teaclave_service_enclave_utils","",null,null],[3,"ServiceEnclave","","",null,null],[5,"create_trusted_storage_endpoint","","",null,[[["enclaveinfo",3],["attestationreportverificationfn",6],["arc",3],["rwlock",3]],[["endpoint",3],["result",6]]]],[5,"create_trusted_authentication_endpoint","","",null,[[["enclaveinfo",3],["attestationreportverificationfn",6],["arc",3],["rwlock",3]],[["endpoint",3],["resul [...]
 searchIndex["teaclave_service_enclave_utils_proc_macro"] = {"doc":"","i":[[23,"teaclave_service","teaclave_service_enclave_utils_proc_macro","",null,null]],"p":[]};
 searchIndex["teaclave_sgx_tool_enclave"] = {"doc":"","i":[[5,"ecall_ipc_entry_point","teaclave_sgx_tool_enclave","The actual ecall function defined in .edl.",null,[[],["ecallstatus",3]]]],"p":[]};
 searchIndex["teaclave_storage_service_enclave"] = {"doc":"","i":[[5,"ecall_ipc_entry_point","teaclave_storage_service_enclave","The actual ecall function defined in .edl.",null,[[],["ecallstatus",3]]]],"p":[]};
diff --git a/api-docs/crates-enclave/source-files.js b/api-docs/crates-enclave/source-files.js
index a764837..f8cc1fc 100644
--- a/api-docs/crates-enclave/source-files.js
+++ b/api-docs/crates-enclave/source-files.js
@@ -62,7 +62,7 @@ sourcesIndex["prost"] = {"name":"","files":["encoding.rs","error.rs","lib.rs","m
 sourcesIndex["prost_derive"] = {"name":"","dirs":[{"name":"field","files":["group.rs","map.rs","message.rs","mod.rs","oneof.rs","scalar.rs"]}],"files":["lib.rs"]};
 sourcesIndex["protected_fs"] = {"name":"","files":["deps.rs","lib.rs","protected_fs.rs","sgx_fs_inner.rs","sgx_tprotected_fs.rs"]};
 sourcesIndex["quick_error"] = {"name":"","files":["lib.rs"]};
-sourcesIndex["quote"] = {"name":"","files":["ext.rs","format.rs","ident_fragment.rs","lib.rs","runtime.rs","spanned.rs","to_tokens.rs"]};
+sourcesIndex["quote"] = {"name":"","files":["ext.rs","lib.rs","runtime.rs","to_tokens.rs"]};
 sourcesIndex["rand"] = {"name":"","dirs":[{"name":"distributions","dirs":[{"name":"weighted","files":["alias_method.rs","mod.rs"]}],"files":["bernoulli.rs","binomial.rs","cauchy.rs","dirichlet.rs","exponential.rs","float.rs","gamma.rs","integer.rs","mod.rs","normal.rs","other.rs","pareto.rs","poisson.rs","triangular.rs","uniform.rs","unit_circle.rs","unit_sphere.rs","utils.rs","weibull.rs","ziggurat_tables.rs"]},{"name":"rngs","dirs":[{"name":"adapter","files":["mod.rs","read.rs","reseed [...]
 sourcesIndex["rand_chacha"] = {"name":"","files":["chacha.rs","lib.rs"]};
 sourcesIndex["rand_core"] = {"name":"","files":["block.rs","error.rs","impls.rs","le.rs","lib.rs","os.rs"]};
diff --git a/api-docs/crates-enclave/src/quote/ext.rs.html b/api-docs/crates-enclave/src/quote/ext.rs.html
index 5f22254..bfc332d 100644
--- a/api-docs/crates-enclave/src/quote/ext.rs.html
+++ b/api-docs/crates-enclave/src/quote/ext.rs.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source to the Rust file `/home/mssun/incubator-mesatee/build/cmake_tomls/sgx_trusted_lib/third_party/crates-sgx/vendor/quote/src/ext.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>ext.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../norm [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source to the Rust file `/home/mssun/incubator-mesatee/build/cmake_tomls/sgx_trusted_lib/third_party/crates-sgx/vendor/quote-0.6.13/src/ext.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>ext.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../ [...]
 <span id="2">  2</span>
 <span id="3">  3</span>
 <span id="4">  4</span>
@@ -130,7 +130,7 @@
 
     <span class="doccomment">/// For use by `ToTokens` implementations.</span>
     <span class="doccomment">///</span>
-    <span class="doccomment">/// ```</span>
+    <span class="doccomment">/// ```edition2018</span>
     <span class="doccomment">/// # use quote::{quote, TokenStreamExt, ToTokens};</span>
     <span class="doccomment">/// # use proc_macro2::TokenStream;</span>
     <span class="doccomment">/// #</span>
@@ -145,29 +145,29 @@
     <span class="doccomment">/// let tokens = quote!(#X);</span>
     <span class="doccomment">/// assert_eq!(tokens.to_string(), &quot;true false&quot;);</span>
     <span class="doccomment">/// ```</span>
-    <span class="kw">fn</span> <span class="ident">append_all</span><span class="op">&lt;</span><span class="ident">I</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">iter</span>: <span class="ident">I</span>)
+    <span class="kw">fn</span> <span class="ident">append_all</span><span class="op">&lt;</span><span class="ident">T</span>, <span class="ident">I</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">iter</span>: <span class="ident">I</span>)
     <span class="kw">where</span>
-        <span class="ident">I</span>: <span class="ident">IntoIterator</span>,
-        <span class="ident">I</span>::<span class="ident">Item</span>: <span class="ident">ToTokens</span>;
+        <span class="ident">T</span>: <span class="ident">ToTokens</span>,
+        <span class="ident">I</span>: <span class="ident">IntoIterator</span><span class="op">&lt;</span><span class="ident">Item</span> <span class="op">=</span> <span class="ident">T</span><span class="op">&gt;</span>;
 
     <span class="doccomment">/// For use by `ToTokens` implementations.</span>
     <span class="doccomment">///</span>
     <span class="doccomment">/// Appends all of the items in the iterator `I`, separated by the tokens</span>
     <span class="doccomment">/// `U`.</span>
-    <span class="kw">fn</span> <span class="ident">append_separated</span><span class="op">&lt;</span><span class="ident">I</span>, <span class="ident">U</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">iter</span>: <span class="ident">I</span>, <span class="ident">op</span>: <span class="ident">U</span>)
+    <span class="kw">fn</span> <span class="ident">append_separated</span><span class="op">&lt;</span><span class="ident">T</span>, <span class="ident">I</span>, <span class="ident">U</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">iter</span>: <span class="ident">I</span>, <span class="ident">op</span>: <span class="ident">U</span>)
     <span class="kw">where</span>
-        <span class="ident">I</span>: <span class="ident">IntoIterator</span>,
-        <span class="ident">I</span>::<span class="ident">Item</span>: <span class="ident">ToTokens</span>,
+        <span class="ident">T</span>: <span class="ident">ToTokens</span>,
+        <span class="ident">I</span>: <span class="ident">IntoIterator</span><span class="op">&lt;</span><span class="ident">Item</span> <span class="op">=</span> <span class="ident">T</span><span class="op">&gt;</span>,
         <span class="ident">U</span>: <span class="ident">ToTokens</span>;
 
     <span class="doccomment">/// For use by `ToTokens` implementations.</span>
     <span class="doccomment">///</span>
     <span class="doccomment">/// Appends all tokens in the iterator `I`, appending `U` after each</span>
     <span class="doccomment">/// element, including after the last element of the iterator.</span>
-    <span class="kw">fn</span> <span class="ident">append_terminated</span><span class="op">&lt;</span><span class="ident">I</span>, <span class="ident">U</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">iter</span>: <span class="ident">I</span>, <span class="ident">term</span>: <span class="ident">U</span>)
+    <span class="kw">fn</span> <span class="ident">append_terminated</span><span class="op">&lt;</span><span class="ident">T</span>, <span class="ident">I</span>, <span class="ident">U</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">iter</span>: <span class="ident">I</span>, <span class="ident">term</span>: <span class="ident">U</span>)
     <span class="kw">where</span>
-        <span class="ident">I</span>: <span class="ident">IntoIterator</span>,
-        <span class="ident">I</span>::<span class="ident">Item</span>: <span class="ident">ToTokens</span>,
+        <span class="ident">T</span>: <span class="ident">ToTokens</span>,
+        <span class="ident">I</span>: <span class="ident">IntoIterator</span><span class="op">&lt;</span><span class="ident">Item</span> <span class="op">=</span> <span class="ident">T</span><span class="op">&gt;</span>,
         <span class="ident">U</span>: <span class="ident">ToTokens</span>;
 }
 
@@ -179,20 +179,20 @@
         <span class="self">self</span>.<span class="ident">extend</span>(<span class="ident">iter</span>::<span class="ident">once</span>(<span class="ident">token</span>.<span class="ident">into</span>()));
     }
 
-    <span class="kw">fn</span> <span class="ident">append_all</span><span class="op">&lt;</span><span class="ident">I</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">iter</span>: <span class="ident">I</span>)
+    <span class="kw">fn</span> <span class="ident">append_all</span><span class="op">&lt;</span><span class="ident">T</span>, <span class="ident">I</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">iter</span>: <span class="ident">I</span>)
     <span class="kw">where</span>
-        <span class="ident">I</span>: <span class="ident">IntoIterator</span>,
-        <span class="ident">I</span>::<span class="ident">Item</span>: <span class="ident">ToTokens</span>,
+        <span class="ident">T</span>: <span class="ident">ToTokens</span>,
+        <span class="ident">I</span>: <span class="ident">IntoIterator</span><span class="op">&lt;</span><span class="ident">Item</span> <span class="op">=</span> <span class="ident">T</span><span class="op">&gt;</span>,
     {
         <span class="kw">for</span> <span class="ident">token</span> <span class="kw">in</span> <span class="ident">iter</span> {
             <span class="ident">token</span>.<span class="ident">to_tokens</span>(<span class="self">self</span>);
         }
     }
 
-    <span class="kw">fn</span> <span class="ident">append_separated</span><span class="op">&lt;</span><span class="ident">I</span>, <span class="ident">U</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">iter</span>: <span class="ident">I</span>, <span class="ident">op</span>: <span class="ident">U</span>)
+    <span class="kw">fn</span> <span class="ident">append_separated</span><span class="op">&lt;</span><span class="ident">T</span>, <span class="ident">I</span>, <span class="ident">U</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">iter</span>: <span class="ident">I</span>, <span class="ident">op</span>: <span class="ident">U</span>)
     <span class="kw">where</span>
-        <span class="ident">I</span>: <span class="ident">IntoIterator</span>,
-        <span class="ident">I</span>::<span class="ident">Item</span>: <span class="ident">ToTokens</span>,
+        <span class="ident">T</span>: <span class="ident">ToTokens</span>,
+        <span class="ident">I</span>: <span class="ident">IntoIterator</span><span class="op">&lt;</span><span class="ident">Item</span> <span class="op">=</span> <span class="ident">T</span><span class="op">&gt;</span>,
         <span class="ident">U</span>: <span class="ident">ToTokens</span>,
     {
         <span class="kw">for</span> (<span class="ident">i</span>, <span class="ident">token</span>) <span class="kw">in</span> <span class="ident">iter</span>.<span class="ident">into_iter</span>().<span class="ident">enumerate</span>() {
@@ -203,10 +203,10 @@
         }
     }
 
-    <span class="kw">fn</span> <span class="ident">append_terminated</span><span class="op">&lt;</span><span class="ident">I</span>, <span class="ident">U</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">iter</span>: <span class="ident">I</span>, <span class="ident">term</span>: <span class="ident">U</span>)
+    <span class="kw">fn</span> <span class="ident">append_terminated</span><span class="op">&lt;</span><span class="ident">T</span>, <span class="ident">I</span>, <span class="ident">U</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">iter</span>: <span class="ident">I</span>, <span class="ident">term</span>: <span class="ident">U</span>)
     <span class="kw">where</span>
-        <span class="ident">I</span>: <span class="ident">IntoIterator</span>,
-        <span class="ident">I</span>::<span class="ident">Item</span>: <span class="ident">ToTokens</span>,
+        <span class="ident">T</span>: <span class="ident">ToTokens</span>,
+        <span class="ident">I</span>: <span class="ident">IntoIterator</span><span class="op">&lt;</span><span class="ident">Item</span> <span class="op">=</span> <span class="ident">T</span><span class="op">&gt;</span>,
         <span class="ident">U</span>: <span class="ident">ToTokens</span>,
     {
         <span class="kw">for</span> <span class="ident">token</span> <span class="kw">in</span> <span class="ident">iter</span> {
diff --git a/api-docs/crates-enclave/src/quote/lib.rs.html b/api-docs/crates-enclave/src/quote/lib.rs.html
index 485d379..1e9d5de 100644
--- a/api-docs/crates-enclave/src/quote/lib.rs.html
+++ b/api-docs/crates-enclave/src/quote/lib.rs.html
@@ -1,1274 +1,865 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source to the Rust file `/home/mssun/incubator-mesatee/build/cmake_tomls/sgx_trusted_lib/third_party/crates-sgx/vendor/quote/src/lib.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>lib.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../norm [...]
-<span id="2">   2</span>
-<span id="3">   3</span>
-<span id="4">   4</span>
-<span id="5">   5</span>
-<span id="6">   6</span>
-<span id="7">   7</span>
-<span id="8">   8</span>
-<span id="9">   9</span>
-<span id="10">  10</span>
-<span id="11">  11</span>
-<span id="12">  12</span>
-<span id="13">  13</span>
-<span id="14">  14</span>
-<span id="15">  15</span>
-<span id="16">  16</span>
-<span id="17">  17</span>
-<span id="18">  18</span>
-<span id="19">  19</span>
-<span id="20">  20</span>
-<span id="21">  21</span>
-<span id="22">  22</span>
-<span id="23">  23</span>
-<span id="24">  24</span>
-<span id="25">  25</span>
-<span id="26">  26</span>
-<span id="27">  27</span>
-<span id="28">  28</span>
-<span id="29">  29</span>
-<span id="30">  30</span>
-<span id="31">  31</span>
-<span id="32">  32</span>
-<span id="33">  33</span>
-<span id="34">  34</span>
-<span id="35">  35</span>
-<span id="36">  36</span>
-<span id="37">  37</span>
-<span id="38">  38</span>
-<span id="39">  39</span>
-<span id="40">  40</span>
-<span id="41">  41</span>
-<span id="42">  42</span>
-<span id="43">  43</span>
-<span id="44">  44</span>
-<span id="45">  45</span>
-<span id="46">  46</span>
-<span id="47">  47</span>
-<span id="48">  48</span>
-<span id="49">  49</span>
-<span id="50">  50</span>
-<span id="51">  51</span>
-<span id="52">  52</span>
-<span id="53">  53</span>
-<span id="54">  54</span>
-<span id="55">  55</span>
-<span id="56">  56</span>
-<span id="57">  57</span>
-<span id="58">  58</span>
-<span id="59">  59</span>
-<span id="60">  60</span>
-<span id="61">  61</span>
-<span id="62">  62</span>
-<span id="63">  63</span>
-<span id="64">  64</span>
-<span id="65">  65</span>
-<span id="66">  66</span>
-<span id="67">  67</span>
-<span id="68">  68</span>
-<span id="69">  69</span>
-<span id="70">  70</span>
-<span id="71">  71</span>
-<span id="72">  72</span>
-<span id="73">  73</span>
-<span id="74">  74</span>
-<span id="75">  75</span>
-<span id="76">  76</span>
-<span id="77">  77</span>
-<span id="78">  78</span>
-<span id="79">  79</span>
-<span id="80">  80</span>
-<span id="81">  81</span>
-<span id="82">  82</span>
-<span id="83">  83</span>
-<span id="84">  84</span>
-<span id="85">  85</span>
-<span id="86">  86</span>
-<span id="87">  87</span>
-<span id="88">  88</span>
-<span id="89">  89</span>
-<span id="90">  90</span>
-<span id="91">  91</span>
-<span id="92">  92</span>
-<span id="93">  93</span>
-<span id="94">  94</span>
-<span id="95">  95</span>
-<span id="96">  96</span>
-<span id="97">  97</span>
-<span id="98">  98</span>
-<span id="99">  99</span>
-<span id="100"> 100</span>
-<span id="101"> 101</span>
-<span id="102"> 102</span>
-<span id="103"> 103</span>
-<span id="104"> 104</span>
-<span id="105"> 105</span>
-<span id="106"> 106</span>
-<span id="107"> 107</span>
-<span id="108"> 108</span>
-<span id="109"> 109</span>
-<span id="110"> 110</span>
-<span id="111"> 111</span>
-<span id="112"> 112</span>
-<span id="113"> 113</span>
-<span id="114"> 114</span>
-<span id="115"> 115</span>
-<span id="116"> 116</span>
-<span id="117"> 117</span>
-<span id="118"> 118</span>
-<span id="119"> 119</span>
-<span id="120"> 120</span>
-<span id="121"> 121</span>
-<span id="122"> 122</span>
-<span id="123"> 123</span>
-<span id="124"> 124</span>
-<span id="125"> 125</span>
-<span id="126"> 126</span>
-<span id="127"> 127</span>
-<span id="128"> 128</span>
-<span id="129"> 129</span>
-<span id="130"> 130</span>
-<span id="131"> 131</span>
-<span id="132"> 132</span>
-<span id="133"> 133</span>
-<span id="134"> 134</span>
-<span id="135"> 135</span>
-<span id="136"> 136</span>
-<span id="137"> 137</span>
-<span id="138"> 138</span>
-<span id="139"> 139</span>
-<span id="140"> 140</span>
-<span id="141"> 141</span>
-<span id="142"> 142</span>
-<span id="143"> 143</span>
-<span id="144"> 144</span>
-<span id="145"> 145</span>
-<span id="146"> 146</span>
-<span id="147"> 147</span>
-<span id="148"> 148</span>
-<span id="149"> 149</span>
-<span id="150"> 150</span>
-<span id="151"> 151</span>
-<span id="152"> 152</span>
-<span id="153"> 153</span>
-<span id="154"> 154</span>
-<span id="155"> 155</span>
-<span id="156"> 156</span>
-<span id="157"> 157</span>
-<span id="158"> 158</span>
-<span id="159"> 159</span>
-<span id="160"> 160</span>
-<span id="161"> 161</span>
-<span id="162"> 162</span>
-<span id="163"> 163</span>
-<span id="164"> 164</span>
-<span id="165"> 165</span>
-<span id="166"> 166</span>
-<span id="167"> 167</span>
-<span id="168"> 168</span>
-<span id="169"> 169</span>
-<span id="170"> 170</span>
-<span id="171"> 171</span>
-<span id="172"> 172</span>
-<span id="173"> 173</span>
-<span id="174"> 174</span>
-<span id="175"> 175</span>
-<span id="176"> 176</span>
-<span id="177"> 177</span>
-<span id="178"> 178</span>
-<span id="179"> 179</span>
-<span id="180"> 180</span>
-<span id="181"> 181</span>
-<span id="182"> 182</span>
-<span id="183"> 183</span>
-<span id="184"> 184</span>
-<span id="185"> 185</span>
-<span id="186"> 186</span>
-<span id="187"> 187</span>
-<span id="188"> 188</span>
-<span id="189"> 189</span>
-<span id="190"> 190</span>
-<span id="191"> 191</span>
-<span id="192"> 192</span>
-<span id="193"> 193</span>
-<span id="194"> 194</span>
-<span id="195"> 195</span>
-<span id="196"> 196</span>
-<span id="197"> 197</span>
-<span id="198"> 198</span>
-<span id="199"> 199</span>
-<span id="200"> 200</span>
-<span id="201"> 201</span>
-<span id="202"> 202</span>
-<span id="203"> 203</span>
-<span id="204"> 204</span>
-<span id="205"> 205</span>
-<span id="206"> 206</span>
-<span id="207"> 207</span>
-<span id="208"> 208</span>
-<span id="209"> 209</span>
-<span id="210"> 210</span>
-<span id="211"> 211</span>
-<span id="212"> 212</span>
-<span id="213"> 213</span>
-<span id="214"> 214</span>
-<span id="215"> 215</span>
-<span id="216"> 216</span>
-<span id="217"> 217</span>
-<span id="218"> 218</span>
-<span id="219"> 219</span>
-<span id="220"> 220</span>
-<span id="221"> 221</span>
-<span id="222"> 222</span>
-<span id="223"> 223</span>
-<span id="224"> 224</span>
-<span id="225"> 225</span>
-<span id="226"> 226</span>
-<span id="227"> 227</span>
-<span id="228"> 228</span>
-<span id="229"> 229</span>
-<span id="230"> 230</span>
-<span id="231"> 231</span>
-<span id="232"> 232</span>
-<span id="233"> 233</span>
-<span id="234"> 234</span>
-<span id="235"> 235</span>
-<span id="236"> 236</span>
-<span id="237"> 237</span>
-<span id="238"> 238</span>
-<span id="239"> 239</span>
-<span id="240"> 240</span>
-<span id="241"> 241</span>
-<span id="242"> 242</span>
-<span id="243"> 243</span>
-<span id="244"> 244</span>
-<span id="245"> 245</span>
-<span id="246"> 246</span>
-<span id="247"> 247</span>
-<span id="248"> 248</span>
-<span id="249"> 249</span>
-<span id="250"> 250</span>
-<span id="251"> 251</span>
-<span id="252"> 252</span>
-<span id="253"> 253</span>
-<span id="254"> 254</span>
-<span id="255"> 255</span>
-<span id="256"> 256</span>
-<span id="257"> 257</span>
-<span id="258"> 258</span>
-<span id="259"> 259</span>
-<span id="260"> 260</span>
-<span id="261"> 261</span>
-<span id="262"> 262</span>
-<span id="263"> 263</span>
-<span id="264"> 264</span>
-<span id="265"> 265</span>
-<span id="266"> 266</span>
-<span id="267"> 267</span>
-<span id="268"> 268</span>
-<span id="269"> 269</span>
-<span id="270"> 270</span>
-<span id="271"> 271</span>
-<span id="272"> 272</span>
-<span id="273"> 273</span>
-<span id="274"> 274</span>
-<span id="275"> 275</span>
-<span id="276"> 276</span>
-<span id="277"> 277</span>
-<span id="278"> 278</span>
-<span id="279"> 279</span>
-<span id="280"> 280</span>
-<span id="281"> 281</span>
-<span id="282"> 282</span>
-<span id="283"> 283</span>
-<span id="284"> 284</span>
-<span id="285"> 285</span>
-<span id="286"> 286</span>
-<span id="287"> 287</span>
-<span id="288"> 288</span>
-<span id="289"> 289</span>
-<span id="290"> 290</span>
-<span id="291"> 291</span>
-<span id="292"> 292</span>
-<span id="293"> 293</span>
-<span id="294"> 294</span>
-<span id="295"> 295</span>
-<span id="296"> 296</span>
-<span id="297"> 297</span>
-<span id="298"> 298</span>
-<span id="299"> 299</span>
-<span id="300"> 300</span>
-<span id="301"> 301</span>
-<span id="302"> 302</span>
-<span id="303"> 303</span>
-<span id="304"> 304</span>
-<span id="305"> 305</span>
-<span id="306"> 306</span>
-<span id="307"> 307</span>
-<span id="308"> 308</span>
-<span id="309"> 309</span>
-<span id="310"> 310</span>
-<span id="311"> 311</span>
-<span id="312"> 312</span>
-<span id="313"> 313</span>
-<span id="314"> 314</span>
-<span id="315"> 315</span>
-<span id="316"> 316</span>
-<span id="317"> 317</span>
-<span id="318"> 318</span>
-<span id="319"> 319</span>
-<span id="320"> 320</span>
-<span id="321"> 321</span>
-<span id="322"> 322</span>
-<span id="323"> 323</span>
-<span id="324"> 324</span>
-<span id="325"> 325</span>
-<span id="326"> 326</span>
-<span id="327"> 327</span>
-<span id="328"> 328</span>
-<span id="329"> 329</span>
-<span id="330"> 330</span>
-<span id="331"> 331</span>
-<span id="332"> 332</span>
-<span id="333"> 333</span>
-<span id="334"> 334</span>
-<span id="335"> 335</span>
-<span id="336"> 336</span>
-<span id="337"> 337</span>
-<span id="338"> 338</span>
-<span id="339"> 339</span>
-<span id="340"> 340</span>
-<span id="341"> 341</span>
-<span id="342"> 342</span>
-<span id="343"> 343</span>
-<span id="344"> 344</span>
-<span id="345"> 345</span>
-<span id="346"> 346</span>
-<span id="347"> 347</span>
-<span id="348"> 348</span>
-<span id="349"> 349</span>
-<span id="350"> 350</span>
-<span id="351"> 351</span>
-<span id="352"> 352</span>
-<span id="353"> 353</span>
-<span id="354"> 354</span>
-<span id="355"> 355</span>
-<span id="356"> 356</span>
-<span id="357"> 357</span>
-<span id="358"> 358</span>
-<span id="359"> 359</span>
-<span id="360"> 360</span>
-<span id="361"> 361</span>
-<span id="362"> 362</span>
-<span id="363"> 363</span>
-<span id="364"> 364</span>
-<span id="365"> 365</span>
-<span id="366"> 366</span>
-<span id="367"> 367</span>
-<span id="368"> 368</span>
-<span id="369"> 369</span>
-<span id="370"> 370</span>
-<span id="371"> 371</span>
-<span id="372"> 372</span>
-<span id="373"> 373</span>
-<span id="374"> 374</span>
-<span id="375"> 375</span>
-<span id="376"> 376</span>
-<span id="377"> 377</span>
-<span id="378"> 378</span>
-<span id="379"> 379</span>
-<span id="380"> 380</span>
-<span id="381"> 381</span>
-<span id="382"> 382</span>
-<span id="383"> 383</span>
-<span id="384"> 384</span>
-<span id="385"> 385</span>
-<span id="386"> 386</span>
-<span id="387"> 387</span>
-<span id="388"> 388</span>
-<span id="389"> 389</span>
-<span id="390"> 390</span>
-<span id="391"> 391</span>
-<span id="392"> 392</span>
-<span id="393"> 393</span>
-<span id="394"> 394</span>
-<span id="395"> 395</span>
-<span id="396"> 396</span>
-<span id="397"> 397</span>
-<span id="398"> 398</span>
-<span id="399"> 399</span>
-<span id="400"> 400</span>
-<span id="401"> 401</span>
-<span id="402"> 402</span>
-<span id="403"> 403</span>
-<span id="404"> 404</span>
-<span id="405"> 405</span>
-<span id="406"> 406</span>
-<span id="407"> 407</span>
-<span id="408"> 408</span>
-<span id="409"> 409</span>
-<span id="410"> 410</span>
-<span id="411"> 411</span>
-<span id="412"> 412</span>
-<span id="413"> 413</span>
-<span id="414"> 414</span>
-<span id="415"> 415</span>
-<span id="416"> 416</span>
-<span id="417"> 417</span>
-<span id="418"> 418</span>
-<span id="419"> 419</span>
-<span id="420"> 420</span>
-<span id="421"> 421</span>
-<span id="422"> 422</span>
-<span id="423"> 423</span>
-<span id="424"> 424</span>
-<span id="425"> 425</span>
-<span id="426"> 426</span>
-<span id="427"> 427</span>
-<span id="428"> 428</span>
-<span id="429"> 429</span>
-<span id="430"> 430</span>
-<span id="431"> 431</span>
-<span id="432"> 432</span>
-<span id="433"> 433</span>
-<span id="434"> 434</span>
-<span id="435"> 435</span>
-<span id="436"> 436</span>
-<span id="437"> 437</span>
-<span id="438"> 438</span>
-<span id="439"> 439</span>
-<span id="440"> 440</span>
-<span id="441"> 441</span>
-<span id="442"> 442</span>
-<span id="443"> 443</span>
-<span id="444"> 444</span>
-<span id="445"> 445</span>
-<span id="446"> 446</span>
-<span id="447"> 447</span>
-<span id="448"> 448</span>
-<span id="449"> 449</span>
-<span id="450"> 450</span>
-<span id="451"> 451</span>
-<span id="452"> 452</span>
-<span id="453"> 453</span>
-<span id="454"> 454</span>
-<span id="455"> 455</span>
-<span id="456"> 456</span>
-<span id="457"> 457</span>
-<span id="458"> 458</span>
-<span id="459"> 459</span>
-<span id="460"> 460</span>
-<span id="461"> 461</span>
-<span id="462"> 462</span>
-<span id="463"> 463</span>
-<span id="464"> 464</span>
-<span id="465"> 465</span>
-<span id="466"> 466</span>
-<span id="467"> 467</span>
-<span id="468"> 468</span>
-<span id="469"> 469</span>
-<span id="470"> 470</span>
-<span id="471"> 471</span>
-<span id="472"> 472</span>
-<span id="473"> 473</span>
-<span id="474"> 474</span>
-<span id="475"> 475</span>
-<span id="476"> 476</span>
-<span id="477"> 477</span>
-<span id="478"> 478</span>
-<span id="479"> 479</span>
-<span id="480"> 480</span>
-<span id="481"> 481</span>
-<span id="482"> 482</span>
-<span id="483"> 483</span>
-<span id="484"> 484</span>
-<span id="485"> 485</span>
-<span id="486"> 486</span>
-<span id="487"> 487</span>
-<span id="488"> 488</span>
-<span id="489"> 489</span>
-<span id="490"> 490</span>
-<span id="491"> 491</span>
-<span id="492"> 492</span>
-<span id="493"> 493</span>
-<span id="494"> 494</span>
-<span id="495"> 495</span>
-<span id="496"> 496</span>
-<span id="497"> 497</span>
-<span id="498"> 498</span>
-<span id="499"> 499</span>
-<span id="500"> 500</span>
-<span id="501"> 501</span>
-<span id="502"> 502</span>
-<span id="503"> 503</span>
-<span id="504"> 504</span>
-<span id="505"> 505</span>
-<span id="506"> 506</span>
-<span id="507"> 507</span>
-<span id="508"> 508</span>
-<span id="509"> 509</span>
-<span id="510"> 510</span>
-<span id="511"> 511</span>
-<span id="512"> 512</span>
-<span id="513"> 513</span>
-<span id="514"> 514</span>
-<span id="515"> 515</span>
-<span id="516"> 516</span>
-<span id="517"> 517</span>
-<span id="518"> 518</span>
-<span id="519"> 519</span>
-<span id="520"> 520</span>
-<span id="521"> 521</span>
-<span id="522"> 522</span>
-<span id="523"> 523</span>
-<span id="524"> 524</span>
-<span id="525"> 525</span>
-<span id="526"> 526</span>
-<span id="527"> 527</span>
-<span id="528"> 528</span>
-<span id="529"> 529</span>
-<span id="530"> 530</span>
-<span id="531"> 531</span>
-<span id="532"> 532</span>
-<span id="533"> 533</span>
-<span id="534"> 534</span>
-<span id="535"> 535</span>
-<span id="536"> 536</span>
-<span id="537"> 537</span>
-<span id="538"> 538</span>
-<span id="539"> 539</span>
-<span id="540"> 540</span>
-<span id="541"> 541</span>
-<span id="542"> 542</span>
-<span id="543"> 543</span>
-<span id="544"> 544</span>
-<span id="545"> 545</span>
-<span id="546"> 546</span>
-<span id="547"> 547</span>
-<span id="548"> 548</span>
-<span id="549"> 549</span>
-<span id="550"> 550</span>
-<span id="551"> 551</span>
-<span id="552"> 552</span>
-<span id="553"> 553</span>
-<span id="554"> 554</span>
-<span id="555"> 555</span>
-<span id="556"> 556</span>
-<span id="557"> 557</span>
-<span id="558"> 558</span>
-<span id="559"> 559</span>
-<span id="560"> 560</span>
-<span id="561"> 561</span>
-<span id="562"> 562</span>
-<span id="563"> 563</span>
-<span id="564"> 564</span>
-<span id="565"> 565</span>
-<span id="566"> 566</span>
-<span id="567"> 567</span>
-<span id="568"> 568</span>
-<span id="569"> 569</span>
-<span id="570"> 570</span>
-<span id="571"> 571</span>
-<span id="572"> 572</span>
-<span id="573"> 573</span>
-<span id="574"> 574</span>
-<span id="575"> 575</span>
-<span id="576"> 576</span>
-<span id="577"> 577</span>
-<span id="578"> 578</span>
-<span id="579"> 579</span>
-<span id="580"> 580</span>
-<span id="581"> 581</span>
-<span id="582"> 582</span>
-<span id="583"> 583</span>
-<span id="584"> 584</span>
-<span id="585"> 585</span>
-<span id="586"> 586</span>
-<span id="587"> 587</span>
-<span id="588"> 588</span>
-<span id="589"> 589</span>
-<span id="590"> 590</span>
-<span id="591"> 591</span>
-<span id="592"> 592</span>
-<span id="593"> 593</span>
-<span id="594"> 594</span>
-<span id="595"> 595</span>
-<span id="596"> 596</span>
-<span id="597"> 597</span>
-<span id="598"> 598</span>
-<span id="599"> 599</span>
-<span id="600"> 600</span>
-<span id="601"> 601</span>
-<span id="602"> 602</span>
-<span id="603"> 603</span>
-<span id="604"> 604</span>
-<span id="605"> 605</span>
-<span id="606"> 606</span>
-<span id="607"> 607</span>
-<span id="608"> 608</span>
-<span id="609"> 609</span>
-<span id="610"> 610</span>
-<span id="611"> 611</span>
-<span id="612"> 612</span>
-<span id="613"> 613</span>
-<span id="614"> 614</span>
-<span id="615"> 615</span>
-<span id="616"> 616</span>
-<span id="617"> 617</span>
-<span id="618"> 618</span>
-<span id="619"> 619</span>
-<span id="620"> 620</span>
-<span id="621"> 621</span>
-<span id="622"> 622</span>
-<span id="623"> 623</span>
-<span id="624"> 624</span>
-<span id="625"> 625</span>
-<span id="626"> 626</span>
-<span id="627"> 627</span>
-<span id="628"> 628</span>
-<span id="629"> 629</span>
-<span id="630"> 630</span>
-<span id="631"> 631</span>
-<span id="632"> 632</span>
-<span id="633"> 633</span>
-<span id="634"> 634</span>
-<span id="635"> 635</span>
-<span id="636"> 636</span>
-<span id="637"> 637</span>
-<span id="638"> 638</span>
-<span id="639"> 639</span>
-<span id="640"> 640</span>
-<span id="641"> 641</span>
-<span id="642"> 642</span>
-<span id="643"> 643</span>
-<span id="644"> 644</span>
-<span id="645"> 645</span>
-<span id="646"> 646</span>
-<span id="647"> 647</span>
-<span id="648"> 648</span>
-<span id="649"> 649</span>
-<span id="650"> 650</span>
-<span id="651"> 651</span>
-<span id="652"> 652</span>
-<span id="653"> 653</span>
-<span id="654"> 654</span>
-<span id="655"> 655</span>
-<span id="656"> 656</span>
-<span id="657"> 657</span>
-<span id="658"> 658</span>
-<span id="659"> 659</span>
-<span id="660"> 660</span>
-<span id="661"> 661</span>
-<span id="662"> 662</span>
-<span id="663"> 663</span>
-<span id="664"> 664</span>
-<span id="665"> 665</span>
-<span id="666"> 666</span>
-<span id="667"> 667</span>
-<span id="668"> 668</span>
-<span id="669"> 669</span>
-<span id="670"> 670</span>
-<span id="671"> 671</span>
-<span id="672"> 672</span>
-<span id="673"> 673</span>
-<span id="674"> 674</span>
-<span id="675"> 675</span>
-<span id="676"> 676</span>
-<span id="677"> 677</span>
-<span id="678"> 678</span>
-<span id="679"> 679</span>
-<span id="680"> 680</span>
-<span id="681"> 681</span>
-<span id="682"> 682</span>
-<span id="683"> 683</span>
-<span id="684"> 684</span>
-<span id="685"> 685</span>
-<span id="686"> 686</span>
-<span id="687"> 687</span>
-<span id="688"> 688</span>
-<span id="689"> 689</span>
-<span id="690"> 690</span>
-<span id="691"> 691</span>
-<span id="692"> 692</span>
-<span id="693"> 693</span>
-<span id="694"> 694</span>
-<span id="695"> 695</span>
-<span id="696"> 696</span>
-<span id="697"> 697</span>
-<span id="698"> 698</span>
-<span id="699"> 699</span>
-<span id="700"> 700</span>
-<span id="701"> 701</span>
-<span id="702"> 702</span>
-<span id="703"> 703</span>
-<span id="704"> 704</span>
-<span id="705"> 705</span>
-<span id="706"> 706</span>
-<span id="707"> 707</span>
-<span id="708"> 708</span>
-<span id="709"> 709</span>
-<span id="710"> 710</span>
-<span id="711"> 711</span>
-<span id="712"> 712</span>
-<span id="713"> 713</span>
-<span id="714"> 714</span>
-<span id="715"> 715</span>
-<span id="716"> 716</span>
-<span id="717"> 717</span>
-<span id="718"> 718</span>
-<span id="719"> 719</span>
-<span id="720"> 720</span>
-<span id="721"> 721</span>
-<span id="722"> 722</span>
-<span id="723"> 723</span>
-<span id="724"> 724</span>
-<span id="725"> 725</span>
-<span id="726"> 726</span>
-<span id="727"> 727</span>
-<span id="728"> 728</span>
-<span id="729"> 729</span>
-<span id="730"> 730</span>
-<span id="731"> 731</span>
-<span id="732"> 732</span>
-<span id="733"> 733</span>
-<span id="734"> 734</span>
-<span id="735"> 735</span>
-<span id="736"> 736</span>
-<span id="737"> 737</span>
-<span id="738"> 738</span>
-<span id="739"> 739</span>
-<span id="740"> 740</span>
-<span id="741"> 741</span>
-<span id="742"> 742</span>
-<span id="743"> 743</span>
-<span id="744"> 744</span>
-<span id="745"> 745</span>
-<span id="746"> 746</span>
-<span id="747"> 747</span>
-<span id="748"> 748</span>
-<span id="749"> 749</span>
-<span id="750"> 750</span>
-<span id="751"> 751</span>
-<span id="752"> 752</span>
-<span id="753"> 753</span>
-<span id="754"> 754</span>
-<span id="755"> 755</span>
-<span id="756"> 756</span>
-<span id="757"> 757</span>
-<span id="758"> 758</span>
-<span id="759"> 759</span>
-<span id="760"> 760</span>
-<span id="761"> 761</span>
-<span id="762"> 762</span>
-<span id="763"> 763</span>
-<span id="764"> 764</span>
-<span id="765"> 765</span>
-<span id="766"> 766</span>
-<span id="767"> 767</span>
-<span id="768"> 768</span>
-<span id="769"> 769</span>
-<span id="770"> 770</span>
-<span id="771"> 771</span>
-<span id="772"> 772</span>
-<span id="773"> 773</span>
-<span id="774"> 774</span>
-<span id="775"> 775</span>
-<span id="776"> 776</span>
-<span id="777"> 777</span>
-<span id="778"> 778</span>
-<span id="779"> 779</span>
-<span id="780"> 780</span>
-<span id="781"> 781</span>
-<span id="782"> 782</span>
-<span id="783"> 783</span>
-<span id="784"> 784</span>
-<span id="785"> 785</span>
-<span id="786"> 786</span>
-<span id="787"> 787</span>
-<span id="788"> 788</span>
-<span id="789"> 789</span>
-<span id="790"> 790</span>
-<span id="791"> 791</span>
-<span id="792"> 792</span>
-<span id="793"> 793</span>
-<span id="794"> 794</span>
-<span id="795"> 795</span>
-<span id="796"> 796</span>
-<span id="797"> 797</span>
-<span id="798"> 798</span>
-<span id="799"> 799</span>
-<span id="800"> 800</span>
-<span id="801"> 801</span>
-<span id="802"> 802</span>
-<span id="803"> 803</span>
-<span id="804"> 804</span>
-<span id="805"> 805</span>
-<span id="806"> 806</span>
-<span id="807"> 807</span>
-<span id="808"> 808</span>
-<span id="809"> 809</span>
-<span id="810"> 810</span>
-<span id="811"> 811</span>
-<span id="812"> 812</span>
-<span id="813"> 813</span>
-<span id="814"> 814</span>
-<span id="815"> 815</span>
-<span id="816"> 816</span>
-<span id="817"> 817</span>
-<span id="818"> 818</span>
-<span id="819"> 819</span>
-<span id="820"> 820</span>
-<span id="821"> 821</span>
-<span id="822"> 822</span>
-<span id="823"> 823</span>
-<span id="824"> 824</span>
-<span id="825"> 825</span>
-<span id="826"> 826</span>
-<span id="827"> 827</span>
-<span id="828"> 828</span>
-<span id="829"> 829</span>
-<span id="830"> 830</span>
-<span id="831"> 831</span>
-<span id="832"> 832</span>
-<span id="833"> 833</span>
-<span id="834"> 834</span>
-<span id="835"> 835</span>
-<span id="836"> 836</span>
-<span id="837"> 837</span>
-<span id="838"> 838</span>
-<span id="839"> 839</span>
-<span id="840"> 840</span>
-<span id="841"> 841</span>
-<span id="842"> 842</span>
-<span id="843"> 843</span>
-<span id="844"> 844</span>
-<span id="845"> 845</span>
-<span id="846"> 846</span>
-<span id="847"> 847</span>
-<span id="848"> 848</span>
-<span id="849"> 849</span>
-<span id="850"> 850</span>
-<span id="851"> 851</span>
-<span id="852"> 852</span>
-<span id="853"> 853</span>
-<span id="854"> 854</span>
-<span id="855"> 855</span>
-<span id="856"> 856</span>
-<span id="857"> 857</span>
-<span id="858"> 858</span>
-<span id="859"> 859</span>
-<span id="860"> 860</span>
-<span id="861"> 861</span>
-<span id="862"> 862</span>
-<span id="863"> 863</span>
-<span id="864"> 864</span>
-<span id="865"> 865</span>
-<span id="866"> 866</span>
-<span id="867"> 867</span>
-<span id="868"> 868</span>
-<span id="869"> 869</span>
-<span id="870"> 870</span>
-<span id="871"> 871</span>
-<span id="872"> 872</span>
-<span id="873"> 873</span>
-<span id="874"> 874</span>
-<span id="875"> 875</span>
-<span id="876"> 876</span>
-<span id="877"> 877</span>
-<span id="878"> 878</span>
-<span id="879"> 879</span>
-<span id="880"> 880</span>
-<span id="881"> 881</span>
-<span id="882"> 882</span>
-<span id="883"> 883</span>
-<span id="884"> 884</span>
-<span id="885"> 885</span>
-<span id="886"> 886</span>
-<span id="887"> 887</span>
-<span id="888"> 888</span>
-<span id="889"> 889</span>
-<span id="890"> 890</span>
-<span id="891"> 891</span>
-<span id="892"> 892</span>
-<span id="893"> 893</span>
-<span id="894"> 894</span>
-<span id="895"> 895</span>
-<span id="896"> 896</span>
-<span id="897"> 897</span>
-<span id="898"> 898</span>
-<span id="899"> 899</span>
-<span id="900"> 900</span>
-<span id="901"> 901</span>
-<span id="902"> 902</span>
-<span id="903"> 903</span>
-<span id="904"> 904</span>
-<span id="905"> 905</span>
-<span id="906"> 906</span>
-<span id="907"> 907</span>
-<span id="908"> 908</span>
-<span id="909"> 909</span>
-<span id="910"> 910</span>
-<span id="911"> 911</span>
-<span id="912"> 912</span>
-<span id="913"> 913</span>
-<span id="914"> 914</span>
-<span id="915"> 915</span>
-<span id="916"> 916</span>
-<span id="917"> 917</span>
-<span id="918"> 918</span>
-<span id="919"> 919</span>
-<span id="920"> 920</span>
-<span id="921"> 921</span>
-<span id="922"> 922</span>
-<span id="923"> 923</span>
-<span id="924"> 924</span>
-<span id="925"> 925</span>
-<span id="926"> 926</span>
-<span id="927"> 927</span>
-<span id="928"> 928</span>
-<span id="929"> 929</span>
-<span id="930"> 930</span>
-<span id="931"> 931</span>
-<span id="932"> 932</span>
-<span id="933"> 933</span>
-<span id="934"> 934</span>
-<span id="935"> 935</span>
-<span id="936"> 936</span>
-<span id="937"> 937</span>
-<span id="938"> 938</span>
-<span id="939"> 939</span>
-<span id="940"> 940</span>
-<span id="941"> 941</span>
-<span id="942"> 942</span>
-<span id="943"> 943</span>
-<span id="944"> 944</span>
-<span id="945"> 945</span>
-<span id="946"> 946</span>
-<span id="947"> 947</span>
-<span id="948"> 948</span>
-<span id="949"> 949</span>
-<span id="950"> 950</span>
-<span id="951"> 951</span>
-<span id="952"> 952</span>
-<span id="953"> 953</span>
-<span id="954"> 954</span>
-<span id="955"> 955</span>
-<span id="956"> 956</span>
-<span id="957"> 957</span>
-<span id="958"> 958</span>
-<span id="959"> 959</span>
-<span id="960"> 960</span>
-<span id="961"> 961</span>
-<span id="962"> 962</span>
-<span id="963"> 963</span>
-<span id="964"> 964</span>
-<span id="965"> 965</span>
-<span id="966"> 966</span>
-<span id="967"> 967</span>
-<span id="968"> 968</span>
-<span id="969"> 969</span>
-<span id="970"> 970</span>
-<span id="971"> 971</span>
-<span id="972"> 972</span>
-<span id="973"> 973</span>
-<span id="974"> 974</span>
-<span id="975"> 975</span>
-<span id="976"> 976</span>
-<span id="977"> 977</span>
-<span id="978"> 978</span>
-<span id="979"> 979</span>
-<span id="980"> 980</span>
-<span id="981"> 981</span>
-<span id="982"> 982</span>
-<span id="983"> 983</span>
-<span id="984"> 984</span>
-<span id="985"> 985</span>
-<span id="986"> 986</span>
-<span id="987"> 987</span>
-<span id="988"> 988</span>
-<span id="989"> 989</span>
-<span id="990"> 990</span>
-<span id="991"> 991</span>
-<span id="992"> 992</span>
-<span id="993"> 993</span>
-<span id="994"> 994</span>
-<span id="995"> 995</span>
-<span id="996"> 996</span>
-<span id="997"> 997</span>
-<span id="998"> 998</span>
-<span id="999"> 999</span>
-<span id="1000">1000</span>
-<span id="1001">1001</span>
-<span id="1002">1002</span>
-<span id="1003">1003</span>
-<span id="1004">1004</span>
-<span id="1005">1005</span>
-<span id="1006">1006</span>
-<span id="1007">1007</span>
-<span id="1008">1008</span>
-<span id="1009">1009</span>
-<span id="1010">1010</span>
-<span id="1011">1011</span>
-<span id="1012">1012</span>
-<span id="1013">1013</span>
-<span id="1014">1014</span>
-<span id="1015">1015</span>
-<span id="1016">1016</span>
-<span id="1017">1017</span>
-<span id="1018">1018</span>
-<span id="1019">1019</span>
-<span id="1020">1020</span>
-<span id="1021">1021</span>
-<span id="1022">1022</span>
-<span id="1023">1023</span>
-<span id="1024">1024</span>
-<span id="1025">1025</span>
-<span id="1026">1026</span>
-<span id="1027">1027</span>
-<span id="1028">1028</span>
-<span id="1029">1029</span>
-<span id="1030">1030</span>
-<span id="1031">1031</span>
-<span id="1032">1032</span>
-<span id="1033">1033</span>
-<span id="1034">1034</span>
-<span id="1035">1035</span>
-<span id="1036">1036</span>
-<span id="1037">1037</span>
-<span id="1038">1038</span>
-<span id="1039">1039</span>
-<span id="1040">1040</span>
-<span id="1041">1041</span>
-<span id="1042">1042</span>
-<span id="1043">1043</span>
-<span id="1044">1044</span>
-<span id="1045">1045</span>
-<span id="1046">1046</span>
-<span id="1047">1047</span>
-<span id="1048">1048</span>
-<span id="1049">1049</span>
-<span id="1050">1050</span>
-<span id="1051">1051</span>
-<span id="1052">1052</span>
-<span id="1053">1053</span>
-<span id="1054">1054</span>
-<span id="1055">1055</span>
-<span id="1056">1056</span>
-<span id="1057">1057</span>
-<span id="1058">1058</span>
-<span id="1059">1059</span>
-<span id="1060">1060</span>
-<span id="1061">1061</span>
-<span id="1062">1062</span>
-<span id="1063">1063</span>
-<span id="1064">1064</span>
-<span id="1065">1065</span>
-<span id="1066">1066</span>
-<span id="1067">1067</span>
-<span id="1068">1068</span>
-<span id="1069">1069</span>
-<span id="1070">1070</span>
-<span id="1071">1071</span>
-<span id="1072">1072</span>
-<span id="1073">1073</span>
-<span id="1074">1074</span>
-<span id="1075">1075</span>
-<span id="1076">1076</span>
-<span id="1077">1077</span>
-<span id="1078">1078</span>
-<span id="1079">1079</span>
-<span id="1080">1080</span>
-<span id="1081">1081</span>
-<span id="1082">1082</span>
-<span id="1083">1083</span>
-<span id="1084">1084</span>
-<span id="1085">1085</span>
-<span id="1086">1086</span>
-<span id="1087">1087</span>
-<span id="1088">1088</span>
-<span id="1089">1089</span>
-<span id="1090">1090</span>
-<span id="1091">1091</span>
-<span id="1092">1092</span>
-<span id="1093">1093</span>
-<span id="1094">1094</span>
-<span id="1095">1095</span>
-<span id="1096">1096</span>
-<span id="1097">1097</span>
-<span id="1098">1098</span>
-<span id="1099">1099</span>
-<span id="1100">1100</span>
-<span id="1101">1101</span>
-<span id="1102">1102</span>
-<span id="1103">1103</span>
-<span id="1104">1104</span>
-<span id="1105">1105</span>
-<span id="1106">1106</span>
-<span id="1107">1107</span>
-<span id="1108">1108</span>
-<span id="1109">1109</span>
-<span id="1110">1110</span>
-<span id="1111">1111</span>
-<span id="1112">1112</span>
-<span id="1113">1113</span>
-<span id="1114">1114</span>
-<span id="1115">1115</span>
-<span id="1116">1116</span>
-<span id="1117">1117</span>
-<span id="1118">1118</span>
-<span id="1119">1119</span>
-<span id="1120">1120</span>
-<span id="1121">1121</span>
-<span id="1122">1122</span>
-<span id="1123">1123</span>
-<span id="1124">1124</span>
-<span id="1125">1125</span>
-<span id="1126">1126</span>
-<span id="1127">1127</span>
-<span id="1128">1128</span>
-<span id="1129">1129</span>
-<span id="1130">1130</span>
-<span id="1131">1131</span>
-<span id="1132">1132</span>
-<span id="1133">1133</span>
-<span id="1134">1134</span>
-<span id="1135">1135</span>
-<span id="1136">1136</span>
-<span id="1137">1137</span>
-<span id="1138">1138</span>
-<span id="1139">1139</span>
-<span id="1140">1140</span>
-<span id="1141">1141</span>
-<span id="1142">1142</span>
-<span id="1143">1143</span>
-<span id="1144">1144</span>
-<span id="1145">1145</span>
-<span id="1146">1146</span>
-<span id="1147">1147</span>
-<span id="1148">1148</span>
-<span id="1149">1149</span>
-<span id="1150">1150</span>
-<span id="1151">1151</span>
-<span id="1152">1152</span>
-<span id="1153">1153</span>
-<span id="1154">1154</span>
-<span id="1155">1155</span>
-<span id="1156">1156</span>
-<span id="1157">1157</span>
-<span id="1158">1158</span>
-<span id="1159">1159</span>
-<span id="1160">1160</span>
-<span id="1161">1161</span>
-<span id="1162">1162</span>
-<span id="1163">1163</span>
-<span id="1164">1164</span>
-<span id="1165">1165</span>
-<span id="1166">1166</span>
-<span id="1167">1167</span>
-<span id="1168">1168</span>
-<span id="1169">1169</span>
-<span id="1170">1170</span>
-<span id="1171">1171</span>
-<span id="1172">1172</span>
-<span id="1173">1173</span>
-<span id="1174">1174</span>
-<span id="1175">1175</span>
-<span id="1176">1176</span>
-<span id="1177">1177</span>
-<span id="1178">1178</span>
-<span id="1179">1179</span>
-<span id="1180">1180</span>
-<span id="1181">1181</span>
-<span id="1182">1182</span>
-<span id="1183">1183</span>
-<span id="1184">1184</span>
-<span id="1185">1185</span>
-<span id="1186">1186</span>
-<span id="1187">1187</span>
-<span id="1188">1188</span>
-<span id="1189">1189</span>
-<span id="1190">1190</span>
-<span id="1191">1191</span>
-<span id="1192">1192</span>
-<span id="1193">1193</span>
-<span id="1194">1194</span>
-<span id="1195">1195</span>
-<span id="1196">1196</span>
-<span id="1197">1197</span>
-<span id="1198">1198</span>
-<span id="1199">1199</span>
-<span id="1200">1200</span>
-<span id="1201">1201</span>
-<span id="1202">1202</span>
-<span id="1203">1203</span>
-<span id="1204">1204</span>
-<span id="1205">1205</span>
-<span id="1206">1206</span>
-<span id="1207">1207</span>
-<span id="1208">1208</span>
-<span id="1209">1209</span>
-<span id="1210">1210</span>
-<span id="1211">1211</span>
-<span id="1212">1212</span>
-<span id="1213">1213</span>
-<span id="1214">1214</span>
-<span id="1215">1215</span>
-<span id="1216">1216</span>
-<span id="1217">1217</span>
-<span id="1218">1218</span>
-<span id="1219">1219</span>
-<span id="1220">1220</span>
-<span id="1221">1221</span>
-<span id="1222">1222</span>
-<span id="1223">1223</span>
-<span id="1224">1224</span>
-<span id="1225">1225</span>
-<span id="1226">1226</span>
-<span id="1227">1227</span>
-<span id="1228">1228</span>
-<span id="1229">1229</span>
-<span id="1230">1230</span>
-<span id="1231">1231</span>
-<span id="1232">1232</span>
-<span id="1233">1233</span>
-<span id="1234">1234</span>
-<span id="1235">1235</span>
-<span id="1236">1236</span>
-<span id="1237">1237</span>
-<span id="1238">1238</span>
-<span id="1239">1239</span>
-<span id="1240">1240</span>
-<span id="1241">1241</span>
-<span id="1242">1242</span>
-<span id="1243">1243</span>
-<span id="1244">1244</span>
-<span id="1245">1245</span>
-<span id="1246">1246</span>
-<span id="1247">1247</span>
-<span id="1248">1248</span>
-<span id="1249">1249</span>
-<span id="1250">1250</span>
-<span id="1251">1251</span>
-<span id="1252">1252</span>
-<span id="1253">1253</span>
-<span id="1254">1254</span>
-<span id="1255">1255</span>
-<span id="1256">1256</span>
-<span id="1257">1257</span>
-<span id="1258">1258</span>
-<span id="1259">1259</span>
-<span id="1260">1260</span>
-<span id="1261">1261</span>
-<span id="1262">1262</span>
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source to the Rust file `/home/mssun/incubator-mesatee/build/cmake_tomls/sgx_trusted_lib/third_party/crates-sgx/vendor/quote-0.6.13/src/lib.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>lib.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../ [...]
+<span id="2">  2</span>
+<span id="3">  3</span>
+<span id="4">  4</span>
+<span id="5">  5</span>
+<span id="6">  6</span>
+<span id="7">  7</span>
+<span id="8">  8</span>
+<span id="9">  9</span>
+<span id="10"> 10</span>
+<span id="11"> 11</span>
+<span id="12"> 12</span>
+<span id="13"> 13</span>
+<span id="14"> 14</span>
+<span id="15"> 15</span>
+<span id="16"> 16</span>
+<span id="17"> 17</span>
+<span id="18"> 18</span>
+<span id="19"> 19</span>
+<span id="20"> 20</span>
+<span id="21"> 21</span>
+<span id="22"> 22</span>
+<span id="23"> 23</span>
+<span id="24"> 24</span>
+<span id="25"> 25</span>
+<span id="26"> 26</span>
+<span id="27"> 27</span>
+<span id="28"> 28</span>
+<span id="29"> 29</span>
+<span id="30"> 30</span>
+<span id="31"> 31</span>
+<span id="32"> 32</span>
+<span id="33"> 33</span>
+<span id="34"> 34</span>
+<span id="35"> 35</span>
+<span id="36"> 36</span>
+<span id="37"> 37</span>
+<span id="38"> 38</span>
+<span id="39"> 39</span>
+<span id="40"> 40</span>
+<span id="41"> 41</span>
+<span id="42"> 42</span>
+<span id="43"> 43</span>
+<span id="44"> 44</span>
+<span id="45"> 45</span>
+<span id="46"> 46</span>
+<span id="47"> 47</span>
+<span id="48"> 48</span>
+<span id="49"> 49</span>
+<span id="50"> 50</span>
+<span id="51"> 51</span>
+<span id="52"> 52</span>
+<span id="53"> 53</span>
+<span id="54"> 54</span>
+<span id="55"> 55</span>
+<span id="56"> 56</span>
+<span id="57"> 57</span>
+<span id="58"> 58</span>
+<span id="59"> 59</span>
+<span id="60"> 60</span>
+<span id="61"> 61</span>
+<span id="62"> 62</span>
+<span id="63"> 63</span>
+<span id="64"> 64</span>
+<span id="65"> 65</span>
+<span id="66"> 66</span>
+<span id="67"> 67</span>
+<span id="68"> 68</span>
+<span id="69"> 69</span>
+<span id="70"> 70</span>
+<span id="71"> 71</span>
+<span id="72"> 72</span>
+<span id="73"> 73</span>
+<span id="74"> 74</span>
+<span id="75"> 75</span>
+<span id="76"> 76</span>
+<span id="77"> 77</span>
+<span id="78"> 78</span>
+<span id="79"> 79</span>
+<span id="80"> 80</span>
+<span id="81"> 81</span>
+<span id="82"> 82</span>
+<span id="83"> 83</span>
+<span id="84"> 84</span>
+<span id="85"> 85</span>
+<span id="86"> 86</span>
+<span id="87"> 87</span>
+<span id="88"> 88</span>
+<span id="89"> 89</span>
+<span id="90"> 90</span>
+<span id="91"> 91</span>
+<span id="92"> 92</span>
+<span id="93"> 93</span>
+<span id="94"> 94</span>
+<span id="95"> 95</span>
+<span id="96"> 96</span>
+<span id="97"> 97</span>
+<span id="98"> 98</span>
+<span id="99"> 99</span>
+<span id="100">100</span>
+<span id="101">101</span>
+<span id="102">102</span>
+<span id="103">103</span>
+<span id="104">104</span>
+<span id="105">105</span>
+<span id="106">106</span>
+<span id="107">107</span>
+<span id="108">108</span>
+<span id="109">109</span>
+<span id="110">110</span>
+<span id="111">111</span>
+<span id="112">112</span>
+<span id="113">113</span>
+<span id="114">114</span>
+<span id="115">115</span>
+<span id="116">116</span>
+<span id="117">117</span>
+<span id="118">118</span>
+<span id="119">119</span>
+<span id="120">120</span>
+<span id="121">121</span>
+<span id="122">122</span>
+<span id="123">123</span>
+<span id="124">124</span>
+<span id="125">125</span>
+<span id="126">126</span>
+<span id="127">127</span>
+<span id="128">128</span>
+<span id="129">129</span>
+<span id="130">130</span>
+<span id="131">131</span>
+<span id="132">132</span>
+<span id="133">133</span>
+<span id="134">134</span>
+<span id="135">135</span>
+<span id="136">136</span>
+<span id="137">137</span>
+<span id="138">138</span>
+<span id="139">139</span>
+<span id="140">140</span>
+<span id="141">141</span>
+<span id="142">142</span>
+<span id="143">143</span>
+<span id="144">144</span>
+<span id="145">145</span>
+<span id="146">146</span>
+<span id="147">147</span>
+<span id="148">148</span>
+<span id="149">149</span>
+<span id="150">150</span>
+<span id="151">151</span>
+<span id="152">152</span>
+<span id="153">153</span>
+<span id="154">154</span>
+<span id="155">155</span>
+<span id="156">156</span>
+<span id="157">157</span>
+<span id="158">158</span>
+<span id="159">159</span>
+<span id="160">160</span>
+<span id="161">161</span>
+<span id="162">162</span>
+<span id="163">163</span>
+<span id="164">164</span>
+<span id="165">165</span>
+<span id="166">166</span>
+<span id="167">167</span>
+<span id="168">168</span>
+<span id="169">169</span>
+<span id="170">170</span>
+<span id="171">171</span>
+<span id="172">172</span>
+<span id="173">173</span>
+<span id="174">174</span>
+<span id="175">175</span>
+<span id="176">176</span>
+<span id="177">177</span>
+<span id="178">178</span>
+<span id="179">179</span>
+<span id="180">180</span>
+<span id="181">181</span>
+<span id="182">182</span>
+<span id="183">183</span>
+<span id="184">184</span>
+<span id="185">185</span>
+<span id="186">186</span>
+<span id="187">187</span>
+<span id="188">188</span>
+<span id="189">189</span>
+<span id="190">190</span>
+<span id="191">191</span>
+<span id="192">192</span>
+<span id="193">193</span>
+<span id="194">194</span>
+<span id="195">195</span>
+<span id="196">196</span>
+<span id="197">197</span>
+<span id="198">198</span>
+<span id="199">199</span>
+<span id="200">200</span>
+<span id="201">201</span>
+<span id="202">202</span>
+<span id="203">203</span>
+<span id="204">204</span>
+<span id="205">205</span>
+<span id="206">206</span>
+<span id="207">207</span>
+<span id="208">208</span>
+<span id="209">209</span>
+<span id="210">210</span>
+<span id="211">211</span>
+<span id="212">212</span>
+<span id="213">213</span>
+<span id="214">214</span>
+<span id="215">215</span>
+<span id="216">216</span>
+<span id="217">217</span>
+<span id="218">218</span>
+<span id="219">219</span>
+<span id="220">220</span>
+<span id="221">221</span>
+<span id="222">222</span>
+<span id="223">223</span>
+<span id="224">224</span>
+<span id="225">225</span>
+<span id="226">226</span>
+<span id="227">227</span>
+<span id="228">228</span>
+<span id="229">229</span>
+<span id="230">230</span>
+<span id="231">231</span>
+<span id="232">232</span>
+<span id="233">233</span>
+<span id="234">234</span>
+<span id="235">235</span>
+<span id="236">236</span>
+<span id="237">237</span>
+<span id="238">238</span>
+<span id="239">239</span>
+<span id="240">240</span>
+<span id="241">241</span>
+<span id="242">242</span>
+<span id="243">243</span>
+<span id="244">244</span>
+<span id="245">245</span>
+<span id="246">246</span>
+<span id="247">247</span>
+<span id="248">248</span>
+<span id="249">249</span>
+<span id="250">250</span>
+<span id="251">251</span>
+<span id="252">252</span>
+<span id="253">253</span>
+<span id="254">254</span>
+<span id="255">255</span>
+<span id="256">256</span>
+<span id="257">257</span>
+<span id="258">258</span>
+<span id="259">259</span>
+<span id="260">260</span>
+<span id="261">261</span>
+<span id="262">262</span>
+<span id="263">263</span>
+<span id="264">264</span>
+<span id="265">265</span>
+<span id="266">266</span>
+<span id="267">267</span>
+<span id="268">268</span>
+<span id="269">269</span>
+<span id="270">270</span>
+<span id="271">271</span>
+<span id="272">272</span>
+<span id="273">273</span>
+<span id="274">274</span>
+<span id="275">275</span>
+<span id="276">276</span>
+<span id="277">277</span>
+<span id="278">278</span>
+<span id="279">279</span>
+<span id="280">280</span>
+<span id="281">281</span>
+<span id="282">282</span>
+<span id="283">283</span>
+<span id="284">284</span>
+<span id="285">285</span>
+<span id="286">286</span>
+<span id="287">287</span>
+<span id="288">288</span>
+<span id="289">289</span>
+<span id="290">290</span>
+<span id="291">291</span>
+<span id="292">292</span>
+<span id="293">293</span>
+<span id="294">294</span>
+<span id="295">295</span>
+<span id="296">296</span>
+<span id="297">297</span>
+<span id="298">298</span>
+<span id="299">299</span>
+<span id="300">300</span>
+<span id="301">301</span>
+<span id="302">302</span>
+<span id="303">303</span>
+<span id="304">304</span>
+<span id="305">305</span>
+<span id="306">306</span>
+<span id="307">307</span>
+<span id="308">308</span>
+<span id="309">309</span>
+<span id="310">310</span>
+<span id="311">311</span>
+<span id="312">312</span>
+<span id="313">313</span>
+<span id="314">314</span>
+<span id="315">315</span>
+<span id="316">316</span>
+<span id="317">317</span>
+<span id="318">318</span>
+<span id="319">319</span>
+<span id="320">320</span>
+<span id="321">321</span>
+<span id="322">322</span>
+<span id="323">323</span>
+<span id="324">324</span>
+<span id="325">325</span>
+<span id="326">326</span>
+<span id="327">327</span>
+<span id="328">328</span>
+<span id="329">329</span>
+<span id="330">330</span>
+<span id="331">331</span>
+<span id="332">332</span>
+<span id="333">333</span>
+<span id="334">334</span>
+<span id="335">335</span>
+<span id="336">336</span>
+<span id="337">337</span>
+<span id="338">338</span>
+<span id="339">339</span>
+<span id="340">340</span>
+<span id="341">341</span>
+<span id="342">342</span>
+<span id="343">343</span>
+<span id="344">344</span>
+<span id="345">345</span>
+<span id="346">346</span>
+<span id="347">347</span>
+<span id="348">348</span>
+<span id="349">349</span>
+<span id="350">350</span>
+<span id="351">351</span>
+<span id="352">352</span>
+<span id="353">353</span>
+<span id="354">354</span>
+<span id="355">355</span>
+<span id="356">356</span>
+<span id="357">357</span>
+<span id="358">358</span>
+<span id="359">359</span>
+<span id="360">360</span>
+<span id="361">361</span>
+<span id="362">362</span>
+<span id="363">363</span>
+<span id="364">364</span>
+<span id="365">365</span>
+<span id="366">366</span>
+<span id="367">367</span>
+<span id="368">368</span>
+<span id="369">369</span>
+<span id="370">370</span>
+<span id="371">371</span>
+<span id="372">372</span>
+<span id="373">373</span>
+<span id="374">374</span>
+<span id="375">375</span>
+<span id="376">376</span>
+<span id="377">377</span>
+<span id="378">378</span>
+<span id="379">379</span>
+<span id="380">380</span>
+<span id="381">381</span>
+<span id="382">382</span>
+<span id="383">383</span>
+<span id="384">384</span>
+<span id="385">385</span>
+<span id="386">386</span>
+<span id="387">387</span>
+<span id="388">388</span>
+<span id="389">389</span>
+<span id="390">390</span>
+<span id="391">391</span>
+<span id="392">392</span>
+<span id="393">393</span>
+<span id="394">394</span>
+<span id="395">395</span>
+<span id="396">396</span>
+<span id="397">397</span>
+<span id="398">398</span>
+<span id="399">399</span>
+<span id="400">400</span>
+<span id="401">401</span>
+<span id="402">402</span>
+<span id="403">403</span>
+<span id="404">404</span>
+<span id="405">405</span>
+<span id="406">406</span>
+<span id="407">407</span>
+<span id="408">408</span>
+<span id="409">409</span>
+<span id="410">410</span>
+<span id="411">411</span>
+<span id="412">412</span>
+<span id="413">413</span>
+<span id="414">414</span>
+<span id="415">415</span>
+<span id="416">416</span>
+<span id="417">417</span>
+<span id="418">418</span>
+<span id="419">419</span>
+<span id="420">420</span>
+<span id="421">421</span>
+<span id="422">422</span>
+<span id="423">423</span>
+<span id="424">424</span>
+<span id="425">425</span>
+<span id="426">426</span>
+<span id="427">427</span>
+<span id="428">428</span>
+<span id="429">429</span>
+<span id="430">430</span>
+<span id="431">431</span>
+<span id="432">432</span>
+<span id="433">433</span>
+<span id="434">434</span>
+<span id="435">435</span>
+<span id="436">436</span>
+<span id="437">437</span>
+<span id="438">438</span>
+<span id="439">439</span>
+<span id="440">440</span>
+<span id="441">441</span>
+<span id="442">442</span>
+<span id="443">443</span>
+<span id="444">444</span>
+<span id="445">445</span>
+<span id="446">446</span>
+<span id="447">447</span>
+<span id="448">448</span>
+<span id="449">449</span>
+<span id="450">450</span>
+<span id="451">451</span>
+<span id="452">452</span>
+<span id="453">453</span>
+<span id="454">454</span>
+<span id="455">455</span>
+<span id="456">456</span>
+<span id="457">457</span>
+<span id="458">458</span>
+<span id="459">459</span>
+<span id="460">460</span>
+<span id="461">461</span>
+<span id="462">462</span>
+<span id="463">463</span>
+<span id="464">464</span>
+<span id="465">465</span>
+<span id="466">466</span>
+<span id="467">467</span>
+<span id="468">468</span>
+<span id="469">469</span>
+<span id="470">470</span>
+<span id="471">471</span>
+<span id="472">472</span>
+<span id="473">473</span>
+<span id="474">474</span>
+<span id="475">475</span>
+<span id="476">476</span>
+<span id="477">477</span>
+<span id="478">478</span>
+<span id="479">479</span>
+<span id="480">480</span>
+<span id="481">481</span>
+<span id="482">482</span>
+<span id="483">483</span>
+<span id="484">484</span>
+<span id="485">485</span>
+<span id="486">486</span>
+<span id="487">487</span>
+<span id="488">488</span>
+<span id="489">489</span>
+<span id="490">490</span>
+<span id="491">491</span>
+<span id="492">492</span>
+<span id="493">493</span>
+<span id="494">494</span>
+<span id="495">495</span>
+<span id="496">496</span>
+<span id="497">497</span>
+<span id="498">498</span>
+<span id="499">499</span>
+<span id="500">500</span>
+<span id="501">501</span>
+<span id="502">502</span>
+<span id="503">503</span>
+<span id="504">504</span>
+<span id="505">505</span>
+<span id="506">506</span>
+<span id="507">507</span>
+<span id="508">508</span>
+<span id="509">509</span>
+<span id="510">510</span>
+<span id="511">511</span>
+<span id="512">512</span>
+<span id="513">513</span>
+<span id="514">514</span>
+<span id="515">515</span>
+<span id="516">516</span>
+<span id="517">517</span>
+<span id="518">518</span>
+<span id="519">519</span>
+<span id="520">520</span>
+<span id="521">521</span>
+<span id="522">522</span>
+<span id="523">523</span>
+<span id="524">524</span>
+<span id="525">525</span>
+<span id="526">526</span>
+<span id="527">527</span>
+<span id="528">528</span>
+<span id="529">529</span>
+<span id="530">530</span>
+<span id="531">531</span>
+<span id="532">532</span>
+<span id="533">533</span>
+<span id="534">534</span>
+<span id="535">535</span>
+<span id="536">536</span>
+<span id="537">537</span>
+<span id="538">538</span>
+<span id="539">539</span>
+<span id="540">540</span>
+<span id="541">541</span>
+<span id="542">542</span>
+<span id="543">543</span>
+<span id="544">544</span>
+<span id="545">545</span>
+<span id="546">546</span>
+<span id="547">547</span>
+<span id="548">548</span>
+<span id="549">549</span>
+<span id="550">550</span>
+<span id="551">551</span>
+<span id="552">552</span>
+<span id="553">553</span>
+<span id="554">554</span>
+<span id="555">555</span>
+<span id="556">556</span>
+<span id="557">557</span>
+<span id="558">558</span>
+<span id="559">559</span>
+<span id="560">560</span>
+<span id="561">561</span>
+<span id="562">562</span>
+<span id="563">563</span>
+<span id="564">564</span>
+<span id="565">565</span>
+<span id="566">566</span>
+<span id="567">567</span>
+<span id="568">568</span>
+<span id="569">569</span>
+<span id="570">570</span>
+<span id="571">571</span>
+<span id="572">572</span>
+<span id="573">573</span>
+<span id="574">574</span>
+<span id="575">575</span>
+<span id="576">576</span>
+<span id="577">577</span>
+<span id="578">578</span>
+<span id="579">579</span>
+<span id="580">580</span>
+<span id="581">581</span>
+<span id="582">582</span>
+<span id="583">583</span>
+<span id="584">584</span>
+<span id="585">585</span>
+<span id="586">586</span>
+<span id="587">587</span>
+<span id="588">588</span>
+<span id="589">589</span>
+<span id="590">590</span>
+<span id="591">591</span>
+<span id="592">592</span>
+<span id="593">593</span>
+<span id="594">594</span>
+<span id="595">595</span>
+<span id="596">596</span>
+<span id="597">597</span>
+<span id="598">598</span>
+<span id="599">599</span>
+<span id="600">600</span>
+<span id="601">601</span>
+<span id="602">602</span>
+<span id="603">603</span>
+<span id="604">604</span>
+<span id="605">605</span>
+<span id="606">606</span>
+<span id="607">607</span>
+<span id="608">608</span>
+<span id="609">609</span>
+<span id="610">610</span>
+<span id="611">611</span>
+<span id="612">612</span>
+<span id="613">613</span>
+<span id="614">614</span>
+<span id="615">615</span>
+<span id="616">616</span>
+<span id="617">617</span>
+<span id="618">618</span>
+<span id="619">619</span>
+<span id="620">620</span>
+<span id="621">621</span>
+<span id="622">622</span>
+<span id="623">623</span>
+<span id="624">624</span>
+<span id="625">625</span>
+<span id="626">626</span>
+<span id="627">627</span>
+<span id="628">628</span>
+<span id="629">629</span>
+<span id="630">630</span>
+<span id="631">631</span>
+<span id="632">632</span>
+<span id="633">633</span>
+<span id="634">634</span>
+<span id="635">635</span>
+<span id="636">636</span>
+<span id="637">637</span>
+<span id="638">638</span>
+<span id="639">639</span>
+<span id="640">640</span>
+<span id="641">641</span>
+<span id="642">642</span>
+<span id="643">643</span>
+<span id="644">644</span>
+<span id="645">645</span>
+<span id="646">646</span>
+<span id="647">647</span>
+<span id="648">648</span>
+<span id="649">649</span>
+<span id="650">650</span>
+<span id="651">651</span>
+<span id="652">652</span>
+<span id="653">653</span>
+<span id="654">654</span>
+<span id="655">655</span>
+<span id="656">656</span>
+<span id="657">657</span>
+<span id="658">658</span>
+<span id="659">659</span>
+<span id="660">660</span>
+<span id="661">661</span>
+<span id="662">662</span>
+<span id="663">663</span>
+<span id="664">664</span>
+<span id="665">665</span>
+<span id="666">666</span>
+<span id="667">667</span>
+<span id="668">668</span>
+<span id="669">669</span>
+<span id="670">670</span>
+<span id="671">671</span>
+<span id="672">672</span>
+<span id="673">673</span>
+<span id="674">674</span>
+<span id="675">675</span>
+<span id="676">676</span>
+<span id="677">677</span>
+<span id="678">678</span>
+<span id="679">679</span>
+<span id="680">680</span>
+<span id="681">681</span>
+<span id="682">682</span>
+<span id="683">683</span>
+<span id="684">684</span>
+<span id="685">685</span>
+<span id="686">686</span>
+<span id="687">687</span>
+<span id="688">688</span>
+<span id="689">689</span>
+<span id="690">690</span>
+<span id="691">691</span>
+<span id="692">692</span>
+<span id="693">693</span>
+<span id="694">694</span>
+<span id="695">695</span>
+<span id="696">696</span>
+<span id="697">697</span>
+<span id="698">698</span>
+<span id="699">699</span>
+<span id="700">700</span>
+<span id="701">701</span>
+<span id="702">702</span>
+<span id="703">703</span>
+<span id="704">704</span>
+<span id="705">705</span>
+<span id="706">706</span>
+<span id="707">707</span>
+<span id="708">708</span>
+<span id="709">709</span>
+<span id="710">710</span>
+<span id="711">711</span>
+<span id="712">712</span>
+<span id="713">713</span>
+<span id="714">714</span>
+<span id="715">715</span>
+<span id="716">716</span>
+<span id="717">717</span>
+<span id="718">718</span>
+<span id="719">719</span>
+<span id="720">720</span>
+<span id="721">721</span>
+<span id="722">722</span>
+<span id="723">723</span>
+<span id="724">724</span>
+<span id="725">725</span>
+<span id="726">726</span>
+<span id="727">727</span>
+<span id="728">728</span>
+<span id="729">729</span>
+<span id="730">730</span>
+<span id="731">731</span>
+<span id="732">732</span>
+<span id="733">733</span>
+<span id="734">734</span>
+<span id="735">735</span>
+<span id="736">736</span>
+<span id="737">737</span>
+<span id="738">738</span>
+<span id="739">739</span>
+<span id="740">740</span>
+<span id="741">741</span>
+<span id="742">742</span>
+<span id="743">743</span>
+<span id="744">744</span>
+<span id="745">745</span>
+<span id="746">746</span>
+<span id="747">747</span>
+<span id="748">748</span>
+<span id="749">749</span>
+<span id="750">750</span>
+<span id="751">751</span>
+<span id="752">752</span>
+<span id="753">753</span>
+<span id="754">754</span>
+<span id="755">755</span>
+<span id="756">756</span>
+<span id="757">757</span>
+<span id="758">758</span>
+<span id="759">759</span>
+<span id="760">760</span>
+<span id="761">761</span>
+<span id="762">762</span>
+<span id="763">763</span>
+<span id="764">764</span>
+<span id="765">765</span>
+<span id="766">766</span>
+<span id="767">767</span>
+<span id="768">768</span>
+<span id="769">769</span>
+<span id="770">770</span>
+<span id="771">771</span>
+<span id="772">772</span>
+<span id="773">773</span>
+<span id="774">774</span>
+<span id="775">775</span>
+<span id="776">776</span>
+<span id="777">777</span>
+<span id="778">778</span>
+<span id="779">779</span>
+<span id="780">780</span>
+<span id="781">781</span>
+<span id="782">782</span>
+<span id="783">783</span>
+<span id="784">784</span>
+<span id="785">785</span>
+<span id="786">786</span>
+<span id="787">787</span>
+<span id="788">788</span>
+<span id="789">789</span>
+<span id="790">790</span>
+<span id="791">791</span>
+<span id="792">792</span>
+<span id="793">793</span>
+<span id="794">794</span>
+<span id="795">795</span>
+<span id="796">796</span>
+<span id="797">797</span>
+<span id="798">798</span>
+<span id="799">799</span>
+<span id="800">800</span>
+<span id="801">801</span>
+<span id="802">802</span>
+<span id="803">803</span>
+<span id="804">804</span>
+<span id="805">805</span>
+<span id="806">806</span>
+<span id="807">807</span>
+<span id="808">808</span>
+<span id="809">809</span>
+<span id="810">810</span>
+<span id="811">811</span>
+<span id="812">812</span>
+<span id="813">813</span>
+<span id="814">814</span>
+<span id="815">815</span>
+<span id="816">816</span>
+<span id="817">817</span>
+<span id="818">818</span>
+<span id="819">819</span>
+<span id="820">820</span>
+<span id="821">821</span>
+<span id="822">822</span>
+<span id="823">823</span>
+<span id="824">824</span>
+<span id="825">825</span>
+<span id="826">826</span>
+<span id="827">827</span>
+<span id="828">828</span>
+<span id="829">829</span>
+<span id="830">830</span>
+<span id="831">831</span>
+<span id="832">832</span>
+<span id="833">833</span>
+<span id="834">834</span>
+<span id="835">835</span>
+<span id="836">836</span>
+<span id="837">837</span>
+<span id="838">838</span>
+<span id="839">839</span>
+<span id="840">840</span>
+<span id="841">841</span>
+<span id="842">842</span>
+<span id="843">843</span>
+<span id="844">844</span>
+<span id="845">845</span>
+<span id="846">846</span>
+<span id="847">847</span>
+<span id="848">848</span>
+<span id="849">849</span>
+<span id="850">850</span>
+<span id="851">851</span>
+<span id="852">852</span>
+<span id="853">853</span>
+<span id="854">854</span>
+<span id="855">855</span>
+<span id="856">856</span>
+<span id="857">857</span>
+<span id="858">858</span>
+<span id="859">859</span>
+<span id="860">860</span>
+<span id="861">861</span>
 </pre><div class="example-wrap"><pre class="rust ">
-<span class="doccomment">//! [![github]](https://github.com/dtolnay/quote)&amp;ensp;[![crates-io]](https://crates.io/crates/quote)&amp;ensp;[![docs-rs]](https://docs.rs/quote)</span>
-<span class="doccomment">//!</span>
-<span class="doccomment">//! [github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&amp;labelColor=555555&amp;logo=github</span>
-<span class="doccomment">//! [crates-io]: https://img.shields.io/badge/crates.io-fc8d62?style=for-the-badge&amp;labelColor=555555&amp;logo=rust</span>
-<span class="doccomment">//! [docs-rs]: https://img.shields.io/badge/docs.rs-66c2a5?style=for-the-badge&amp;labelColor=555555&amp;logoColor=white&amp;logo=data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGZpbGw9IiNmNWY1ZjUiIGQ9Ik00ODguNiAyNTAuMkwzOTIgMjE0VjEwNS41YzAtMTUtOS4zLTI4LjQtMjMuNC0zMy43bC0xMDAtMzcuNWMtOC4xLTMuMS0xNy4xLTMuMS0yNS4zIDBsLTEwMCAzNy41Yy0xNC4xIDUuMy0yMy40IDE4LjctMjMuNCAzMy43VjIxNGwtOTYuNiA [...]
-<span class="doccomment">//!</span>
-<span class="doccomment">//! &lt;br&gt;</span>
-<span class="doccomment">//!</span>
 <span class="doccomment">//! This crate provides the [`quote!`] macro for turning Rust syntax tree data</span>
 <span class="doccomment">//! structures into tokens of source code.</span>
 <span class="doccomment">//!</span>
@@ -1277,8 +868,8 @@
 <span class="doccomment">//! Procedural macros in Rust receive a stream of tokens as input, execute</span>
 <span class="doccomment">//! arbitrary Rust code to determine how to manipulate those tokens, and produce</span>
 <span class="doccomment">//! a stream of tokens to hand back to the compiler to compile into the caller&#39;s</span>
-<span class="doccomment">//! crate. Quasi-quoting is a solution to one piece of that &amp;mdash; producing</span>
-<span class="doccomment">//! tokens to return to the compiler.</span>
+<span class="doccomment">//! crate. Quasi-quoting is a solution to one piece of that -- producing tokens</span>
+<span class="doccomment">//! to return to the compiler.</span>
 <span class="doccomment">//!</span>
 <span class="doccomment">//! The idea of quasi-quoting is that we write *code* that we treat as *data*.</span>
 <span class="doccomment">//! Within the `quote!` macro, we can write what looks like code to our text</span>
@@ -1292,13 +883,14 @@
 <span class="doccomment">//! general-purpose Rust quasi-quoting library and is not specific to procedural</span>
 <span class="doccomment">//! macros.</span>
 <span class="doccomment">//!</span>
+<span class="doccomment">//! *Version requirement: Quote supports any compiler version back to Rust&#39;s</span>
+<span class="doccomment">//! very first support for procedural macros in Rust 1.15.0.*</span>
+<span class="doccomment">//!</span>
 <span class="doccomment">//! ```toml</span>
 <span class="doccomment">//! [dependencies]</span>
-<span class="doccomment">//! quote = &quot;1.0&quot;</span>
+<span class="doccomment">//! quote = &quot;0.6&quot;</span>
 <span class="doccomment">//! ```</span>
 <span class="doccomment">//!</span>
-<span class="doccomment">//! &lt;br&gt;</span>
-<span class="doccomment">//!</span>
 <span class="doccomment">//! # Example</span>
 <span class="doccomment">//!</span>
 <span class="doccomment">//! The following quasi-quoted block of code is something you might find in [a]</span>
@@ -1311,7 +903,7 @@
 <span class="doccomment">//! [a]: https://serde.rs/</span>
 <span class="doccomment">//! [`quote_spanned!`]: macro.quote_spanned.html</span>
 <span class="doccomment">//!</span>
-<span class="doccomment">//! ```</span>
+<span class="doccomment">//! ```edition2018</span>
 <span class="doccomment">//! # use quote::quote;</span>
 <span class="doccomment">//! #</span>
 <span class="doccomment">//! # let generics = &quot;&quot;;</span>
@@ -1342,46 +934,42 @@
 <span class="doccomment">//!     }</span>
 <span class="doccomment">//! };</span>
 <span class="doccomment">//! ```</span>
+<span class="doccomment">//!</span>
+<span class="doccomment">//! # Recursion limit</span>
+<span class="doccomment">//!</span>
+<span class="doccomment">//! The `quote!` macro relies on deep recursion so some large invocations may</span>
+<span class="doccomment">//! fail with &quot;recursion limit reached&quot; when you compile. If it fails, bump up</span>
+<span class="doccomment">//! the recursion limit by adding `#![recursion_limit = &quot;128&quot;]` to your crate.</span>
+<span class="doccomment">//! An even higher limit may be necessary for especially large invocations.</span>
 
-<span class="attribute">#![<span class="ident">forbid</span>(<span class="ident">unsafe_code</span>)]</span>
 <span class="comment">// Quote types in rustdoc of other crates get linked to here.</span>
-<span class="attribute">#![<span class="ident">doc</span>(<span class="ident">html_root_url</span> <span class="op">=</span> <span class="string">&quot;https://docs.rs/quote/1.0.7&quot;</span>)]</span>
+<span class="attribute">#![<span class="ident">doc</span>(<span class="ident">html_root_url</span> <span class="op">=</span> <span class="string">&quot;https://docs.rs/quote/0.6.13&quot;</span>)]</span>
 
 <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">all</span>(
     <span class="ident">not</span>(<span class="ident">all</span>(<span class="ident">target_arch</span> <span class="op">=</span> <span class="string">&quot;wasm32&quot;</span>, <span class="ident">target_os</span> <span class="op">=</span> <span class="string">&quot;unknown&quot;</span>)),
     <span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;proc-macro&quot;</span>
 ))]</span>
 <span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">proc_macro</span>;
+<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">proc_macro2</span>;
 
 <span class="kw">mod</span> <span class="ident">ext</span>;
-<span class="kw">mod</span> <span class="ident">format</span>;
-<span class="kw">mod</span> <span class="ident">ident_fragment</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">ext</span>::<span class="ident">TokenStreamExt</span>;
+
 <span class="kw">mod</span> <span class="ident">to_tokens</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">to_tokens</span>::<span class="ident">ToTokens</span>;
 
 <span class="comment">// Not public API.</span>
 <span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
 <span class="attribute">#[<span class="ident">path</span> <span class="op">=</span> <span class="string">&quot;runtime.rs&quot;</span>]</span>
-<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">__private</span>;
-
-<span class="kw">pub</span> <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">ext</span>::<span class="ident">TokenStreamExt</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">ident_fragment</span>::<span class="ident">IdentFragment</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">to_tokens</span>::<span class="ident">ToTokens</span>;
-
-<span class="comment">// Not public API.</span>
-<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">spanned</span>;
+<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">__rt</span>;
 
 <span class="doccomment">/// The whole point.</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// Performs variable interpolation against the input and produces it as</span>
-<span class="doccomment">/// [`proc_macro2::TokenStream`].</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// Note: for returning tokens to the compiler in a procedural macro, use</span>
-<span class="doccomment">/// `.into()` on the result to convert to [`proc_macro::TokenStream`].</span>
+<span class="doccomment">/// [`TokenStream`]. For returning tokens to the compiler in a procedural macro, use</span>
+<span class="doccomment">/// `into()` to build a `TokenStream`.</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// [`TokenStream`]: https://docs.rs/proc-macro2/1.0/proc_macro2/struct.TokenStream.html</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// &lt;br&gt;</span>
+<span class="doccomment">/// [`TokenStream`]: https://docs.rs/proc-macro2/0.4/proc_macro2/struct.TokenStream.html</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// # Interpolation</span>
 <span class="doccomment">///</span>
@@ -1398,15 +986,27 @@
 <span class="doccomment">/// Repetition is done using `#(...)*` or `#(...),*` again similar to</span>
 <span class="doccomment">/// `macro_rules!`. This iterates through the elements of any variable</span>
 <span class="doccomment">/// interpolated within the repetition and inserts a copy of the repetition body</span>
-<span class="doccomment">/// for each one. The variables in an interpolation may be a `Vec`, slice,</span>
-<span class="doccomment">/// `BTreeSet`, or any `Iterator`.</span>
+<span class="doccomment">/// for each one. The variables in an interpolation may be anything that</span>
+<span class="doccomment">/// implements `IntoIterator`, including `Vec` or a pre-existing iterator.</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// - `#(#var)*` — no separators</span>
 <span class="doccomment">/// - `#(#var),*` — the character before the asterisk is used as a separator</span>
 <span class="doccomment">/// - `#( struct #var; )*` — the repetition can contain other tokens</span>
 <span class="doccomment">/// - `#( #k =&gt; println!(&quot;{}&quot;, #v), )*` — even multiple interpolations</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// &lt;br&gt;</span>
+<span class="doccomment">/// There are two limitations around interpolations in a repetition:</span>
+<span class="doccomment">///</span>
+<span class="doccomment">/// - Every interpolation inside of a repetition must be a distinct variable.</span>
+<span class="doccomment">///   That is, `#(#a #a)*` is not allowed. Work around this by collecting `a`</span>
+<span class="doccomment">///   into a vector and taking references `a1 = &amp;a` and `a2 = &amp;a` which you use</span>
+<span class="doccomment">///   inside the repetition: `#(#a1 #a2)*`. Where possible, use meaningful names</span>
+<span class="doccomment">///   that indicate the distinct role of each copy.</span>
+<span class="doccomment">///</span>
+<span class="doccomment">/// - Every interpolation inside of a repetition must be iterable. If we have</span>
+<span class="doccomment">///   `vec` which is a vector and `ident` which is a single identifier,</span>
+<span class="doccomment">///   `#(#ident #vec)*` is not allowed. Work around this by using</span>
+<span class="doccomment">///   `std::iter::repeat(ident)` to produce an iterable that can be used from</span>
+<span class="doccomment">///   within the repetition.</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// # Hygiene</span>
 <span class="doccomment">///</span>
@@ -1414,14 +1014,12 @@
 <span class="doccomment">/// `ToTokens` implementation. Tokens that originate within the `quote!`</span>
 <span class="doccomment">/// invocation are spanned with [`Span::call_site()`].</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// [`Span::call_site()`]: https://docs.rs/proc-macro2/1.0/proc_macro2/struct.Span.html#method.call_site</span>
+<span class="doccomment">/// [`Span::call_site()`]: https://docs.rs/proc-macro2/0.4/proc_macro2/struct.Span.html#method.call_site</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// A different span can be provided through the [`quote_spanned!`] macro.</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// [`quote_spanned!`]: macro.quote_spanned.html</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// &lt;br&gt;</span>
-<span class="doccomment">///</span>
 <span class="doccomment">/// # Return type</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// The macro evaluates to an expression of type `proc_macro2::TokenStream`.</span>
@@ -1442,11 +1040,9 @@
 <span class="doccomment">///</span>
 <span class="doccomment">/// [`From`]: https://doc.rust-lang.org/std/convert/trait.From.html</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// &lt;br&gt;</span>
-<span class="doccomment">///</span>
 <span class="doccomment">/// # Examples</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// ### Procedural macro</span>
+<span class="doccomment">/// ## Procedural macro</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// The structure of a basic procedural macro is as follows. Refer to the [Syn]</span>
 <span class="doccomment">/// crate for further useful guidance on using `quote!` as part of a procedural</span>
@@ -1454,14 +1050,12 @@
 <span class="doccomment">///</span>
 <span class="doccomment">/// [Syn]: https://github.com/dtolnay/syn</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// ```</span>
+<span class="doccomment">/// ```edition2018</span>
 <span class="doccomment">/// # #[cfg(any())]</span>
 <span class="doccomment">/// extern crate proc_macro;</span>
-<span class="doccomment">/// # extern crate proc_macro2;</span>
+<span class="doccomment">/// # use proc_macro2 as proc_macro;</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// # #[cfg(any())]</span>
 <span class="doccomment">/// use proc_macro::TokenStream;</span>
-<span class="doccomment">/// # use proc_macro2::TokenStream;</span>
 <span class="doccomment">/// use quote::quote;</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// # const IGNORE_TOKENS: &amp;&#39;static str = stringify! {</span>
@@ -1491,16 +1085,14 @@
 <span class="doccomment">/// }</span>
 <span class="doccomment">/// ```</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// &lt;p&gt;&lt;br&gt;&lt;/p&gt;</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// ### Combining quoted fragments</span>
+<span class="doccomment">/// ## Combining quoted fragments</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// Usually you don&#39;t end up constructing an entire final `TokenStream` in one</span>
 <span class="doccomment">/// piece. Different parts may come from different helper functions. The tokens</span>
 <span class="doccomment">/// produced by `quote!` themselves implement `ToTokens` and so can be</span>
 <span class="doccomment">/// interpolated into later `quote!` invocations to build up a final result.</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// ```</span>
+<span class="doccomment">/// ```edition2018</span>
 <span class="doccomment">/// # use quote::quote;</span>
 <span class="doccomment">/// #</span>
 <span class="doccomment">/// let type_definition = quote! {...};</span>
@@ -1512,9 +1104,7 @@
 <span class="doccomment">/// };</span>
 <span class="doccomment">/// ```</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// &lt;p&gt;&lt;br&gt;&lt;/p&gt;</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// ### Constructing identifiers</span>
+<span class="doccomment">/// ## Constructing identifiers</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// Suppose we have an identifier `ident` which came from somewhere in a macro</span>
 <span class="doccomment">/// input and we need to modify it in some way for the macro output. Let&#39;s</span>
@@ -1524,7 +1114,7 @@
 <span class="doccomment">/// behavior of concatenating them. The underscore and the identifier will</span>
 <span class="doccomment">/// continue to be two separate tokens as if you had written `_ x`.</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// ```</span>
+<span class="doccomment">/// ```edition2018</span>
 <span class="doccomment">/// # use proc_macro2::{self as syn, Span};</span>
 <span class="doccomment">/// # use quote::quote;</span>
 <span class="doccomment">/// #</span>
@@ -1537,28 +1127,10 @@
 <span class="doccomment">/// # ;</span>
 <span class="doccomment">/// ```</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// The solution is to build a new identifier token with the correct value. As</span>
-<span class="doccomment">/// this is such a common case, the [`format_ident!`] macro provides a</span>
-<span class="doccomment">/// convenient utility for doing so correctly.</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// ```</span>
-<span class="doccomment">/// # use proc_macro2::{Ident, Span};</span>
-<span class="doccomment">/// # use quote::{format_ident, quote};</span>
-<span class="doccomment">/// #</span>
-<span class="doccomment">/// # let ident = Ident::new(&quot;i&quot;, Span::call_site());</span>
-<span class="doccomment">/// #</span>
-<span class="doccomment">/// let varname = format_ident!(&quot;_{}&quot;, ident);</span>
-<span class="doccomment">/// quote! {</span>
-<span class="doccomment">///     let mut #varname = 0;</span>
-<span class="doccomment">/// }</span>
-<span class="doccomment">/// # ;</span>
-<span class="doccomment">/// ```</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// Alternatively, the APIs provided by Syn and proc-macro2 can be used to</span>
-<span class="doccomment">/// directly build the identifier. This is roughly equivalent to the above, but</span>
-<span class="doccomment">/// will not handle `ident` being a raw identifier.</span>
+<span class="doccomment">/// The solution is to perform token-level manipulations using the APIs provided</span>
+<span class="doccomment">/// by Syn and proc-macro2.</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// ```</span>
+<span class="doccomment">/// ```edition2018</span>
 <span class="doccomment">/// # use proc_macro2::{self as syn, Span};</span>
 <span class="doccomment">/// # use quote::quote;</span>
 <span class="doccomment">/// #</span>
@@ -1572,15 +1144,13 @@
 <span class="doccomment">/// # ;</span>
 <span class="doccomment">/// ```</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// &lt;p&gt;&lt;br&gt;&lt;/p&gt;</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// ### Making method calls</span>
+<span class="doccomment">/// ## Making method calls</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// Let&#39;s say our macro requires some type specified in the macro input to have</span>
 <span class="doccomment">/// a constructor called `new`. We have the type in a variable called</span>
 <span class="doccomment">/// `field_type` of type `syn::Type` and want to invoke the constructor.</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// ```</span>
+<span class="doccomment">/// ```edition2018</span>
 <span class="doccomment">/// # use quote::quote;</span>
 <span class="doccomment">/// #</span>
 <span class="doccomment">/// # let field_type = quote!(...);</span>
@@ -1598,7 +1168,7 @@
 <span class="doccomment">/// syntax. Ordinarily in handwritten Rust we would write `Vec::&lt;i32&gt;::new()`</span>
 <span class="doccomment">/// but for macros often the following is more convenient.</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// ```</span>
+<span class="doccomment">/// ```edition2018</span>
 <span class="doccomment">/// # use quote::quote;</span>
 <span class="doccomment">/// #</span>
 <span class="doccomment">/// # let field_type = quote!(...);</span>
@@ -1613,7 +1183,7 @@
 <span class="doccomment">///</span>
 <span class="doccomment">/// A similar pattern is appropriate for trait methods.</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// ```</span>
+<span class="doccomment">/// ```edition2018</span>
 <span class="doccomment">/// # use quote::quote;</span>
 <span class="doccomment">/// #</span>
 <span class="doccomment">/// # let field_type = quote!(...);</span>
@@ -1623,142 +1193,25 @@
 <span class="doccomment">/// }</span>
 <span class="doccomment">/// # ;</span>
 <span class="doccomment">/// ```</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// &lt;p&gt;&lt;br&gt;&lt;/p&gt;</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// ### Interpolating text inside of doc comments</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// Neither doc comments nor string literals get interpolation behavior in</span>
-<span class="doccomment">/// quote:</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// ```compile_fail</span>
-<span class="doccomment">/// quote! {</span>
-<span class="doccomment">///     /// try to interpolate: #ident</span>
-<span class="doccomment">///     ///</span>
-<span class="doccomment">///     /// ...</span>
-<span class="doccomment">/// }</span>
-<span class="doccomment">/// ```</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// ```compile_fail</span>
-<span class="doccomment">/// quote! {</span>
-<span class="doccomment">///     #[doc = &quot;try to interpolate: #ident&quot;]</span>
-<span class="doccomment">/// }</span>
-<span class="doccomment">/// ```</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// Macro calls in a doc attribute are not valid syntax:</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// ```compile_fail</span>
-<span class="doccomment">/// quote! {</span>
-<span class="doccomment">///     #[doc = concat!(&quot;try to interpolate: &quot;, stringify!(#ident))]</span>
-<span class="doccomment">/// }</span>
-<span class="doccomment">/// ```</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// Instead the best way to build doc comments that involve variables is by</span>
-<span class="doccomment">/// formatting the doc string literal outside of quote.</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// ```rust</span>
-<span class="doccomment">/// # use proc_macro2::{Ident, Span};</span>
-<span class="doccomment">/// # use quote::quote;</span>
-<span class="doccomment">/// #</span>
-<span class="doccomment">/// # const IGNORE: &amp;str = stringify! {</span>
-<span class="doccomment">/// let msg = format!(...);</span>
-<span class="doccomment">/// # };</span>
-<span class="doccomment">/// #</span>
-<span class="doccomment">/// # let ident = Ident::new(&quot;var&quot;, Span::call_site());</span>
-<span class="doccomment">/// # let msg = format!(&quot;try to interpolate: {}&quot;, ident);</span>
-<span class="doccomment">/// quote! {</span>
-<span class="doccomment">///     #[doc = #msg]</span>
-<span class="doccomment">///     ///</span>
-<span class="doccomment">///     /// ...</span>
-<span class="doccomment">/// }</span>
-<span class="doccomment">/// # ;</span>
-<span class="doccomment">/// ```</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// &lt;p&gt;&lt;br&gt;&lt;/p&gt;</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// ### Indexing into a tuple struct</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// When interpolating indices of a tuple or tuple struct, we need them not to</span>
-<span class="doccomment">/// appears suffixed as integer literals by interpolating them as [`syn::Index`]</span>
-<span class="doccomment">/// instead.</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// [`syn::Index`]: https://docs.rs/syn/1.0/syn/struct.Index.html</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// ```compile_fail</span>
-<span class="doccomment">/// let i = 0usize..self.fields.len();</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// // expands to 0 + self.0usize.heap_size() + self.1usize.heap_size() + ...</span>
-<span class="doccomment">/// // which is not valid syntax</span>
-<span class="doccomment">/// quote! {</span>
-<span class="doccomment">///     0 #( + self.#i.heap_size() )*</span>
-<span class="doccomment">/// }</span>
-<span class="doccomment">/// ```</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// ```</span>
-<span class="doccomment">/// # use proc_macro2::{Ident, TokenStream};</span>
-<span class="doccomment">/// # use quote::quote;</span>
-<span class="doccomment">/// #</span>
-<span class="doccomment">/// # mod syn {</span>
-<span class="doccomment">/// #     use proc_macro2::{Literal, TokenStream};</span>
-<span class="doccomment">/// #     use quote::{ToTokens, TokenStreamExt};</span>
-<span class="doccomment">/// #</span>
-<span class="doccomment">/// #     pub struct Index(usize);</span>
-<span class="doccomment">/// #</span>
-<span class="doccomment">/// #     impl From&lt;usize&gt; for Index {</span>
-<span class="doccomment">/// #         fn from(i: usize) -&gt; Self {</span>
-<span class="doccomment">/// #             Index(i)</span>
-<span class="doccomment">/// #         }</span>
-<span class="doccomment">/// #     }</span>
-<span class="doccomment">/// #</span>
-<span class="doccomment">/// #     impl ToTokens for Index {</span>
-<span class="doccomment">/// #         fn to_tokens(&amp;self, tokens: &amp;mut TokenStream) {</span>
-<span class="doccomment">/// #             tokens.append(Literal::usize_unsuffixed(self.0));</span>
-<span class="doccomment">/// #         }</span>
-<span class="doccomment">/// #     }</span>
-<span class="doccomment">/// # }</span>
-<span class="doccomment">/// #</span>
-<span class="doccomment">/// # struct Struct {</span>
-<span class="doccomment">/// #     fields: Vec&lt;Ident&gt;,</span>
-<span class="doccomment">/// # }</span>
-<span class="doccomment">/// #</span>
-<span class="doccomment">/// # impl Struct {</span>
-<span class="doccomment">/// #     fn example(&amp;self) -&gt; TokenStream {</span>
-<span class="doccomment">/// let i = (0..self.fields.len()).map(syn::Index::from);</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// // expands to 0 + self.0.heap_size() + self.1.heap_size() + ...</span>
-<span class="doccomment">/// quote! {</span>
-<span class="doccomment">///     0 #( + self.#i.heap_size() )*</span>
-<span class="doccomment">/// }</span>
-<span class="doccomment">/// #     }</span>
-<span class="doccomment">/// # }</span>
-<span class="doccomment">/// ```</span>
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
+<span class="attribute">#[<span class="ident">macro_export</span>(<span class="ident">local_inner_macros</span>)]</span>
 <span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote</span> {
-    () <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">TokenStream</span>::<span class="ident">new</span>()
+    ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tt</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro">quote_spanned</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">Span</span>::<span class="ident">call_site</span>()<span class="op">=</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tt</span>)<span class="kw-2">*</span>)
     };
-    ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tt</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {{
-        <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">_s</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">TokenStream</span>::<span class="ident">new</span>();
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_each_token</span><span class="op">!</span>(<span class="ident">_s</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tt</span>)<span class="kw-2">*</span>);
-        <span class="ident">_s</span>
-    }};
 }
 
 <span class="doccomment">/// Same as `quote!`, but applies a given span to all tokens originating within</span>
 <span class="doccomment">/// the macro invocation.</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// &lt;br&gt;</span>
-<span class="doccomment">///</span>
 <span class="doccomment">/// # Syntax</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// A span expression of type [`Span`], followed by `=&gt;`, followed by the tokens</span>
-<span class="doccomment">/// to quote. The span expression should be brief &amp;mdash; use a variable for</span>
-<span class="doccomment">/// anything more than a few characters. There should be no space before the</span>
-<span class="doccomment">/// `=&gt;` token.</span>
+<span class="doccomment">/// to quote. The span expression should be brief -- use a variable for anything</span>
+<span class="doccomment">/// more than a few characters. There should be no space before the `=&gt;` token.</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// [`Span`]: https://docs.rs/proc-macro2/1.0/proc_macro2/struct.Span.html</span>
+<span class="doccomment">/// [`Span`]: https://docs.rs/proc-macro2/0.4/proc_macro2/struct.Span.html</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// ```</span>
+<span class="doccomment">/// ```edition2018</span>
 <span class="doccomment">/// # use proc_macro2::Span;</span>
 <span class="doccomment">/// # use quote::quote_spanned;</span>
 <span class="doccomment">/// #</span>
@@ -1783,16 +1236,12 @@
 <span class="doccomment">/// being evaluated in the context of the procedural macro and the remaining</span>
 <span class="doccomment">/// tokens being evaluated in the generated code.</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// &lt;br&gt;</span>
-<span class="doccomment">///</span>
 <span class="doccomment">/// # Hygiene</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// Any interpolated tokens preserve the `Span` information provided by their</span>
 <span class="doccomment">/// `ToTokens` implementation. Tokens that originate within the `quote_spanned!`</span>
 <span class="doccomment">/// invocation are spanned with the given span argument.</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// &lt;br&gt;</span>
-<span class="doccomment">///</span>
 <span class="doccomment">/// # Example</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// The following procedural macro code uses `quote_spanned!` to assert that a</span>
@@ -1801,7 +1250,7 @@
 <span class="doccomment">///</span>
 <span class="doccomment">/// [`Sync`]: https://doc.rust-lang.org/std/marker/trait.Sync.html</span>
 <span class="doccomment">///</span>
-<span class="doccomment">/// ```</span>
+<span class="doccomment">/// ```edition2018</span>
 <span class="doccomment">/// # use quote::{quote_spanned, TokenStreamExt, ToTokens};</span>
 <span class="doccomment">/// # use proc_macro2::{Span, TokenStream};</span>
 <span class="doccomment">/// #</span>
@@ -1839,688 +1288,437 @@
 <span class="doccomment">///</span>
 <span class="doccomment">/// In this example it is important for the where-clause to be spanned with the</span>
 <span class="doccomment">/// line/column information of the user&#39;s input type so that error messages are</span>
-<span class="doccomment">/// placed appropriately by the compiler.</span>
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
+<span class="doccomment">/// placed appropriately by the compiler. But it is also incredibly important</span>
+<span class="doccomment">/// that `Sync` resolves at the macro definition site and not the macro call</span>
+<span class="doccomment">/// site. If we resolve `Sync` at the same span that the user&#39;s type is going to</span>
+<span class="doccomment">/// be resolved, then they could bypass our check by defining their own trait</span>
+<span class="doccomment">/// named `Sync` that is implemented for their type.</span>
+<span class="attribute">#[<span class="ident">macro_export</span>(<span class="ident">local_inner_macros</span>)]</span>
 <span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_spanned</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">expr</span><span class="op">=</span><span class="op">&gt;</span>) <span class="op">=</span><span class="op">&gt;</span> {{
-        <span class="kw">let</span> <span class="kw">_</span>: <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">Span</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>;
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">TokenStream</span>::<span class="ident">new</span>()
-    }};
     (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">expr</span><span class="op">=</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tt</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {{
-        <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">_s</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">TokenStream</span>::<span class="ident">new</span>();
-        <span class="kw">let</span> <span class="ident">_span</span>: <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">Span</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>;
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_each_token_spanned</span><span class="op">!</span>(<span class="ident">_s</span> <span class="ident">_span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tt</span>)<span class="kw-2">*</span>);
+        <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">_s</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">TokenStream</span>::<span class="ident">new</span>();
+        <span class="kw">let</span> <span class="ident">_span</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>;
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="ident">_s</span> <span class="ident">_span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tt</span>)<span class="kw-2">*</span>);
         <span class="ident">_s</span>
     }};
 }
 
-<span class="comment">// Extract the names of all #metavariables and pass them to the $call macro.</span>
+<span class="comment">// Extract the names of all #metavariables and pass them to the $finish macro.</span>
 <span class="comment">//</span>
-<span class="comment">// in:   pounded_var_names!(then!(...) a #b c #( #d )* #e)</span>
-<span class="comment">// out:  then!(... b);</span>
-<span class="comment">//       then!(... d);</span>
-<span class="comment">//       then!(... e);</span>
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
+<span class="comment">// in:   pounded_var_names!(then () a #b c #( #d )* #e)</span>
+<span class="comment">// out:  then!(() b d e)</span>
+<span class="attribute">#[<span class="ident">macro_export</span>(<span class="ident">local_inner_macros</span>)]</span>
 <span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
 <span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">pounded_var_names</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span>:<span class="macro">ident</span><span class="macro">!</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span>:<span class="ident">tt</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_names_with_context</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span><span class="op">!</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span>
-            (@ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="kw-2">*</span>)
-            ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="op">*</span> @)
-        )
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span>:<span class="ident">ident</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>) # ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ) $(<span class="macro-nonterminal">$</span><span class="macro-nontermi [...]
+        <span class="macro">pounded_var_names</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>)<span class="kw-2">*</span>) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="op">*</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span cla [...]
     };
-}
 
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">pounded_var_names_with_context</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span>:<span class="macro">ident</span><span class="macro">!</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span>:<span class="ident">tt</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">curr</sp [...]
-        $(
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_with_context</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span><span class="op">!</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span> <span class="macro-nonterminal">$</span><spa [...]
-        )<span class="op">*</span>
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span>:<span class="ident">ident</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>) # [ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ] $(<span class="macro-nonterminal">$</span><span class="macro-nontermi [...]
+        <span class="macro">pounded_var_names</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>)<span class="kw-2">*</span>) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="op">*</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span cla [...]
     };
-}
 
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">pounded_var_with_context</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span>:<span class="macro">ident</span><span class="macro">!</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span>:<span class="ident">tt</span> ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</sp [...]
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_names</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span><span class="op">!</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span>:<span class="macro">ident</span><span class="macro">!</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span>:<span class="ident">tt</span> [ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</sp [...]
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_names</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span><span class="op">!</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span>:<span class="ident">ident</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>) # { $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> } $(<span class="macro-nonterminal">$</span><span class="macro-nontermi [...]
+        <span class="macro">pounded_var_names</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>)<span class="kw-2">*</span>) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="op">*</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span cla [...]
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span>:<span class="macro">ident</span><span class="macro">!</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span>:<span class="ident">tt</span> { $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</sp [...]
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_names</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span><span class="op">!</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span>:<span class="ident">ident</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>) # <span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>:<span class="ident">ident</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class= [...]
+        <span class="macro">pounded_var_names</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>)<span class="op">*</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>)
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span>:<span class="macro">ident</span><span class="macro">!</span>($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) # <span class="macro-nonterminal">$</span><span class="macro-nonterminal">var</span>:<span class="ident">ident</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span><span class="op">!</span>($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span>)<span class="op">*</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">var</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span>:<span class="macro">ident</span><span class="macro">!</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">extra</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">curr</span>:<span class="ident">tt</span>)  [...]
-}
-
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_bind_into_iter</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">has_iter</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">var</span>:<span class="ident">ident</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="comment">// `mut` may be unused if $var occurs multiple times in the list.</span>
-        <span class="attribute">#[<span class="ident">allow</span>(<span class="ident">unused_mut</span>)]</span>
-        <span class="kw">let</span> (<span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">var</span>, <span class="ident">i</span>) <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">var</span>.<span class="ident">quote_into_iter</span>();
-        <span class="kw">let</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">has_iter</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">has_iter</span> <span class="op">|</span> <span class="ident">i</span>;
-    };
-}
-
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_bind_next_or_break</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">var</span>:<span class="ident">ident</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="kw">let</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">var</span> <span class="op">=</span> <span class="kw">match</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">var</span>.<span class="ident">next</span>() {
-            <span class="prelude-val">Some</span>(<span class="ident">_x</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">RepInterp</span>(<span class="ident">_x</span>),
-            <span class="prelude-val">None</span> <span class="op">=</span><span class="op">&gt;</span> <span class="kw">break</span>,
-        };
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span>:<span class="ident">ident</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>) ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ) $(<span class="macro-nonterminal">$</span><span class="macro-nontermina [...]
+        <span class="macro">pounded_var_names</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>)<span class="kw-2">*</span>) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="op">*</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span cla [...]
     };
-}
 
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_each_token</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_tokens_with_context</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>
-            (@ @ @ @ @ @ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="kw-2">*</span>)
-            (@ @ @ @ @ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="op">*</span> @)
-            (@ @ @ @ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="op">*</span> @ @)
-            (@ @ @ $((<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>))<span class="op">*</span> @ @ @)
-            (@ @ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="op">*</span> @ @ @ @)
-            (@ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="op">*</span> @ @ @ @ @)
-            ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="op">*</span> @ @ @ @ @ @)
-        );
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span>:<span class="ident">ident</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>) [ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ] $(<span class="macro-nonterminal">$</span><span class="macro-nontermina [...]
+        <span class="macro">pounded_var_names</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>)<span class="kw-2">*</span>) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="op">*</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span cla [...]
     };
-}
 
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_each_token_spanned</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_tokens_with_context_spanned</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>
-            (@ @ @ @ @ @ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="kw-2">*</span>)
-            (@ @ @ @ @ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="op">*</span> @)
-            (@ @ @ @ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="op">*</span> @ @)
-            (@ @ @ $((<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>))<span class="op">*</span> @ @ @)
-            (@ @ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="op">*</span> @ @ @ @)
-            (@ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="op">*</span> @ @ @ @ @)
-            ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tts</span>)<span class="op">*</span> @ @ @ @ @ @)
-        );
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span>:<span class="ident">ident</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>) { $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> } $(<span class="macro-nonterminal">$</span><span class="macro-nontermina [...]
+        <span class="macro">pounded_var_names</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>)<span class="kw-2">*</span>) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="op">*</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span cla [...]
     };
-}
 
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_tokens_with_context</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span>
-        ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>)
-        ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">curr</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>)
-        ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">a1</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">a2</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">a3</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>)
-    ) <span class="op">=</span><span class="op">&gt;</span> {
-        $(
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_token_with_context</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal [...]
-        )<span class="op">*</span>
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span>:<span class="ident">ident</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>) <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ignore</span>:<span class="ident">tt</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ide [...]
+        <span class="macro">pounded_var_names</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>)<span class="kw-2">*</span>) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>)
     };
-}
 
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_tokens_with_context_spanned</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span>
-        ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>)
-        ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">curr</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>)
-        ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">a1</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">a2</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">a3</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>)
-    ) <span class="op">=</span><span class="op">&gt;</span> {
-        $(
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_token_with_context_spanned</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span> <span class="macro-nonterminal">$</span><span class="macro-n [...]
-        )<span class="op">*</span>
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span>:<span class="ident">ident</span> ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>)) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="macro-nonterminal">finish</span><span class="op">!</span>(() $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">found</span>)<span class="kw-2">*</span>)
     };
 }
 
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
+<span class="comment">// in:   nested_tuples_pat!(() a b c d e)</span>
+<span class="comment">// out:  ((((a b) c) d) e)</span>
+<span class="comment">//</span>
+<span class="comment">// in:   nested_tuples_pat!(() a)</span>
+<span class="comment">// out:  a</span>
+<span class="attribute">#[<span class="ident">macro_export</span>(<span class="ident">local_inner_macros</span>)]</span>
 <span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_token_with_context</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span>:<span class="ident">tt</span> @ <span class="macro-nonterminal [...]
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span>:<span class="ident">tt</span> (#) ( $(<span class="macro-nonte [...]
-        <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">ext</span>::<span class="kw-2">*</span>;
-        <span class="kw">let</span> <span class="ident">has_iter</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">ThereIsNoIteratorInRepetition</span>;
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_names</span><span class="op">!</span>(<span class="macro">quote_bind_into_iter</span><span class="macro">!</span>(<span class="ident">has_iter</span>) () $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-        <span class="kw">let</span> <span class="kw">_</span>: <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">HasIterator</span> <span class="op">=</span> <span class="ident">has_iter</span>;
-        <span class="comment">// This is `while true` instead of `loop` because if there are no</span>
-        <span class="comment">// iterators used inside of this repetition then the body would not</span>
-        <span class="comment">// contain any `break`, so the compiler would emit unreachable code</span>
-        <span class="comment">// warnings on anything below the loop. We use has_iter to detect and</span>
-        <span class="comment">// fail to compile when there are no iterators, so here we just work</span>
-        <span class="comment">// around the unneeded extra warning.</span>
-        <span class="kw">while</span> <span class="bool-val">true</span> {
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_names</span><span class="op">!</span>(<span class="macro">quote_bind_next_or_break</span><span class="macro">!</span>() () $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_each_token</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-        }
-    }};
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> # (( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</sp [...]
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> # ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ) (<span class="kw-2">*</span>) <span class="macro-nonterminal">$</span><span class="macro-nonterminal">a1</s [...]
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span>:<span class="ident">tt</span> (#) ( $(<span class="macro-nonte [...]
-        <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">ext</span>::<span class="kw-2">*</span>;
-        <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">_i</span> <span class="op">=</span> <span class="number">0usize</span>;
-        <span class="kw">let</span> <span class="ident">has_iter</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">ThereIsNoIteratorInRepetition</span>;
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_names</span><span class="op">!</span>(<span class="macro">quote_bind_into_iter</span><span class="macro">!</span>(<span class="ident">has_iter</span>) () $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-        <span class="kw">let</span> <span class="kw">_</span>: <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">HasIterator</span> <span class="op">=</span> <span class="ident">has_iter</span>;
-        <span class="kw">while</span> <span class="bool-val">true</span> {
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_names</span><span class="op">!</span>(<span class="macro">quote_bind_next_or_break</span><span class="macro">!</span>() () $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-            <span class="kw">if</span> <span class="ident">_i</span> <span class="op">&gt;</span> <span class="number">0</span> {
-                <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_token</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">sep</span>);
-            }
-            <span class="ident">_i</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_each_token</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-        }
-    }};
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> # (( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</sp [...]
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> # ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ) (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">sep</span>:<span class="ident">tt< [...]
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> # ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ) <span class="op">*</span> (<span class="kw-2">*</span>) <span class="macro-nonterminal">$</span><span class="macro-nonterminal">a1</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class [...]
-        <span class="comment">// https://github.com/dtolnay/quote/issues/130</span>
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_token</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="kw-2">*</span>);
+<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">nested_tuples_pat</span> {
+    (()) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="kw-2">&amp;</span>()
     };
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> # ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ) <span class="macro-nonterminal">$</span><span class="macro-nonterminal">sep</span>:<span class="ident">tt</span> (<span class="kw-2">*</span>) <span class="macro-nonterminal">$</span><span class="macro-nonterminal">a1</ [...]
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span>:<span class="ident">tt</span> (#) <span class="macro-nontermin [...]
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">ToTokens</span>::<span class="ident">to_tokens</span>(<span class="kw-2">&amp;</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">var</span>, <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> # (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">var</span>:<span class="ident">ident</span>) <span class="macro-nonte [...]
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b1</span>:<span class="ident">tt</span> (<span class="macro-nonterminal" [...]
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_token</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">curr</span>);
+    (() <span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>:<span class="ident">ident</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro">nested_tuples_pat</span><span class="macro">!</span>((<span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>)
     };
-}
 
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_token_with_context_spanned</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> <span class="macro-nontermi [...]
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> <span class="macro-nontermi [...]
-        <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">ext</span>::<span class="kw-2">*</span>;
-        <span class="kw">let</span> <span class="ident">has_iter</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">ThereIsNoIteratorInRepetition</span>;
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_names</span><span class="op">!</span>(<span class="macro">quote_bind_into_iter</span><span class="macro">!</span>(<span class="ident">has_iter</span>) () $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-        <span class="kw">let</span> <span class="kw">_</span>: <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">HasIterator</span> <span class="op">=</span> <span class="ident">has_iter</span>;
-        <span class="comment">// This is `while true` instead of `loop` because if there are no</span>
-        <span class="comment">// iterators used inside of this repetition then the body would not</span>
-        <span class="comment">// contain any `break`, so the compiler would emit unreachable code</span>
-        <span class="comment">// warnings on anything below the loop. We use has_iter to detect and</span>
-        <span class="comment">// fail to compile when there are no iterators, so here we just work</span>
-        <span class="comment">// around the unneeded extra warning.</span>
-        <span class="kw">while</span> <span class="bool-val">true</span> {
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_names</span><span class="op">!</span>(<span class="macro">quote_bind_next_or_break</span><span class="macro">!</span>() () $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_each_token_spanned</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-        }
-    }};
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> # (( $(<span class="macro-n [...]
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> # ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">* [...]
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> <span class="macro-nontermi [...]
-        <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">ext</span>::<span class="kw-2">*</span>;
-        <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">_i</span> <span class="op">=</span> <span class="number">0usize</span>;
-        <span class="kw">let</span> <span class="ident">has_iter</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">ThereIsNoIteratorInRepetition</span>;
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_names</span><span class="op">!</span>(<span class="macro">quote_bind_into_iter</span><span class="macro">!</span>(<span class="ident">has_iter</span>) () $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-        <span class="kw">let</span> <span class="kw">_</span>: <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">HasIterator</span> <span class="op">=</span> <span class="ident">has_iter</span>;
-        <span class="kw">while</span> <span class="bool-val">true</span> {
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">pounded_var_names</span><span class="op">!</span>(<span class="macro">quote_bind_next_or_break</span><span class="macro">!</span>() () $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-            <span class="kw">if</span> <span class="ident">_i</span> <span class="op">&gt;</span> <span class="number">0</span> {
-                <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_token_spanned</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">sep</span>);
-            }
-            <span class="ident">_i</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_each_token_spanned</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
-        }
-    }};
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> # (( $(<span class="macro-n [...]
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> # ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">* [...]
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> # ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ) <span class="op">*</span> (<span class="kw-2">*</span>) <span class="macro-nonterminal">$</span><span  [...]
-        <span class="comment">// https://github.com/dtolnay/quote/issues/130</span>
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_token_spanned</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> <span class="kw-2">*</span>);
+    ((<span class="macro-nonterminal">$</span><span class="macro-nonterminal">pat</span>:<span class="ident">pat</span>) <span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>:<span class="ident">ident</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro">nested_tuples_pat</span><span class="macro">!</span>(((<span class="macro-nonterminal">$</span><span class="macro-nonterminal">pat</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>)) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>)
     };
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> # ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ) <span class="macro-nonterminal">$</span><span class="macro-nonterminal">sep</span>:<span class="ident" [...]
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> <span class="macro-nontermi [...]
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">ToTokens</span>::<span class="ident">to_tokens</span>(<span class="kw-2">&amp;</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">var</span>, <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> # (<span class="macro-nonte [...]
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b3</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">b2</span>:<span class="ident">tt</span> <span class="macro-nontermi [...]
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_token_spanned</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">curr</span>);
+    ((<span class="macro-nonterminal">$</span><span class="macro-nonterminal">done</span>:<span class="ident">pat</span>)) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="macro-nonterminal">done</span>
     };
 }
 
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
+<span class="comment">// in:   multi_zip_expr!(() a b c d e)</span>
+<span class="comment">// out:  a.into_iter().zip(b).zip(c).zip(d).zip(e)</span>
+<span class="comment">//</span>
+<span class="comment">// in:   multi_zip_iter!(() a)</span>
+<span class="comment">// out:  a</span>
+<span class="attribute">#[<span class="ident">macro_export</span>(<span class="ident">local_inner_macros</span>)]</span>
 <span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_token</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> )) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_group</span>(
-            <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>,
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">Delimiter</span>::<span class="ident">Parenthesis</span>,
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote</span><span class="op">!</span>($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>),
-        );
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> [ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ]) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_group</span>(
-            <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>,
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">Delimiter</span>::<span class="ident">Bracket</span>,
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote</span><span class="op">!</span>($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>),
-        );
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> { $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> }) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_group</span>(
-            <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>,
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">Delimiter</span>::<span class="ident">Brace</span>,
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote</span><span class="op">!</span>($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>),
-        );
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">+</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_add</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">+</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_add_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="kw-2">&amp;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_and</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="kw-2">&amp;</span><span class="kw-2">&amp;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_and_and</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="kw-2">&amp;</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_and_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> @) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_at</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">!</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_bang</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">^</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_caret</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">^</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_caret_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> :) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_colon</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> ::) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_colon2</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> ,) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_comma</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
+<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">multi_zip_expr</span> {
+    (()) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="kw-2">&amp;</span>[]
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">/</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_div</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
+    (() <span class="macro-nonterminal">$</span><span class="macro-nonterminal">single</span>:<span class="ident">ident</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="macro-nonterminal">single</span>
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">/</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_div_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
+    (() <span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>:<span class="ident">ident</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro">multi_zip_expr</span><span class="macro">!</span>((<span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>.<span class="ident">into_iter</span>()) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>)
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> .) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_dot</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
+    ((<span class="macro-nonterminal">$</span><span class="macro-nonterminal">zips</span>:<span class="ident">expr</span>) <span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>:<span class="ident">ident</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">ident</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro">multi_zip_expr</span><span class="macro">!</span>((<span class="macro-nonterminal">$</span><span class="macro-nonterminal">zips</span>.<span class="ident">zip</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>)) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>)
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> ..) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_dot2</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> ...) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_dot3</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> ..<span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_dot_dot_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">=</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_eq_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">&gt;</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_ge</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">&gt;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_gt</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">&lt;</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_le</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">&lt;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_lt</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="kw-2">*</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_mul_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">!</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_ne</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">|</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_or</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">|</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_or_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">|</span><span class="op">|</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_or_or</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> #) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_pound</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="question-mark">?</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_question</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">-</span><span class="op">&gt;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_rarrow</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">&lt;</span><span class="op">-</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_larrow</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">%</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_rem</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">%</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_rem_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">=</span><span class="op">&gt;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_fat_arrow</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> ;) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_semi</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">&lt;</span><span class="op">&lt;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_shl</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">&lt;</span><span class="op">&lt;</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_shl_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
-
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">&gt;</span><span class="op">&gt;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_shr</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
+    ((<span class="macro-nonterminal">$</span><span class="macro-nonterminal">done</span>:<span class="ident">expr</span>)) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="macro-nonterminal">done</span>
     };
+}
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">&gt;</span><span class="op">&gt;</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_shr_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
-    };
+<span class="attribute">#[<span class="ident">macro_export</span>(<span class="ident">local_inner_macros</span>)]</span>
+<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
+<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_each_token</span> {
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span>) <span class="op">=</span><span class="op">&gt;</span> {};
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_star</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> # <span class="op">!</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> #);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> <span class="op">!</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">-</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_sub</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> # ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ) <span class="op">*</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">re [...]
+        <span class="kw">for</span> <span class="macro">pounded_var_names</span><span class="macro">!</span>(<span class="ident">nested_tuples_pat</span> () $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>)
+        <span class="kw">in</span> <span class="macro">pounded_var_names</span><span class="macro">!</span>(<span class="ident">multi_zip_expr</span> () $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>) {
+            <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
+        }
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="op">-</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_sub_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> # ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ) <span class="macro-nonterminal">$</span><span class="macro-nonterminal">sep</span>:<span class="ident" [...]
+        <span class="kw">for</span> (<span class="ident">_i</span>, <span class="macro">pounded_var_names</span><span class="macro">!</span>(<span class="ident">nested_tuples_pat</span> () $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>))
+        <span class="kw">in</span> <span class="macro">pounded_var_names</span><span class="macro">!</span>(<span class="ident">multi_zip_expr</span> () $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>).<span class="ident">into_iter</span>().<span class="ident">enumerate</span>() {
+            <span class="kw">if</span> <span class="ident">_i</span> <span class="op">&gt;</span> <span class="number">0</span> {
+                <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">sep</span>);
+            }
+            <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>);
+        }
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ident</span>:<span class="ident">ident</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_ident</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro">stringify</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">ident</span>));
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> # [ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ] $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ide [...]
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> #);
+        <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>.<span class="ident">extend</span>({
+            <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">g</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">Group</span>::<span class="ident">new</span>(
+                <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">Delimiter</span>::<span class="ident">Bracket</span>,
+                <span class="macro">quote_spanned</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span><span class="op">=</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>),
+            );
+            <span class="ident">g</span>.<span class="ident">set_span</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+            <span class="prelude-val">Some</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">TokenTree</span>::<span class="ident">from</span>(<span class="ident">g</span>))
+        });
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">other</span>:<span class="ident">tt</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">parse</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro">stringify</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">other</span>));
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> # <span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>:<span class="ident">ident</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw [...]
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">ToTokens</span>::<span class="ident">to_tokens</span>(<span class="kw-2">&amp;</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>, <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
-}
 
-<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_token_spanned</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> )) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_group_spanned</span>(
-            <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>,
-            <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>,
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">Delimiter</span>::<span class="ident">Parenthesis</span>,
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_spanned</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span><span class="op">=</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>),
-        );
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> ( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>:<span class="ident">tt</span>)<span class="op">*</span> ) $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident [...]
+        <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>.<span class="ident">extend</span>({
+            <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">g</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">Group</span>::<span class="ident">new</span>(
+                <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">Delimiter</span>::<span class="ident">Parenthesis</span>,
+                <span class="macro">quote_spanned</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span><span class="op">=</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>)<span class="kw-2">*</span>),
+            );
+            <span class="ident">g</span>.<span class="ident">set_span</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+            <span class="prelude-val">Some</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">TokenTree</span>::<span class="ident">from</span>(<span class="ident">g</span>))
+        });
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> [ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> ]) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_group_spanned</span>(
-            <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>,
-            <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>,
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">Delimiter</span>::<span class="ident">Bracket</span>,
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_spanned</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span><span class="op">=</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>),
-        );
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> [ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>:<span class="ident">tt</span>)<span class="op">*</span> ] $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident [...]
+        <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>.<span class="ident">extend</span>({
+            <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">g</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">Group</span>::<span class="ident">new</span>(
+                <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">Delimiter</span>::<span class="ident">Bracket</span>,
+                <span class="macro">quote_spanned</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span><span class="op">=</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>)<span class="kw-2">*</span>),
+            );
+            <span class="ident">g</span>.<span class="ident">set_span</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+            <span class="prelude-val">Some</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">TokenTree</span>::<span class="ident">from</span>(<span class="ident">g</span>))
+        });
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> { $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span>)<span class="op">*</span> }) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_group_spanned</span>(
-            <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>,
-            <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>,
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">Delimiter</span>::<span class="ident">Brace</span>,
-            <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">quote_spanned</span><span class="op">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span><span class="op">=</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)<span class="kw-2">*</span>),
-        );
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> { $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>:<span class="ident">tt</span>)<span class="op">*</span> } $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident [...]
+        <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>.<span class="ident">extend</span>({
+            <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">g</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">Group</span>::<span class="ident">new</span>(
+                <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">Delimiter</span>::<span class="ident">Brace</span>,
+                <span class="macro">quote_spanned</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span><span class="op">=</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>)<span class="kw-2">*</span>),
+            );
+            <span class="ident">g</span>.<span class="ident">set_span</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+            <span class="prelude-val">Some</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">TokenTree</span>::<span class="ident">from</span>(<span class="ident">g</span>))
+        });
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">+</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_add_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">+</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_add</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">+</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_add_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">+</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_add_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="kw-2">&amp;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_and_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&amp;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_and</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="kw-2">&amp;</span><span class="kw-2">&amp;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_and_and_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="kw-2">&amp;</span><span class="op">&amp;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt [...]
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_and_and</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="kw-2">&amp;</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_and_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="kw-2">&amp;</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_and_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> @) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_at_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> @ $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_at</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">!</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_bang_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">!</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_bang</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">^</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_caret_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">^</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_caret</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">^</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_caret_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">^</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_caret_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> :) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_colon_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> : $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_colon</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> ::) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_colon2_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> :: $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_colon2</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> ,) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_comma_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> , $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_comma</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">/</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_div_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">/</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_div</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">/</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_div_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">/</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_div_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> .) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_dot_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> . $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_dot</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> ..) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_dot2_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> .. $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_dot2</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> ...) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_dot3_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> ... $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_dot3</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> ..<span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_dot_dot_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> ..<span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_dot_dot_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">=</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_eq_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">=</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_eq_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&gt;</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_ge_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&gt;</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_ge</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&gt;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_gt_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_gt</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&lt;</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_le_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&lt;</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_le</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&lt;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_lt_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&lt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_lt</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="kw-2">*</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_mul_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="kw-2">*</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_mul_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">!</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_ne_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">!</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_ne</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">|</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_or_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">|</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_or</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">|</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_or_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">|</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_or_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">|</span><span class="op">|</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_or_or_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">|</span><span class="op">|</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_or_or</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> #) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_pound_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> # $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_pound</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="question-mark">?</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_question_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="question-mark">?</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_question</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">-</span><span class="op">&gt;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_rarrow_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">-</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_rarrow</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&lt;</span><span class="op">-</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_larrow_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&lt;</span><span class="op">-</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_larrow</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">%</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_rem_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">%</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_rem</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">%</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_rem_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">%</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_rem_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">=</span><span class="op">&gt;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_fat_arrow_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">=</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_fat_arrow</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> ;) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_semi_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> ; $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_semi</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&lt;</span><span class="op">&lt;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_shl_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&lt;</span><span class="op">&lt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_shl</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&lt;</span><span class="op">&lt;</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_shl_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&lt;</span><span class="op">&lt;</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span [...]
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_shl_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&gt;</span><span class="op">&gt;</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_shr_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&gt;</span><span class="op">&gt;</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_shr</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&gt;</span><span class="op">&gt;</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_shr_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">&gt;</span><span class="op">&gt;</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span [...]
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_shr_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_star_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">*</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_star</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">-</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_sub_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">-</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_sub</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">-</span><span class="op">=</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_sub_eq_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="op">-</span><span class="op">=</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">push_sub_eq</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>);
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ident</span>:<span class="ident">ident</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">push_ident_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>, <span class="macro">stringify</span><span class="macro">!</span>(<span class="macro- [...]
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">first</span>:<span class="ident">tt</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>:<span class="ident">tt</span>)<span class="kw-2">* [...]
+        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__rt</span>::<span class="ident">parse</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>, <span class="macro">quote_stringify</span><span class="macro">!</span>(<span class="macro-nonterminal" [...]
+        <span class="macro">quote_each_token</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span> $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">rest</span>)<span class="kw-2">*</span>);
     };
+}
 
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">other</span>:<span class="ident">tt</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">__private</span>::<span class="ident">parse_spanned</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">span</span>, <span class="macro">stringify</span><span class="macro">!</span>(<span class="macro-nonte [...]
+<span class="comment">// Unhygienically invoke whatever `stringify` the caller has in scope i.e. not a</span>
+<span class="comment">// local macro. The macros marked `local_inner_macros` above cannot invoke</span>
+<span class="comment">// `stringify` directly.</span>
+<span class="attribute">#[<span class="ident">macro_export</span>]</span>
+<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
+<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">quote_stringify</span> {
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tt</span>:<span class="ident">tt</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="macro">stringify</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tt</span>)
     };
 }
 </pre></div>
diff --git a/api-docs/crates-enclave/src/quote/runtime.rs.html b/api-docs/crates-enclave/src/quote/runtime.rs.html
index 82dc681..79e5a96 100644
--- a/api-docs/crates-enclave/src/quote/runtime.rs.html
+++ b/api-docs/crates-enclave/src/quote/runtime.rs.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source to the Rust file `/home/mssun/incubator-mesatee/build/cmake_tomls/sgx_trusted_lib/third_party/crates-sgx/vendor/quote/src/runtime.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>runtime.rs.html -- source</title><link rel="stylesheet" type="text/css" href=".. [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source to the Rust file `/home/mssun/incubator-mesatee/build/cmake_tomls/sgx_trusted_lib/third_party/crates-sgx/vendor/quote-0.6.13/src/runtime.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>runtime.rs.html -- source</title><link rel="stylesheet" type="text/css" h [...]
 <span id="2">  2</span>
 <span id="3">  3</span>
 <span id="4">  4</span>
@@ -106,556 +106,48 @@
 <span id="106">106</span>
 <span id="107">107</span>
 <span id="108">108</span>
-<span id="109">109</span>
-<span id="110">110</span>
-<span id="111">111</span>
-<span id="112">112</span>
-<span id="113">113</span>
-<span id="114">114</span>
-<span id="115">115</span>
-<span id="116">116</span>
-<span id="117">117</span>
-<span id="118">118</span>
-<span id="119">119</span>
-<span id="120">120</span>
-<span id="121">121</span>
-<span id="122">122</span>
-<span id="123">123</span>
-<span id="124">124</span>
-<span id="125">125</span>
-<span id="126">126</span>
-<span id="127">127</span>
-<span id="128">128</span>
-<span id="129">129</span>
-<span id="130">130</span>
-<span id="131">131</span>
-<span id="132">132</span>
-<span id="133">133</span>
-<span id="134">134</span>
-<span id="135">135</span>
-<span id="136">136</span>
-<span id="137">137</span>
-<span id="138">138</span>
-<span id="139">139</span>
-<span id="140">140</span>
-<span id="141">141</span>
-<span id="142">142</span>
-<span id="143">143</span>
-<span id="144">144</span>
-<span id="145">145</span>
-<span id="146">146</span>
-<span id="147">147</span>
-<span id="148">148</span>
-<span id="149">149</span>
-<span id="150">150</span>
-<span id="151">151</span>
-<span id="152">152</span>
-<span id="153">153</span>
-<span id="154">154</span>
-<span id="155">155</span>
-<span id="156">156</span>
-<span id="157">157</span>
-<span id="158">158</span>
-<span id="159">159</span>
-<span id="160">160</span>
-<span id="161">161</span>
-<span id="162">162</span>
-<span id="163">163</span>
-<span id="164">164</span>
-<span id="165">165</span>
-<span id="166">166</span>
-<span id="167">167</span>
-<span id="168">168</span>
-<span id="169">169</span>
-<span id="170">170</span>
-<span id="171">171</span>
-<span id="172">172</span>
-<span id="173">173</span>
-<span id="174">174</span>
-<span id="175">175</span>
-<span id="176">176</span>
-<span id="177">177</span>
-<span id="178">178</span>
-<span id="179">179</span>
-<span id="180">180</span>
-<span id="181">181</span>
-<span id="182">182</span>
-<span id="183">183</span>
-<span id="184">184</span>
-<span id="185">185</span>
-<span id="186">186</span>
-<span id="187">187</span>
-<span id="188">188</span>
-<span id="189">189</span>
-<span id="190">190</span>
-<span id="191">191</span>
-<span id="192">192</span>
-<span id="193">193</span>
-<span id="194">194</span>
-<span id="195">195</span>
-<span id="196">196</span>
-<span id="197">197</span>
-<span id="198">198</span>
-<span id="199">199</span>
-<span id="200">200</span>
-<span id="201">201</span>
-<span id="202">202</span>
-<span id="203">203</span>
-<span id="204">204</span>
-<span id="205">205</span>
-<span id="206">206</span>
-<span id="207">207</span>
-<span id="208">208</span>
-<span id="209">209</span>
-<span id="210">210</span>
-<span id="211">211</span>
-<span id="212">212</span>
-<span id="213">213</span>
-<span id="214">214</span>
-<span id="215">215</span>
-<span id="216">216</span>
-<span id="217">217</span>
-<span id="218">218</span>
-<span id="219">219</span>
-<span id="220">220</span>
-<span id="221">221</span>
-<span id="222">222</span>
-<span id="223">223</span>
-<span id="224">224</span>
-<span id="225">225</span>
-<span id="226">226</span>
-<span id="227">227</span>
-<span id="228">228</span>
-<span id="229">229</span>
-<span id="230">230</span>
-<span id="231">231</span>
-<span id="232">232</span>
-<span id="233">233</span>
-<span id="234">234</span>
-<span id="235">235</span>
-<span id="236">236</span>
-<span id="237">237</span>
-<span id="238">238</span>
-<span id="239">239</span>
-<span id="240">240</span>
-<span id="241">241</span>
-<span id="242">242</span>
-<span id="243">243</span>
-<span id="244">244</span>
-<span id="245">245</span>
-<span id="246">246</span>
-<span id="247">247</span>
-<span id="248">248</span>
-<span id="249">249</span>
-<span id="250">250</span>
-<span id="251">251</span>
-<span id="252">252</span>
-<span id="253">253</span>
-<span id="254">254</span>
-<span id="255">255</span>
-<span id="256">256</span>
-<span id="257">257</span>
-<span id="258">258</span>
-<span id="259">259</span>
-<span id="260">260</span>
-<span id="261">261</span>
-<span id="262">262</span>
-<span id="263">263</span>
-<span id="264">264</span>
-<span id="265">265</span>
-<span id="266">266</span>
-<span id="267">267</span>
-<span id="268">268</span>
-<span id="269">269</span>
-<span id="270">270</span>
-<span id="271">271</span>
-<span id="272">272</span>
-<span id="273">273</span>
-<span id="274">274</span>
-<span id="275">275</span>
-<span id="276">276</span>
-<span id="277">277</span>
-<span id="278">278</span>
-<span id="279">279</span>
-<span id="280">280</span>
-<span id="281">281</span>
-<span id="282">282</span>
-<span id="283">283</span>
-<span id="284">284</span>
-<span id="285">285</span>
-<span id="286">286</span>
-<span id="287">287</span>
-<span id="288">288</span>
-<span id="289">289</span>
-<span id="290">290</span>
-<span id="291">291</span>
-<span id="292">292</span>
-<span id="293">293</span>
-<span id="294">294</span>
-<span id="295">295</span>
-<span id="296">296</span>
-<span id="297">297</span>
-<span id="298">298</span>
-<span id="299">299</span>
-<span id="300">300</span>
-<span id="301">301</span>
-<span id="302">302</span>
-<span id="303">303</span>
-<span id="304">304</span>
-<span id="305">305</span>
-<span id="306">306</span>
-<span id="307">307</span>
-<span id="308">308</span>
-<span id="309">309</span>
-<span id="310">310</span>
-<span id="311">311</span>
-<span id="312">312</span>
-<span id="313">313</span>
-<span id="314">314</span>
-<span id="315">315</span>
-<span id="316">316</span>
-<span id="317">317</span>
-<span id="318">318</span>
-<span id="319">319</span>
-<span id="320">320</span>
-<span id="321">321</span>
-<span id="322">322</span>
-<span id="323">323</span>
-<span id="324">324</span>
-<span id="325">325</span>
-<span id="326">326</span>
-<span id="327">327</span>
-<span id="328">328</span>
-<span id="329">329</span>
-<span id="330">330</span>
-<span id="331">331</span>
-<span id="332">332</span>
-<span id="333">333</span>
-<span id="334">334</span>
-<span id="335">335</span>
-<span id="336">336</span>
-<span id="337">337</span>
-<span id="338">338</span>
-<span id="339">339</span>
-<span id="340">340</span>
-<span id="341">341</span>
-<span id="342">342</span>
-<span id="343">343</span>
-<span id="344">344</span>
-<span id="345">345</span>
-<span id="346">346</span>
-<span id="347">347</span>
-<span id="348">348</span>
-<span id="349">349</span>
-<span id="350">350</span>
-<span id="351">351</span>
-<span id="352">352</span>
-<span id="353">353</span>
-<span id="354">354</span>
-<span id="355">355</span>
-<span id="356">356</span>
-<span id="357">357</span>
-<span id="358">358</span>
-<span id="359">359</span>
-<span id="360">360</span>
-<span id="361">361</span>
-<span id="362">362</span>
-<span id="363">363</span>
-<span id="364">364</span>
-<span id="365">365</span>
-<span id="366">366</span>
-<span id="367">367</span>
-<span id="368">368</span>
-<span id="369">369</span>
-<span id="370">370</span>
-<span id="371">371</span>
-<span id="372">372</span>
-<span id="373">373</span>
-<span id="374">374</span>
-<span id="375">375</span>
-<span id="376">376</span>
-<span id="377">377</span>
-<span id="378">378</span>
-<span id="379">379</span>
-<span id="380">380</span>
-<span id="381">381</span>
-<span id="382">382</span>
-<span id="383">383</span>
-<span id="384">384</span>
-<span id="385">385</span>
-<span id="386">386</span>
-<span id="387">387</span>
-<span id="388">388</span>
-<span id="389">389</span>
-<span id="390">390</span>
-<span id="391">391</span>
-<span id="392">392</span>
-<span id="393">393</span>
-<span id="394">394</span>
-<span id="395">395</span>
-<span id="396">396</span>
-<span id="397">397</span>
-<span id="398">398</span>
-<span id="399">399</span>
-<span id="400">400</span>
-<span id="401">401</span>
-<span id="402">402</span>
-<span id="403">403</span>
-<span id="404">404</span>
-<span id="405">405</span>
-<span id="406">406</span>
 </pre><div class="example-wrap"><pre class="rust ">
-<span class="kw">use</span> <span class="kw">crate</span>::{<span class="ident">IdentFragment</span>, <span class="ident">ToTokens</span>, <span class="ident">TokenStreamExt</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">ops</span>::<span class="ident">BitOr</span>;
-
+<span class="kw">use</span> <span class="ident">ext</span>::<span class="ident">TokenStreamExt</span>;
 <span class="kw">pub</span> <span class="kw">use</span> <span class="ident">proc_macro2</span>::<span class="kw-2">*</span>;
 
-<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">HasIterator</span>; <span class="comment">// True</span>
-<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">ThereIsNoIteratorInRepetition</span>; <span class="comment">// False</span>
-
-<span class="kw">impl</span> <span class="ident">BitOr</span><span class="op">&lt;</span><span class="ident">ThereIsNoIteratorInRepetition</span><span class="op">&gt;</span> <span class="kw">for</span> <span class="ident">ThereIsNoIteratorInRepetition</span> {
-    <span class="kw">type</span> <span class="ident">Output</span> <span class="op">=</span> <span class="ident">ThereIsNoIteratorInRepetition</span>;
-    <span class="kw">fn</span> <span class="ident">bitor</span>(<span class="self">self</span>, <span class="ident">_rhs</span>: <span class="ident">ThereIsNoIteratorInRepetition</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">ThereIsNoIteratorInRepetition</span> {
-        <span class="ident">ThereIsNoIteratorInRepetition</span>
-    }
-}
-
-<span class="kw">impl</span> <span class="ident">BitOr</span><span class="op">&lt;</span><span class="ident">ThereIsNoIteratorInRepetition</span><span class="op">&gt;</span> <span class="kw">for</span> <span class="ident">HasIterator</span> {
-    <span class="kw">type</span> <span class="ident">Output</span> <span class="op">=</span> <span class="ident">HasIterator</span>;
-    <span class="kw">fn</span> <span class="ident">bitor</span>(<span class="self">self</span>, <span class="ident">_rhs</span>: <span class="ident">ThereIsNoIteratorInRepetition</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">HasIterator</span> {
-        <span class="ident">HasIterator</span>
-    }
-}
-
-<span class="kw">impl</span> <span class="ident">BitOr</span><span class="op">&lt;</span><span class="ident">HasIterator</span><span class="op">&gt;</span> <span class="kw">for</span> <span class="ident">ThereIsNoIteratorInRepetition</span> {
-    <span class="kw">type</span> <span class="ident">Output</span> <span class="op">=</span> <span class="ident">HasIterator</span>;
-    <span class="kw">fn</span> <span class="ident">bitor</span>(<span class="self">self</span>, <span class="ident">_rhs</span>: <span class="ident">HasIterator</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">HasIterator</span> {
-        <span class="ident">HasIterator</span>
-    }
-}
-
-<span class="kw">impl</span> <span class="ident">BitOr</span><span class="op">&lt;</span><span class="ident">HasIterator</span><span class="op">&gt;</span> <span class="kw">for</span> <span class="ident">HasIterator</span> {
-    <span class="kw">type</span> <span class="ident">Output</span> <span class="op">=</span> <span class="ident">HasIterator</span>;
-    <span class="kw">fn</span> <span class="ident">bitor</span>(<span class="self">self</span>, <span class="ident">_rhs</span>: <span class="ident">HasIterator</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">HasIterator</span> {
-        <span class="ident">HasIterator</span>
-    }
-}
-
-<span class="doccomment">/// Extension traits used by the implementation of `quote!`. These are defined</span>
-<span class="doccomment">/// in separate traits, rather than as a single trait due to ambiguity issues.</span>
-<span class="doccomment">///</span>
-<span class="doccomment">/// These traits expose a `quote_into_iter` method which should allow calling</span>
-<span class="doccomment">/// whichever impl happens to be applicable. Calling that method repeatedly on</span>
-<span class="doccomment">/// the returned value should be idempotent.</span>
-<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">ext</span> {
-    <span class="kw">use</span> <span class="kw">super</span>::<span class="ident">RepInterp</span>;
-    <span class="kw">use</span> <span class="kw">super</span>::{<span class="ident">HasIterator</span> <span class="kw">as</span> <span class="ident">HasIter</span>, <span class="ident">ThereIsNoIteratorInRepetition</span> <span class="kw">as</span> <span class="ident">DoesNotHaveIter</span>};
-    <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">ToTokens</span>;
-    <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">btree_set</span>::{<span class="self">self</span>, <span class="ident">BTreeSet</span>};
-    <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">slice</span>;
-
-    <span class="doccomment">/// Extension trait providing the `quote_into_iter` method on iterators.</span>
-    <span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">RepIteratorExt</span>: <span class="ident">Iterator</span> <span class="op">+</span> <span class="ident">Sized</span> {
-        <span class="kw">fn</span> <span class="ident">quote_into_iter</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> (<span class="self">Self</span>, <span class="ident">HasIter</span>) {
-            (<span class="self">self</span>, <span class="ident">HasIter</span>)
-        }
-    }
-
-    <span class="kw">impl</span><span class="op">&lt;</span><span class="ident">T</span>: <span class="ident">Iterator</span><span class="op">&gt;</span> <span class="ident">RepIteratorExt</span> <span class="kw">for</span> <span class="ident">T</span> {}
-
-    <span class="doccomment">/// Extension trait providing the `quote_into_iter` method for</span>
-    <span class="doccomment">/// non-iterable types. These types interpolate the same value in each</span>
-    <span class="doccomment">/// iteration of the repetition.</span>
-    <span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">RepToTokensExt</span> {
-        <span class="doccomment">/// Pretend to be an iterator for the purposes of `quote_into_iter`.</span>
-        <span class="doccomment">/// This allows repeated calls to `quote_into_iter` to continue</span>
-        <span class="doccomment">/// correctly returning DoesNotHaveIter.</span>
-        <span class="kw">fn</span> <span class="ident">next</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="kw-2">&amp;</span><span class="self">Self</span><span class="op">&gt;</span> {
-            <span class="prelude-val">Some</span>(<span class="self">self</span>)
-        }
-
-        <span class="kw">fn</span> <span class="ident">quote_into_iter</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> (<span class="kw-2">&amp;</span><span class="self">Self</span>, <span class="ident">DoesNotHaveIter</span>) {
-            (<span class="self">self</span>, <span class="ident">DoesNotHaveIter</span>)
-        }
-    }
-
-    <span class="kw">impl</span><span class="op">&lt;</span><span class="ident">T</span>: <span class="ident">ToTokens</span> <span class="op">+</span> <span class="question-mark">?</span><span class="ident">Sized</span><span class="op">&gt;</span> <span class="ident">RepToTokensExt</span> <span class="kw">for</span> <span class="ident">T</span> {}
-
-    <span class="doccomment">/// Extension trait providing the `quote_into_iter` method for types that</span>
-    <span class="doccomment">/// can be referenced as an iterator.</span>
-    <span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">RepAsIteratorExt</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span><span class="op">&gt;</span> {
-        <span class="kw">type</span> <span class="ident">Iter</span>: <span class="ident">Iterator</span>;
-
-        <span class="kw">fn</span> <span class="ident">quote_into_iter</span>(<span class="kw-2">&amp;</span><span class="lifetime">&#39;q</span> <span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> (<span class="self">Self</span>::<span class="ident">Iter</span>, <span class="ident">HasIter</span>);
-    }
-
-    <span class="kw">impl</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span>, <span class="lifetime">&#39;a</span>, <span class="ident">T</span>: <span class="ident">RepAsIteratorExt</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span><span class="op">&gt;</span> <span class="op">+</span> <span class="question-mark">?</span><span class="ident">Sized</span><span class="op">&gt;</span> <span class="ident">RepAsIteratorExt</span><span class="op">&lt;</s [...]
-        <span class="kw">type</span> <span class="ident">Iter</span> <span class="op">=</span> <span class="ident">T</span>::<span class="ident">Iter</span>;
-
-        <span class="kw">fn</span> <span class="ident">quote_into_iter</span>(<span class="kw-2">&amp;</span><span class="lifetime">&#39;q</span> <span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> (<span class="self">Self</span>::<span class="ident">Iter</span>, <span class="ident">HasIter</span>) {
-            <span class="op">&lt;</span><span class="ident">T</span> <span class="kw">as</span> <span class="ident">RepAsIteratorExt</span><span class="op">&gt;</span>::<span class="ident">quote_into_iter</span>(<span class="kw-2">*</span><span class="self">self</span>)
-        }
-    }
-
-    <span class="kw">impl</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span>, <span class="lifetime">&#39;a</span>, <span class="ident">T</span>: <span class="ident">RepAsIteratorExt</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span><span class="op">&gt;</span> <span class="op">+</span> <span class="question-mark">?</span><span class="ident">Sized</span><span class="op">&gt;</span> <span class="ident">RepAsIteratorExt</span><span class="op">&lt;</s [...]
-        <span class="kw">type</span> <span class="ident">Iter</span> <span class="op">=</span> <span class="ident">T</span>::<span class="ident">Iter</span>;
-
-        <span class="kw">fn</span> <span class="ident">quote_into_iter</span>(<span class="kw-2">&amp;</span><span class="lifetime">&#39;q</span> <span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> (<span class="self">Self</span>::<span class="ident">Iter</span>, <span class="ident">HasIter</span>) {
-            <span class="op">&lt;</span><span class="ident">T</span> <span class="kw">as</span> <span class="ident">RepAsIteratorExt</span><span class="op">&gt;</span>::<span class="ident">quote_into_iter</span>(<span class="kw-2">*</span><span class="self">self</span>)
-        }
-    }
-
-    <span class="kw">impl</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span>, <span class="ident">T</span>: <span class="lifetime">&#39;q</span><span class="op">&gt;</span> <span class="ident">RepAsIteratorExt</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span><span class="op">&gt;</span> <span class="kw">for</span> [<span class="ident">T</span>] {
-        <span class="kw">type</span> <span class="ident">Iter</span> <span class="op">=</span> <span class="ident">slice</span>::<span class="ident">Iter</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span>, <span class="ident">T</span><span class="op">&gt;</span>;
-
-        <span class="kw">fn</span> <span class="ident">quote_into_iter</span>(<span class="kw-2">&amp;</span><span class="lifetime">&#39;q</span> <span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> (<span class="self">Self</span>::<span class="ident">Iter</span>, <span class="ident">HasIter</span>) {
-            (<span class="self">self</span>.<span class="ident">iter</span>(), <span class="ident">HasIter</span>)
-        }
-    }
-
-    <span class="kw">impl</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span>, <span class="ident">T</span>: <span class="lifetime">&#39;q</span><span class="op">&gt;</span> <span class="ident">RepAsIteratorExt</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span><span class="op">&gt;</span> <span class="kw">for</span> <span class="ident">Vec</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> {
-        <span class="kw">type</span> <span class="ident">Iter</span> <span class="op">=</span> <span class="ident">slice</span>::<span class="ident">Iter</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span>, <span class="ident">T</span><span class="op">&gt;</span>;
-
-        <span class="kw">fn</span> <span class="ident">quote_into_iter</span>(<span class="kw-2">&amp;</span><span class="lifetime">&#39;q</span> <span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> (<span class="self">Self</span>::<span class="ident">Iter</span>, <span class="ident">HasIter</span>) {
-            (<span class="self">self</span>.<span class="ident">iter</span>(), <span class="ident">HasIter</span>)
-        }
-    }
-
-    <span class="kw">impl</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span>, <span class="ident">T</span>: <span class="lifetime">&#39;q</span><span class="op">&gt;</span> <span class="ident">RepAsIteratorExt</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span><span class="op">&gt;</span> <span class="kw">for</span> <span class="ident">BTreeSet</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> {
-        <span class="kw">type</span> <span class="ident">Iter</span> <span class="op">=</span> <span class="ident">btree_set</span>::<span class="ident">Iter</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span>, <span class="ident">T</span><span class="op">&gt;</span>;
-
-        <span class="kw">fn</span> <span class="ident">quote_into_iter</span>(<span class="kw-2">&amp;</span><span class="lifetime">&#39;q</span> <span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> (<span class="self">Self</span>::<span class="ident">Iter</span>, <span class="ident">HasIter</span>) {
-            (<span class="self">self</span>.<span class="ident">iter</span>(), <span class="ident">HasIter</span>)
-        }
-    }
-
-    <span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">array_rep_slice</span> {
-        ($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">l</span>:<span class="ident">tt</span>)<span class="kw-2">*</span>) <span class="op">=</span><span class="op">&gt;</span> {
-            $(
-                <span class="kw">impl</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span>, <span class="ident">T</span>: <span class="lifetime">&#39;q</span><span class="op">&gt;</span> <span class="ident">RepAsIteratorExt</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span><span class="op">&gt;</span> <span class="kw">for</span> [<span class="ident">T</span>; <span class="macro-nonterminal">$</span><span class="macro-nonterminal">l</span>] {
-                    <span class="kw">type</span> <span class="ident">Iter</span> <span class="op">=</span> <span class="ident">slice</span>::<span class="ident">Iter</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span>, <span class="ident">T</span><span class="op">&gt;</span>;
-
-                    <span class="kw">fn</span> <span class="ident">quote_into_iter</span>(<span class="kw-2">&amp;</span><span class="lifetime">&#39;q</span> <span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> (<span class="self">Self</span>::<span class="ident">Iter</span>, <span class="ident">HasIter</span>) {
-                        (<span class="self">self</span>.<span class="ident">iter</span>(), <span class="ident">HasIter</span>)
-                    }
-                }
-            )<span class="op">*</span>
-        }
-    }
-
-    <span class="macro">array_rep_slice</span><span class="macro">!</span>(
-        <span class="number">0</span> <span class="number">1</span> <span class="number">2</span> <span class="number">3</span> <span class="number">4</span> <span class="number">5</span> <span class="number">6</span> <span class="number">7</span> <span class="number">8</span> <span class="number">9</span> <span class="number">10</span> <span class="number">11</span> <span class="number">12</span> <span class="number">13</span> <span class="number">14</span> <span class="number">15</span [...]
-        <span class="number">17</span> <span class="number">18</span> <span class="number">19</span> <span class="number">20</span> <span class="number">21</span> <span class="number">22</span> <span class="number">23</span> <span class="number">24</span> <span class="number">25</span> <span class="number">26</span> <span class="number">27</span> <span class="number">28</span> <span class="number">29</span> <span class="number">30</span> <span class="number">31</span> <span class="number [...]
-    );
-
-    <span class="kw">impl</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span>, <span class="ident">T</span>: <span class="ident">RepAsIteratorExt</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span><span class="op">&gt;</span><span class="op">&gt;</span> <span class="ident">RepAsIteratorExt</span><span class="op">&lt;</span><span class="lifetime">&#39;q</span><span class="op">&gt;</span> <span class="kw">for</span> <span class="ident">RepInterp</span> [...]
-        <span class="kw">type</span> <span class="ident">Iter</span> <span class="op">=</span> <span class="ident">T</span>::<span class="ident">Iter</span>;
-
-        <span class="kw">fn</span> <span class="ident">quote_into_iter</span>(<span class="kw-2">&amp;</span><span class="lifetime">&#39;q</span> <span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> (<span class="self">Self</span>::<span class="ident">Iter</span>, <span class="ident">HasIter</span>) {
-            <span class="self">self</span>.<span class="number">0</span>.<span class="ident">quote_into_iter</span>()
-        }
-    }
-}
-
-<span class="comment">// Helper type used within interpolations to allow for repeated binding names.</span>
-<span class="comment">// Implements the relevant traits, and exports a dummy `next()` method.</span>
-<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Copy</span>, <span class="ident">Clone</span>)]</span>
-<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">RepInterp</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span>(<span class="kw">pub</span> <span class="ident">T</span>);
-
-<span class="kw">impl</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> <span class="ident">RepInterp</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> {
-    <span class="comment">// This method is intended to look like `Iterator::next`, and is called when</span>
-    <span class="comment">// a name is bound multiple times, as the previous binding will shadow the</span>
-    <span class="comment">// original `Iterator` object. This allows us to avoid advancing the</span>
-    <span class="comment">// iterator multiple times per iteration.</span>
-    <span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">next</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> {
-        <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="number">0</span>)
-    }
-}
-
-<span class="kw">impl</span><span class="op">&lt;</span><span class="ident">T</span>: <span class="ident">Iterator</span><span class="op">&gt;</span> <span class="ident">Iterator</span> <span class="kw">for</span> <span class="ident">RepInterp</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> {
-    <span class="kw">type</span> <span class="ident">Item</span> <span class="op">=</span> <span class="ident">T</span>::<span class="ident">Item</span>;
-
-    <span class="kw">fn</span> <span class="ident">next</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="self">Self</span>::<span class="ident">Item</span><span class="op">&gt;</span> {
-        <span class="self">self</span>.<span class="number">0</span>.<span class="ident">next</span>()
-    }
-}
-
-<span class="kw">impl</span><span class="op">&lt;</span><span class="ident">T</span>: <span class="ident">ToTokens</span><span class="op">&gt;</span> <span class="ident">ToTokens</span> <span class="kw">for</span> <span class="ident">RepInterp</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> {
-    <span class="kw">fn</span> <span class="ident">to_tokens</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>) {
-        <span class="self">self</span>.<span class="number">0</span>.<span class="ident">to_tokens</span>(<span class="ident">tokens</span>);
-    }
+<span class="kw">fn</span> <span class="ident">is_ident_start</span>(<span class="ident">c</span>: <span class="ident">u8</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">bool</span> {
+    (<span class="string">b&#39;a&#39;</span> <span class="op">&lt;</span><span class="op">=</span> <span class="ident">c</span> <span class="kw-2">&amp;</span><span class="op">&amp;</span> <span class="ident">c</span> <span class="op">&lt;</span><span class="op">=</span> <span class="string">b&#39;z&#39;</span>) <span class="op">|</span><span class="op">|</span> (<span class="string">b&#39;A&#39;</span> <span class="op">&lt;</span><span class="op">=</span> <span class="ident">c</span> < [...]
 }
 
-<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">push_group</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>, <span class="ident">delimiter</span>: <span class="ident">Delimiter</span>, <span class="ident">inner</span>: <span class="ident">TokenStream</span>) {
-    <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">Group</span>::<span class="ident">new</span>(<span class="ident">delimiter</span>, <span class="ident">inner</span>));
+<span class="kw">fn</span> <span class="ident">is_ident_continue</span>(<span class="ident">c</span>: <span class="ident">u8</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">bool</span> {
+    (<span class="string">b&#39;a&#39;</span> <span class="op">&lt;</span><span class="op">=</span> <span class="ident">c</span> <span class="kw-2">&amp;</span><span class="op">&amp;</span> <span class="ident">c</span> <span class="op">&lt;</span><span class="op">=</span> <span class="string">b&#39;z&#39;</span>) <span class="op">|</span><span class="op">|</span> (<span class="string">b&#39;A&#39;</span> <span class="op">&lt;</span><span class="op">=</span> <span class="ident">c</span> < [...]
 }
 
-<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">push_group_spanned</span>(
-    <span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>,
-    <span class="ident">span</span>: <span class="ident">Span</span>,
-    <span class="ident">delimiter</span>: <span class="ident">Delimiter</span>,
-    <span class="ident">inner</span>: <span class="ident">TokenStream</span>,
-) {
-    <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">g</span> <span class="op">=</span> <span class="ident">Group</span>::<span class="ident">new</span>(<span class="ident">delimiter</span>, <span class="ident">inner</span>);
-    <span class="ident">g</span>.<span class="ident">set_span</span>(<span class="ident">span</span>);
-    <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">g</span>);
+<span class="kw">fn</span> <span class="ident">is_ident</span>(<span class="ident">token</span>: <span class="kw-2">&amp;</span><span class="ident">str</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">bool</span> {
+    <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">iter</span> <span class="op">=</span> <span class="ident">token</span>.<span class="ident">bytes</span>();
+    <span class="kw">let</span> <span class="ident">first_ok</span> <span class="op">=</span> <span class="ident">iter</span>.<span class="ident">next</span>().<span class="ident">map</span>(<span class="ident">is_ident_start</span>).<span class="ident">unwrap_or</span>(<span class="bool-val">false</span>);
+    
+    <span class="ident">first_ok</span> <span class="kw-2">&amp;</span><span class="op">&amp;</span> <span class="ident">iter</span>.<span class="ident">all</span>(<span class="ident">is_ident_continue</span>)
 }
 
-<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">parse</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>, <span class="ident">s</span>: <span class="kw-2">&amp;</span><span class="ident">str</span>) {
-    <span class="kw">let</span> <span class="ident">s</span>: <span class="ident">TokenStream</span> <span class="op">=</span> <span class="ident">s</span>.<span class="ident">parse</span>().<span class="ident">expect</span>(<span class="string">&quot;invalid token stream&quot;</span>);
-    <span class="ident">tokens</span>.<span class="ident">extend</span>(<span class="ident">s</span>);
-}
-
-<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">parse_spanned</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>, <span class="ident">span</span>: <span class="ident">Span</span>, <span class="ident">s</span>: <span class="kw-2">&amp;</span><span class="ident">str</span>) {
-    <span class="kw">let</span> <span class="ident">s</span>: <span class="ident">TokenStream</span> <span class="op">=</span> <span class="ident">s</span>.<span class="ident">parse</span>().<span class="ident">expect</span>(<span class="string">&quot;invalid token stream&quot;</span>);
-    <span class="ident">tokens</span>.<span class="ident">extend</span>(<span class="ident">s</span>.<span class="ident">into_iter</span>().<span class="ident">map</span>(<span class="op">|</span><span class="kw-2">mut</span> <span class="ident">t</span><span class="op">|</span> {
-        <span class="ident">t</span>.<span class="ident">set_span</span>(<span class="ident">span</span>);
-        <span class="ident">t</span>
-    }));
-}
-
-<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">push_ident</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>, <span class="ident">s</span>: <span class="kw-2">&amp;</span><span class="ident">str</span>) {
-    <span class="comment">// Optimization over `mk_ident`, as `s` is guaranteed to be a valid ident.</span>
-    <span class="comment">//</span>
-    <span class="comment">// FIXME: When `Ident::new_raw` becomes stable, this method should be</span>
-    <span class="comment">// updated to call it when available.</span>
-    <span class="kw">if</span> <span class="ident">s</span>.<span class="ident">starts_with</span>(<span class="string">&quot;r#&quot;</span>) {
-        <span class="ident">parse</span>(<span class="ident">tokens</span>, <span class="ident">s</span>);
-    } <span class="kw">else</span> {
-        <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">Ident</span>::<span class="ident">new</span>(<span class="ident">s</span>, <span class="ident">Span</span>::<span class="ident">call_site</span>()));
-    }
-}
-
-<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">push_ident_spanned</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>, <span class="ident">span</span>: <span class="ident">Span</span>, <span class="ident">s</span>: <span class="kw-2">&amp;</span><span class="ident">str</span>) {
-    <span class="comment">// Optimization over `mk_ident`, as `s` is guaranteed to be a valid ident.</span>
-    <span class="comment">//</span>
-    <span class="comment">// FIXME: When `Ident::new_raw` becomes stable, this method should be</span>
-    <span class="comment">// updated to call it when available.</span>
-    <span class="kw">if</span> <span class="ident">s</span>.<span class="ident">starts_with</span>(<span class="string">&quot;r#&quot;</span>) {
-        <span class="ident">parse_spanned</span>(<span class="ident">tokens</span>, <span class="ident">span</span>, <span class="ident">s</span>);
-    } <span class="kw">else</span> {
+<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">parse</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>, <span class="ident">span</span>: <span class="ident">Span</span>, <span class="ident">s</span>: <span class="kw-2">&amp;</span><span class="ident">str</span>) {
+    <span class="kw">if</span> <span class="ident">is_ident</span>(<span class="ident">s</span>) {
+        <span class="comment">// Fast path, since idents are the most common token.</span>
         <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">Ident</span>::<span class="ident">new</span>(<span class="ident">s</span>, <span class="ident">span</span>));
+    } <span class="kw">else</span> {
+        <span class="kw">let</span> <span class="ident">s</span>: <span class="ident">TokenStream</span> <span class="op">=</span> <span class="ident">s</span>.<span class="ident">parse</span>().<span class="ident">expect</span>(<span class="string">&quot;invalid token stream&quot;</span>);
+        <span class="ident">tokens</span>.<span class="ident">extend</span>(<span class="ident">s</span>.<span class="ident">into_iter</span>().<span class="ident">map</span>(<span class="op">|</span><span class="kw-2">mut</span> <span class="ident">t</span><span class="op">|</span> {
+            <span class="ident">t</span>.<span class="ident">set_span</span>(<span class="ident">span</span>);
+            <span class="ident">t</span>
+        }));
     }
 }
 
 <span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">push_punct</span> {
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">spanned</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">char1</span>:<span class="ident">tt</span>) <span class="op">=</span><span class="op">&gt;</span> {
-        <span class="kw">pub</span> <span class="kw">fn</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>) {
-            <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">Punct</span>::<span class="ident">new</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">char1</span>, <span class="ident">Spacing</span>::<span class="ident">Alone</span>));
-        }
-        <span class="kw">pub</span> <span class="kw">fn</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">spanned</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>, <span class="ident">span</span>: <span class="ident">Span</span>) {
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">char1</span>:<span class="ident">tt</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="kw">pub</span> <span class="kw">fn</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>, <span class="ident">span</span>: <span class="ident">Span</span>) {
             <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">punct</span> <span class="op">=</span> <span class="ident">Punct</span>::<span class="ident">new</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">char1</span>, <span class="ident">Spacing</span>::<span class="ident">Alone</span>);
             <span class="ident">punct</span>.<span class="ident">set_span</span>(<span class="ident">span</span>);
             <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">punct</span>);
         }
     };
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">spanned</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">char1</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">char2</span>:<span class="ident">tt</span>) <span class="op">=< [...]
-        <span class="kw">pub</span> <span class="kw">fn</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>) {
-            <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">Punct</span>::<span class="ident">new</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">char1</span>, <span class="ident">Spacing</span>::<span class="ident">Joint</span>));
-            <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">Punct</span>::<span class="ident">new</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">char2</span>, <span class="ident">Spacing</span>::<span class="ident">Alone</span>));
-        }
-        <span class="kw">pub</span> <span class="kw">fn</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">spanned</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>, <span class="ident">span</span>: <span class="ident">Span</span>) {
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">char1</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">char2</span>:<span class="ident">tt</span>) <span class="op">=</span><span class="op">&gt;</span> {
+        <span class="kw">pub</span> <span class="kw">fn</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>, <span class="ident">span</span>: <span class="ident">Span</span>) {
             <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">punct</span> <span class="op">=</span> <span class="ident">Punct</span>::<span class="ident">new</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">char1</span>, <span class="ident">Spacing</span>::<span class="ident">Joint</span>);
             <span class="ident">punct</span>.<span class="ident">set_span</span>(<span class="ident">span</span>);
             <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">punct</span>);
@@ -664,13 +156,8 @@
             <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">punct</span>);
         }
     };
-    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">spanned</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">char1</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">char2</span>:<span class="ident">tt</span> <span class="macro-n [...]
-        <span class="kw">pub</span> <span class="kw">fn</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>) {
-            <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">Punct</span>::<span class="ident">new</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">char1</span>, <span class="ident">Spacing</span>::<span class="ident">Joint</span>));
-            <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">Punct</span>::<span class="ident">new</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">char2</span>, <span class="ident">Spacing</span>::<span class="ident">Joint</span>));
-            <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">Punct</span>::<span class="ident">new</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">char3</span>, <span class="ident">Spacing</span>::<span class="ident">Alone</span>));
-        }
-        <span class="kw">pub</span> <span class="kw">fn</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">spanned</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>, <span class="ident">span</span>: <span class="ident">Span</span>) {
+    (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>:<span class="ident">ident</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">char1</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">char2</span>:<span class="ident">tt</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">char3</span>:<span class="ident">tt</span>) <span class="op">=</span [...]
+        <span class="kw">pub</span> <span class="kw">fn</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>(<span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>, <span class="ident">span</span>: <span class="ident">Span</span>) {
             <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">punct</span> <span class="op">=</span> <span class="ident">Punct</span>::<span class="ident">new</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">char1</span>, <span class="ident">Spacing</span>::<span class="ident">Joint</span>);
             <span class="ident">punct</span>.<span class="ident">set_span</span>(<span class="ident">span</span>);
             <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">punct</span>);
@@ -684,132 +171,49 @@
     };
 }
 
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_add</span> <span class="ident">push_add_spanned</span> <span class="string">&#39;+&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_add_eq</span> <span class="ident">push_add_eq_spanned</span> <span class="string">&#39;+&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_and</span> <span class="ident">push_and_spanned</span> <span class="string">&#39;&amp;&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_and_and</span> <span class="ident">push_and_and_spanned</span> <span class="string">&#39;&amp;&#39;</span> <span class="string">&#39;&amp;&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_and_eq</span> <span class="ident">push_and_eq_spanned</span> <span class="string">&#39;&amp;&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_at</span> <span class="ident">push_at_spanned</span> <span class="string">&#39;@&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_bang</span> <span class="ident">push_bang_spanned</span> <span class="string">&#39;!&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_caret</span> <span class="ident">push_caret_spanned</span> <span class="string">&#39;^&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_caret_eq</span> <span class="ident">push_caret_eq_spanned</span> <span class="string">&#39;^&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_colon</span> <span class="ident">push_colon_spanned</span> <span class="string">&#39;:&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_colon2</span> <span class="ident">push_colon2_spanned</span> <span class="string">&#39;:&#39;</span> <span class="string">&#39;:&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_comma</span> <span class="ident">push_comma_spanned</span> <span class="string">&#39;,&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_div</span> <span class="ident">push_div_spanned</span> <span class="string">&#39;/&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_div_eq</span> <span class="ident">push_div_eq_spanned</span> <span class="string">&#39;/&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_dot</span> <span class="ident">push_dot_spanned</span> <span class="string">&#39;.&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_dot2</span> <span class="ident">push_dot2_spanned</span> <span class="string">&#39;.&#39;</span> <span class="string">&#39;.&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_dot3</span> <span class="ident">push_dot3_spanned</span> <span class="string">&#39;.&#39;</span> <span class="string">&#39;.&#39;</span> <span class="string">&#39;.&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_dot_dot_eq</span> <span class="ident">push_dot_dot_eq_spanned</span> <span class="string">&#39;.&#39;</span> <span class="string">&#39;.&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_eq</span> <span class="ident">push_eq_spanned</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_eq_eq</span> <span class="ident">push_eq_eq_spanned</span> <span class="string">&#39;=&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_ge</span> <span class="ident">push_ge_spanned</span> <span class="string">&#39;&gt;&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_gt</span> <span class="ident">push_gt_spanned</span> <span class="string">&#39;&gt;&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_le</span> <span class="ident">push_le_spanned</span> <span class="string">&#39;&lt;&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_lt</span> <span class="ident">push_lt_spanned</span> <span class="string">&#39;&lt;&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_mul_eq</span> <span class="ident">push_mul_eq_spanned</span> <span class="string">&#39;*&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_ne</span> <span class="ident">push_ne_spanned</span> <span class="string">&#39;!&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_or</span> <span class="ident">push_or_spanned</span> <span class="string">&#39;|&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_or_eq</span> <span class="ident">push_or_eq_spanned</span> <span class="string">&#39;|&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_or_or</span> <span class="ident">push_or_or_spanned</span> <span class="string">&#39;|&#39;</span> <span class="string">&#39;|&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_pound</span> <span class="ident">push_pound_spanned</span> <span class="string">&#39;#&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_question</span> <span class="ident">push_question_spanned</span> <span class="string">&#39;?&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_rarrow</span> <span class="ident">push_rarrow_spanned</span> <span class="string">&#39;-&#39;</span> <span class="string">&#39;&gt;&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_larrow</span> <span class="ident">push_larrow_spanned</span> <span class="string">&#39;&lt;&#39;</span> <span class="string">&#39;-&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_rem</span> <span class="ident">push_rem_spanned</span> <span class="string">&#39;%&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_rem_eq</span> <span class="ident">push_rem_eq_spanned</span> <span class="string">&#39;%&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_fat_arrow</span> <span class="ident">push_fat_arrow_spanned</span> <span class="string">&#39;=&#39;</span> <span class="string">&#39;&gt;&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_semi</span> <span class="ident">push_semi_spanned</span> <span class="string">&#39;;&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_shl</span> <span class="ident">push_shl_spanned</span> <span class="string">&#39;&lt;&#39;</span> <span class="string">&#39;&lt;&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_shl_eq</span> <span class="ident">push_shl_eq_spanned</span> <span class="string">&#39;&lt;&#39;</span> <span class="string">&#39;&lt;&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_shr</span> <span class="ident">push_shr_spanned</span> <span class="string">&#39;&gt;&#39;</span> <span class="string">&#39;&gt;&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_shr_eq</span> <span class="ident">push_shr_eq_spanned</span> <span class="string">&#39;&gt;&#39;</span> <span class="string">&#39;&gt;&#39;</span> <span class="string">&#39;=&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_star</span> <span class="ident">push_star_spanned</span> <span class="string">&#39;*&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_sub</span> <span class="ident">push_sub_spanned</span> <span class="string">&#39;-&#39;</span>);
-<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_sub_eq</span> <span class="ident">push_sub_eq_spanned</span> <span class="string">&#39;-&#39;</span> <span class="string">&#39;=&#39;</span>);
-
-<span class="comment">// Helper method for constructing identifiers from the `format_ident!` macro,</span>
-<span class="comment">// handling `r#` prefixes.</span>
-<span class="comment">//</span>
-<span class="comment">// Directly parsing the input string may produce a valid identifier,</span>
-<span class="comment">// although the input string was invalid, due to ignored characters such as</span>
-<span class="comment">// whitespace and comments. Instead, we always create a non-raw identifier</span>
-<span class="comment">// to validate that the string is OK, and only parse again if needed.</span>
-<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">mk_ident</span>(<span class="ident">id</span>: <span class="kw-2">&amp;</span><span class="ident">str</span>, <span class="ident">span</span>: <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">Span</span><span class="op">&gt;</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">Ident</span> {
-    <span class="kw">let</span> <span class="ident">span</span> <span class="op">=</span> <span class="ident">span</span>.<span class="ident">unwrap_or_else</span>(<span class="ident">Span</span>::<span class="ident">call_site</span>);
-
-    <span class="kw">let</span> <span class="ident">is_raw</span> <span class="op">=</span> <span class="ident">id</span>.<span class="ident">starts_with</span>(<span class="string">&quot;r#&quot;</span>);
-    <span class="kw">let</span> <span class="ident">unraw</span> <span class="op">=</span> <span class="ident">Ident</span>::<span class="ident">new</span>(<span class="kw">if</span> <span class="ident">is_raw</span> { <span class="kw-2">&amp;</span><span class="ident">id</span>[<span class="number">2</span>..] } <span class="kw">else</span> { <span class="ident">id</span> }, <span class="ident">span</span>);
-    <span class="kw">if</span> <span class="op">!</span><span class="ident">is_raw</span> {
-        <span class="kw">return</span> <span class="ident">unraw</span>;
-    }
-
-    <span class="comment">// At this point, the identifier is raw, and the unraw-ed version of it was</span>
-    <span class="comment">// successfully converted into an identifier. Try to produce a valid raw</span>
-    <span class="comment">// identifier by running the `TokenStream` parser, and unwrapping the first</span>
-    <span class="comment">// token as an `Ident`.</span>
-    <span class="comment">//</span>
-    <span class="comment">// FIXME: When `Ident::new_raw` becomes stable, this method should be</span>
-    <span class="comment">// updated to call it when available.</span>
-    <span class="kw">match</span> <span class="ident">id</span>.<span class="ident">parse</span>::<span class="op">&lt;</span><span class="ident">TokenStream</span><span class="op">&gt;</span>() {
-        <span class="prelude-val">Ok</span>(<span class="ident">ts</span>) <span class="op">=</span><span class="op">&gt;</span> {
-            <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">iter</span> <span class="op">=</span> <span class="ident">ts</span>.<span class="ident">into_iter</span>();
-            <span class="kw">match</span> (<span class="ident">iter</span>.<span class="ident">next</span>(), <span class="ident">iter</span>.<span class="ident">next</span>()) {
-                (<span class="prelude-val">Some</span>(<span class="ident">TokenTree</span>::<span class="ident">Ident</span>(<span class="kw-2">mut</span> <span class="ident">id</span>)), <span class="prelude-val">None</span>) <span class="op">=</span><span class="op">&gt;</span> {
-                    <span class="ident">id</span>.<span class="ident">set_span</span>(<span class="ident">span</span>);
-                    <span class="ident">id</span>
-                }
-                <span class="kw">_</span> <span class="op">=</span><span class="op">&gt;</span> <span class="macro">unreachable</span><span class="macro">!</span>(<span class="string">&quot;valid raw ident fails to parse&quot;</span>),
-            }
-        }
-        <span class="prelude-val">Err</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="macro">unreachable</span><span class="macro">!</span>(<span class="string">&quot;valid raw ident fails to parse&quot;</span>),
-    }
-}
-
-<span class="comment">// Adapts from `IdentFragment` to `fmt::Display` for use by the `format_ident!`</span>
-<span class="comment">// macro, and exposes span information from these fragments.</span>
-<span class="comment">//</span>
-<span class="comment">// This struct also has forwarding implementations of the formatting traits</span>
-<span class="comment">// `Octal`, `LowerHex`, `UpperHex`, and `Binary` to allow for their use within</span>
-<span class="comment">// `format_ident!`.</span>
-<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Copy</span>, <span class="ident">Clone</span>)]</span>
-<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">IdentFragmentAdapter</span><span class="op">&lt;</span><span class="ident">T</span>: <span class="ident">IdentFragment</span><span class="op">&gt;</span>(<span class="kw">pub</span> <span class="ident">T</span>);
-
-<span class="kw">impl</span><span class="op">&lt;</span><span class="ident">T</span>: <span class="ident">IdentFragment</span><span class="op">&gt;</span> <span class="ident">IdentFragmentAdapter</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> {
-    <span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">span</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">Span</span><span class="op">&gt;</span> {
-        <span class="self">self</span>.<span class="number">0</span>.<span class="ident">span</span>()
-    }
-}
-
-<span class="kw">impl</span><span class="op">&lt;</span><span class="ident">T</span>: <span class="ident">IdentFragment</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">IdentFragmentAdapter</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> {
-    <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
-        <span class="ident">IdentFragment</span>::<span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>.<span class="number">0</span>, <span class="ident">f</span>)
-    }
-}
-
-<span class="kw">impl</span><span class="op">&lt;</span><span class="ident">T</span>: <span class="ident">IdentFragment</span> <span class="op">+</span> <span class="ident">fmt</span>::<span class="ident">Octal</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="ident">Octal</span> <span class="kw">for</span> <span class="ident">IdentFragmentAdapter</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> {
-    <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
-        <span class="ident">fmt</span>::<span class="ident">Octal</span>::<span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>.<span class="number">0</span>, <span class="ident">f</span>)
-    }
-}
-
-<span class="kw">impl</span><span class="op">&lt;</span><span class="ident">T</span>: <span class="ident">IdentFragment</span> <span class="op">+</span> <span class="ident">fmt</span>::<span class="ident">LowerHex</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="ident">LowerHex</span> <span class="kw">for</span> <span class="ident">IdentFragmentAdapter</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> {
-    <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
-        <span class="ident">fmt</span>::<span class="ident">LowerHex</span>::<span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>.<span class="number">0</span>, <span class="ident">f</span>)
-    }
-}
-
-<span class="kw">impl</span><span class="op">&lt;</span><span class="ident">T</span>: <span class="ident">IdentFragment</span> <span class="op">+</span> <span class="ident">fmt</span>::<span class="ident">UpperHex</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="ident">UpperHex</span> <span class="kw">for</span> <span class="ident">IdentFragmentAdapter</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> {
-    <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
-        <span class="ident">fmt</span>::<span class="ident">UpperHex</span>::<span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>.<span class="number">0</span>, <span class="ident">f</span>)
-    }
-}
-
-<span class="kw">impl</span><span class="op">&lt;</span><span class="ident">T</span>: <span class="ident">IdentFragment</span> <span class="op">+</span> <span class="ident">fmt</span>::<span class="ident">Binary</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="ident">Binary</span> <span class="kw">for</span> <span class="ident">IdentFragmentAdapter</span><span class="op">&lt;</span><span class="ident">T</span><span class="op">&gt;</span> {
-    <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
-        <span class="ident">fmt</span>::<span class="ident">Binary</span>::<span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>.<span class="number">0</span>, <span class="ident">f</span>)
-    }
-}
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_add</span> <span class="string">&#39;+&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_add_eq</span> <span class="string">&#39;+&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_and</span> <span class="string">&#39;&amp;&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_and_and</span> <span class="string">&#39;&amp;&#39;</span> <span class="string">&#39;&amp;&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_and_eq</span> <span class="string">&#39;&amp;&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_at</span> <span class="string">&#39;@&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_bang</span> <span class="string">&#39;!&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_caret</span> <span class="string">&#39;^&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_caret_eq</span> <span class="string">&#39;^&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_colon</span> <span class="string">&#39;:&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_colon2</span> <span class="string">&#39;:&#39;</span> <span class="string">&#39;:&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_comma</span> <span class="string">&#39;,&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_div</span> <span class="string">&#39;/&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_div_eq</span> <span class="string">&#39;/&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_dot</span> <span class="string">&#39;.&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_dot2</span> <span class="string">&#39;.&#39;</span> <span class="string">&#39;.&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_dot3</span> <span class="string">&#39;.&#39;</span> <span class="string">&#39;.&#39;</span> <span class="string">&#39;.&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_dot_dot_eq</span> <span class="string">&#39;.&#39;</span> <span class="string">&#39;.&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_eq</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_eq_eq</span> <span class="string">&#39;=&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_ge</span> <span class="string">&#39;&gt;&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_gt</span> <span class="string">&#39;&gt;&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_le</span> <span class="string">&#39;&lt;&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_lt</span> <span class="string">&#39;&lt;&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_mul_eq</span> <span class="string">&#39;*&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_ne</span> <span class="string">&#39;!&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_or</span> <span class="string">&#39;|&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_or_eq</span> <span class="string">&#39;|&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_or_or</span> <span class="string">&#39;|&#39;</span> <span class="string">&#39;|&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_pound</span> <span class="string">&#39;#&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_question</span> <span class="string">&#39;?&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_rarrow</span> <span class="string">&#39;-&#39;</span> <span class="string">&#39;&gt;&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_larrow</span> <span class="string">&#39;&lt;&#39;</span> <span class="string">&#39;-&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_rem</span> <span class="string">&#39;%&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_rem_eq</span> <span class="string">&#39;%&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_fat_arrow</span> <span class="string">&#39;=&#39;</span> <span class="string">&#39;&gt;&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_semi</span> <span class="string">&#39;;&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_shl</span> <span class="string">&#39;&lt;&#39;</span> <span class="string">&#39;&lt;&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_shl_eq</span> <span class="string">&#39;&lt;&#39;</span> <span class="string">&#39;&lt;&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_shr</span> <span class="string">&#39;&gt;&#39;</span> <span class="string">&#39;&gt;&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_shr_eq</span> <span class="string">&#39;&gt;&#39;</span> <span class="string">&#39;&gt;&#39;</span> <span class="string">&#39;=&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_star</span> <span class="string">&#39;*&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_sub</span> <span class="string">&#39;-&#39;</span>);
+<span class="macro">push_punct</span><span class="macro">!</span>(<span class="ident">push_sub_eq</span> <span class="string">&#39;-&#39;</span> <span class="string">&#39;=&#39;</span>);
 </pre></div>
 </section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "quote";</script><script src="../../aliases.js"></script><script src="../../main.js"></script><script src="../../source-script.js"></script><script src="../../source-files.js"></script><script defer src="../../search-index.js"></script></body></html>
\ No newline at end of file
diff --git a/api-docs/crates-enclave/src/quote/to_tokens.rs.html b/api-docs/crates-enclave/src/quote/to_tokens.rs.html
index 3fb0edb..7aecb73 100644
--- a/api-docs/crates-enclave/src/quote/to_tokens.rs.html
+++ b/api-docs/crates-enclave/src/quote/to_tokens.rs.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source to the Rust file `/home/mssun/incubator-mesatee/build/cmake_tomls/sgx_trusted_lib/third_party/crates-sgx/vendor/quote/src/to_tokens.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>to_tokens.rs.html -- source</title><link rel="stylesheet" type="text/css" href [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source to the Rust file `/home/mssun/incubator-mesatee/build/cmake_tomls/sgx_trusted_lib/third_party/crates-sgx/vendor/quote-0.6.13/src/to_tokens.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>to_tokens.rs.html -- source</title><link rel="stylesheet" type="text/cs [...]
 <span id="2">  2</span>
 <span id="3">  3</span>
 <span id="4">  4</span>
@@ -203,10 +203,6 @@
 <span id="203">203</span>
 <span id="204">204</span>
 <span id="205">205</span>
-<span id="206">206</span>
-<span id="207">207</span>
-<span id="208">208</span>
-<span id="209">209</span>
 </pre><div class="example-wrap"><pre class="rust ">
 <span class="kw">use</span> <span class="kw">super</span>::<span class="ident">TokenStreamExt</span>;
 
@@ -216,7 +212,7 @@
 
 <span class="kw">use</span> <span class="ident">proc_macro2</span>::{<span class="ident">Group</span>, <span class="ident">Ident</span>, <span class="ident">Literal</span>, <span class="ident">Punct</span>, <span class="ident">Span</span>, <span class="ident">TokenStream</span>, <span class="ident">TokenTree</span>};
 
-<span class="doccomment">/// Types that can be interpolated inside a `quote!` invocation.</span>
+<span class="doccomment">/// Types that can be interpolated inside a [`quote!`] invocation.</span>
 <span class="doccomment">///</span>
 <span class="doccomment">/// [`quote!`]: macro.quote.html</span>
 <span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">ToTokens</span> {
@@ -232,7 +228,7 @@
     <span class="doccomment">/// Example implementation for a struct representing Rust paths like</span>
     <span class="doccomment">/// `std::cmp::PartialEq`:</span>
     <span class="doccomment">///</span>
-    <span class="doccomment">/// ```</span>
+    <span class="doccomment">/// ```edition2018</span>
     <span class="doccomment">/// use proc_macro2::{TokenTree, Spacing, Span, Punct, TokenStream};</span>
     <span class="doccomment">/// use quote::{TokenStreamExt, ToTokens};</span>
     <span class="doccomment">///</span>
@@ -268,21 +264,13 @@
     <span class="doccomment">///</span>
     <span class="doccomment">/// This method is implicitly implemented using `to_tokens`, and acts as a</span>
     <span class="doccomment">/// convenience method for consumers of the `ToTokens` trait.</span>
-    <span class="kw">fn</span> <span class="ident">to_token_stream</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">TokenStream</span> {
-        <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tokens</span> <span class="op">=</span> <span class="ident">TokenStream</span>::<span class="ident">new</span>();
-        <span class="self">self</span>.<span class="ident">to_tokens</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">tokens</span>);
-        <span class="ident">tokens</span>
-    }
-
-    <span class="doccomment">/// Convert `self` directly into a `TokenStream` object.</span>
-    <span class="doccomment">///</span>
-    <span class="doccomment">/// This method is implicitly implemented using `to_tokens`, and acts as a</span>
-    <span class="doccomment">/// convenience method for consumers of the `ToTokens` trait.</span>
     <span class="kw">fn</span> <span class="ident">into_token_stream</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">TokenStream</span>
     <span class="kw">where</span>
         <span class="self">Self</span>: <span class="ident">Sized</span>,
     {
-        <span class="self">self</span>.<span class="ident">to_token_stream</span>()
+        <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tokens</span> <span class="op">=</span> <span class="ident">TokenStream</span>::<span class="ident">new</span>();
+        <span class="self">self</span>.<span class="ident">to_tokens</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">tokens</span>);
+        <span class="ident">tokens</span>
     }
 }
 
@@ -351,20 +339,24 @@
     <span class="ident">i16</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">i16_suffixed</span>
     <span class="ident">i32</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">i32_suffixed</span>
     <span class="ident">i64</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">i64_suffixed</span>
-    <span class="ident">i128</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">i128_suffixed</span>
     <span class="ident">isize</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">isize_suffixed</span>
 
     <span class="ident">u8</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">u8_suffixed</span>
     <span class="ident">u16</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">u16_suffixed</span>
     <span class="ident">u32</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">u32_suffixed</span>
     <span class="ident">u64</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">u64_suffixed</span>
-    <span class="ident">u128</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">u128_suffixed</span>
     <span class="ident">usize</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">usize_suffixed</span>
 
     <span class="ident">f32</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">f32_suffixed</span>
     <span class="ident">f64</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">f64_suffixed</span>
 }
 
+<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">integer128</span>)]</span>
+<span class="macro">primitive</span><span class="macro">!</span> {
+    <span class="ident">i128</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">i128_suffixed</span>
+    <span class="ident">u128</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">u128_suffixed</span>
+}
+
 <span class="kw">impl</span> <span class="ident">ToTokens</span> <span class="kw">for</span> <span class="ident">char</span> {
     <span class="kw">fn</span> <span class="ident">to_tokens</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">tokens</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">TokenStream</span>) {
         <span class="ident">tokens</span>.<span class="ident">append</span>(<span class="ident">Literal</span>::<span class="ident">character</span>(<span class="kw-2">*</span><span class="self">self</span>));
diff --git a/api-docs/crates-enclave/src/teaclave_attestation/report.rs.html b/api-docs/crates-enclave/src/teaclave_attestation/report.rs.html
index 30228d0..da4f37a 100644
--- a/api-docs/crates-enclave/src/teaclave_attestation/report.rs.html
+++ b/api-docs/crates-enclave/src/teaclave_attestation/report.rs.html
@@ -693,6 +693,72 @@
 <span id="693">693</span>
 <span id="694">694</span>
 <span id="695">695</span>
+<span id="696">696</span>
+<span id="697">697</span>
+<span id="698">698</span>
+<span id="699">699</span>
+<span id="700">700</span>
+<span id="701">701</span>
+<span id="702">702</span>
+<span id="703">703</span>
+<span id="704">704</span>
+<span id="705">705</span>
+<span id="706">706</span>
+<span id="707">707</span>
+<span id="708">708</span>
+<span id="709">709</span>
+<span id="710">710</span>
+<span id="711">711</span>
+<span id="712">712</span>
+<span id="713">713</span>
+<span id="714">714</span>
+<span id="715">715</span>
+<span id="716">716</span>
+<span id="717">717</span>
+<span id="718">718</span>
+<span id="719">719</span>
+<span id="720">720</span>
+<span id="721">721</span>
+<span id="722">722</span>
+<span id="723">723</span>
+<span id="724">724</span>
+<span id="725">725</span>
+<span id="726">726</span>
+<span id="727">727</span>
+<span id="728">728</span>
+<span id="729">729</span>
+<span id="730">730</span>
+<span id="731">731</span>
+<span id="732">732</span>
+<span id="733">733</span>
+<span id="734">734</span>
+<span id="735">735</span>
+<span id="736">736</span>
+<span id="737">737</span>
+<span id="738">738</span>
+<span id="739">739</span>
+<span id="740">740</span>
+<span id="741">741</span>
+<span id="742">742</span>
+<span id="743">743</span>
+<span id="744">744</span>
+<span id="745">745</span>
+<span id="746">746</span>
+<span id="747">747</span>
+<span id="748">748</span>
+<span id="749">749</span>
+<span id="750">750</span>
+<span id="751">751</span>
+<span id="752">752</span>
+<span id="753">753</span>
+<span id="754">754</span>
+<span id="755">755</span>
+<span id="756">756</span>
+<span id="757">757</span>
+<span id="758">758</span>
+<span id="759">759</span>
+<span id="760">760</span>
+<span id="761">761</span>
 </pre><div class="example-wrap"><pre class="rust ">
 <span class="comment">// Licensed to the Apache Software Foundation (ASF) under one</span>
 <span class="comment">// or more contributor license agreements.  See the NOTICE file</span>
@@ -722,6 +788,7 @@
 <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">EndorsedAttestationReport</span>;
 
 <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">convert</span>::<span class="ident">TryFrom</span>;
+<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
 <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">time</span>::<span class="kw-2">*</span>;
 <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;mesalock_sgx&quot;</span>)]</span>
 <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">untrusted</span>::<span class="ident">time</span>::<span class="ident">SystemTimeEx</span>;
@@ -793,6 +860,35 @@
     }
 }
 
+<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">SgxEnclaveReport</span> {
+    <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op">&lt;</span><span class="lifetime">&#39;_</span><span class="op">&gt;</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="prelude-ty">Res [...]
+        <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;CPU version (hex): {}&quot;</span>, <span class="ident">hex</span>::<span class="ident">encode</span>(<span class="self">self</span>.<span class="ident">cpu_svn</span>))<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;SSA Frame extended feature set: {}&quot;</span>, <span class="self">self</span>.<span class="ident">misc_select</span>)<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(
+            <span class="ident">f</span>,
+            <span class="string">&quot;Attributes of the enclave (hex): {}&quot;</span>,
+            <span class="ident">hex</span>::<span class="ident">encode</span>(<span class="self">self</span>.<span class="ident">attributes</span>)
+        )<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(
+            <span class="ident">f</span>,
+            <span class="string">&quot;Enclave measurement (hex): {}&quot;</span>,
+            <span class="ident">hex</span>::<span class="ident">encode</span>(<span class="self">self</span>.<span class="ident">mr_enclave</span>)
+        )<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(
+            <span class="ident">f</span>,
+            <span class="string">&quot;Hash of the enclave singing key (hex): {}&quot;</span>,
+            <span class="ident">hex</span>::<span class="ident">encode</span>(<span class="self">self</span>.<span class="ident">mr_signer</span>)
+        )<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;Enclave product ID: {}&quot;</span>, <span class="self">self</span>.<span class="ident">isv_prod_id</span>)<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;Security version of the enclave: {}&quot;</span>, <span class="self">self</span>.<span class="ident">isv_svn</span>)<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(
+            <span class="ident">f</span>,
+            <span class="string">&quot;The value of REPORT (hex): {}&quot;</span>,
+            <span class="ident">hex</span>::<span class="ident">encode</span>(<span class="kw-2">&amp;</span><span class="self">self</span>.<span class="ident">report_data</span>.<span class="ident">to_vec</span>())
+        )
+    }
+}
+
 <span class="kw">impl</span> <span class="ident">SgxEnclaveReport</span> {
     <span class="doccomment">/// Parse bytes of report into `SgxEnclaveReport`.</span>
     <span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">parse_from</span><span class="op">&lt;</span><span class="lifetime">&#39;a</span><span class="op">&gt;</span>(<span class="ident">bytes</span>: <span class="kw-2">&amp;</span><span class="lifetime">&#39;a</span> [<span class="ident">u8</span>]) <span class="op">-</span><span class="op">&gt;</span> <span class="prelude-ty">Result</span><span class="op">&lt;</span><span class="self">Self</span><span class="op">& [...]
@@ -892,6 +988,18 @@
     <span class="ident">P384_384</span>,
 }
 
+<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">SgxQuoteVersion</span> {
+    <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op">&lt;</span><span class="lifetime">&#39;_</span><span class="op">&gt;</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">std</spa [...]
+        <span class="kw">match</span> <span class="self">self</span> {
+            <span class="ident">SgxQuoteVersion</span>::<span class="ident">V1</span>(<span class="ident">key_type</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;Version 1, EPID {:?} signature&quot;</span>, <span class="ident">key_type</span>),
+            <span class="ident">SgxQuoteVersion</span>::<span class="ident">V2</span>(<span class="ident">key_type</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;Version 2, EPID {:?} signature&quot;</span>, <span class="ident">key_type</span>),
+            <span class="ident">SgxQuoteVersion</span>::<span class="ident">V3</span>(<span class="ident">key_type</span>) <span class="op">=</span><span class="op">&gt;</span> {
+                <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;Version 3, ECDSA {:?} attestation key&quot;</span>, <span class="ident">key_type</span>)
+            }
+        }
+    }
+}
+
 <span class="doccomment">/// SGX Quote status</span>
 <span class="attribute">#[<span class="ident">derive</span>(<span class="ident">PartialEq</span>, <span class="ident">Debug</span>)]</span>
 <span class="kw">pub</span> <span class="kw">enum</span> <span class="ident">SgxQuoteStatus</span> {
@@ -1032,7 +1140,23 @@
         <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;isv_svn_pce: {}&quot;</span>, <span class="self">self</span>.<span class="ident">isv_svn_pce</span>)<span class="question-mark">?</span>;
         <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;qe_vendor_id: {}&quot;</span>, <span class="self">self</span>.<span class="ident">qe_vendor_id</span>)<span class="question-mark">?</span>;
         <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;user_data: {:?}&quot;</span>, <span class="kw-2">&amp;</span><span class="self">self</span>.<span class="ident">user_data</span>)<span class="question-mark">?</span>;
-        <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;isv_enclave_report: \n{:?}&quot;</span>, <span class="self">self</span>.<span class="ident">isv_enclave_report</span>)
+        <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;isv_enclave_report: \n{:?}&quot;</span>, <span class="self">self</span>.<span class="ident">isv_enclave_report</span>)
+    }
+}
+
+<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">SgxQuote</span> {
+    <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op">&lt;</span><span class="lifetime">&#39;_</span><span class="op">&gt;</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="prelude-ty">Res [...]
+        <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;Version and signature/key type: {}&quot;</span>, <span class="self">self</span>.<span class="ident">version</span>)<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;GID or reserved: {}&quot;</span>, <span class="self">self</span>.<span class="ident">gid</span>)<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;Security version of the QE: {}&quot;</span>, <span class="self">self</span>.<span class="ident">isv_svn_qe</span>)<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;Security version of the PCE: {}&quot;</span>, <span class="self">self</span>.<span class="ident">isv_svn_pce</span>)<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;ID of the QE vendor: {}&quot;</span>, <span class="self">self</span>.<span class="ident">qe_vendor_id</span>)<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(
+            <span class="ident">f</span>,
+            <span class="string">&quot;Custom user-defined data (hex): {}&quot;</span>,
+            <span class="ident">hex</span>::<span class="ident">encode</span>(<span class="kw-2">&amp;</span><span class="self">self</span>.<span class="ident">user_data</span>)
+        )<span class="question-mark">?</span>;
+        <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;{}&quot;</span>, <span class="self">self</span>.<span class="ident">isv_enclave_report</span>)
     }
 }
 
@@ -1128,6 +1252,14 @@
     <span class="kw">pub</span> <span class="ident">sgx_quote_body</span>: <span class="ident">SgxQuote</span>,
 }
 
+<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">AttestationReport</span> {
+    <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op">&lt;</span><span class="lifetime">&#39;_</span><span class="op">&gt;</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">fmt</span>::<span class="prelude-ty">Res [...]
+        <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;Report Freshness: {:?}&quot;</span>, <span class="self">self</span>.<span class="ident">freshness</span>)<span class="question-mark">?</span>;
+        <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;SGX Quote status: {:?}&quot;</span>, <span class="self">self</span>.<span class="ident">sgx_quote_status</span>)<span class="question-mark">?</span>;
+        <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">&quot;{}&quot;</span>, <span class="self">self</span>.<span class="ident">sgx_quote_body</span>)
+    }
+}
+
 <span class="kw">impl</span> <span class="ident">AttestationReport</span> {
     <span class="doccomment">/// Construct a AttestationReport from a X509 certificate and verify</span>
     <span class="doccomment">/// attestation report with the report_ca_cert which is from the attestation</span>
diff --git a/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxEcdsaQuoteAkType.html b/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxEcdsaQuoteAkType.html
index 86305b4..03bd752 100644
--- a/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxEcdsaQuoteAkType.html
+++ b/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxEcdsaQuoteAkType.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SgxEcdsaQuoteAkType` enum in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, SgxEcdsaQuoteAkType"><title>teaclave_attestation::report::SgxEcdsaQuoteAkType - Rust</title><link rel="stylesheet" type="text/css" href=". [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SgxEcdsaQuoteAkType` enum in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, SgxEcdsaQuoteAkType"><title>teaclave_attestation::report::SgxEcdsaQuoteAkType - Rust</title><link rel="stylesheet" type="text/css" href=". [...]
     P256_256,
     P384_384,
 }</pre></div><div class='docblock'><p>ECDSA attestation key type</p>
@@ -6,10 +6,10 @@
                    Variants<a href='#variants' class='anchor'></a></h2>
 <div id="variant.P256_256" class="variant small-section-header"><a href="#variant.P256_256" class="anchor field"></a><code id='P256_256.v'>P256_256</code></div><div class='docblock'><p>ECDSA-256-with-P-256 curve</p>
 </div><div id="variant.P384_384" class="variant small-section-header"><a href="#variant.P384_384" class="anchor field"></a><code id='P384_384.v'>P384_384</code></div><div class='docblock'><p>ECDSA-384-with-P-384 curve</p>
-</div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxEcdsaQuoteAkType.html" title="enum teaclave_attestation::report::SgxEcdsaQuo [...]
-</div></div><h3 id='impl-PartialEq%3CSgxEcdsaQuoteAkType%3E' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="../../teaclave_attestation/report/enum.SgxEcdsaQuoteAkType.html" title="enum teaclave_attestation::report::SgxEcdsaQuoteAkType">SgxEcdsaQuoteAkType</a>&gt; for <a class="enum" href="../../teaclave_attestation/report/enum.SgxEcdsa [...]
+</div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxEcdsaQuoteAkType.html" title="enum teaclave_attestation::report::SgxEcdsaQuo [...]
+</div></div><h3 id='impl-PartialEq%3CSgxEcdsaQuoteAkType%3E' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="../../teaclave_attestation/report/enum.SgxEcdsaQuoteAkType.html" title="enum teaclave_attestation::report::SgxEcdsaQuoteAkType">SgxEcdsaQuoteAkType</a>&gt; for <a class="enum" href="../../teaclave_attestation/report/enum.SgxEcdsa [...]
 </div><h4 id='method.ne' class="method hidden"><code id='ne.v'><span class="docblock attributes">#[must_use]</span>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: &amp;Rhs) -&gt; bool</code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#215-217' title='goto source code'>[src]</a></h4><div class='docblock hi [...]
-</div></div><h3 id='impl-StructuralPartialEq' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxEcdsaQuoteAkType.html" title="enum teaclave_attestation::report::SgxEcdsaQuoteAkType">SgxEcdsaQuoteAkType</a></code><a href='#impl-StructuralPartialEq' class='anchor [...]
+</div></div><h3 id='impl-StructuralPartialEq' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxEcdsaQuoteAkType.html" title="enum teaclave_attestation::report::SgxEcdsaQuoteAkType">SgxEcdsaQuoteAkType</a></code><a href='#impl-StructuralPartialEq' class='anchor [...]
 </div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' clas [...]
 </div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowM [...]
 </div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#565-569' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><cod [...]
diff --git a/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxEpidQuoteSigType.html b/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxEpidQuoteSigType.html
index 354ab02..68a3b38 100644
--- a/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxEpidQuoteSigType.html
+++ b/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxEpidQuoteSigType.html
@@ -1,13 +1,13 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SgxEpidQuoteSigType` enum in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, SgxEpidQuoteSigType"><title>teaclave_attestation::report::SgxEpidQuoteSigType - Rust</title><link rel="stylesheet" type="text/css" href=". [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SgxEpidQuoteSigType` enum in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, SgxEpidQuoteSigType"><title>teaclave_attestation::report::SgxEpidQuoteSigType - Rust</title><link rel="stylesheet" type="text/css" href=". [...]
     Unlinkable,
     Linkable,
 }</pre></div><div class='docblock'><p>Intel EPID attestation signature type</p>
 </div><h2 id='variants' class='variants small-section-header'>
                    Variants<a href='#variants' class='anchor'></a></h2>
-<div id="variant.Unlinkable" class="variant small-section-header"><a href="#variant.Unlinkable" class="anchor field"></a><code id='Unlinkable.v'>Unlinkable</code></div><div id="variant.Linkable" class="variant small-section-header"><a href="#variant.Linkable" class="anchor field"></a><code id='Linkable.v'>Linkable</code></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id= [...]
-</div></div><h3 id='impl-PartialEq%3CSgxEpidQuoteSigType%3E' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="../../teaclave_attestation/report/enum.SgxEpidQuoteSigType.html" title="enum teaclave_attestation::report::SgxEpidQuoteSigType">SgxEpidQuoteSigType</a>&gt; for <a class="enum" href="../../teaclave_attestation/report/enum.SgxEpidQ [...]
+<div id="variant.Unlinkable" class="variant small-section-header"><a href="#variant.Unlinkable" class="anchor field"></a><code id='Unlinkable.v'>Unlinkable</code></div><div id="variant.Linkable" class="variant small-section-header"><a href="#variant.Linkable" class="anchor field"></a><code id='Linkable.v'>Linkable</code></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id= [...]
+</div></div><h3 id='impl-PartialEq%3CSgxEpidQuoteSigType%3E' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="../../teaclave_attestation/report/enum.SgxEpidQuoteSigType.html" title="enum teaclave_attestation::report::SgxEpidQuoteSigType">SgxEpidQuoteSigType</a>&gt; for <a class="enum" href="../../teaclave_attestation/report/enum.SgxEpidQ [...]
 </div><h4 id='method.ne' class="method hidden"><code id='ne.v'><span class="docblock attributes">#[must_use]</span>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: &amp;Rhs) -&gt; bool</code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#215-217' title='goto source code'>[src]</a></h4><div class='docblock hi [...]
-</div></div><h3 id='impl-StructuralPartialEq' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxEpidQuoteSigType.html" title="enum teaclave_attestation::report::SgxEpidQuoteSigType">SgxEpidQuoteSigType</a></code><a href='#impl-StructuralPartialEq' class='anchor [...]
+</div></div><h3 id='impl-StructuralPartialEq' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxEpidQuoteSigType.html" title="enum teaclave_attestation::report::SgxEpidQuoteSigType">SgxEpidQuoteSigType</a></code><a href='#impl-StructuralPartialEq' class='anchor [...]
 </div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' clas [...]
 </div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowM [...]
 </div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#565-569' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><cod [...]
diff --git a/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxQuoteStatus.html b/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxQuoteStatus.html
index 33967c2..4d3a924 100644
--- a/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxQuoteStatus.html
+++ b/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxQuoteStatus.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SgxQuoteStatus` enum in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, SgxQuoteStatus"><title>teaclave_attestation::report::SgxQuoteStatus - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize. [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SgxQuoteStatus` enum in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, SgxQuoteStatus"><title>teaclave_attestation::report::SgxQuoteStatus - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize. [...]
     OK,
     SignatureInvalid,
     GroupRevoked,
@@ -81,11 +81,11 @@ to be at the latest TCB level.</p>
 </div><div id="variant.InvalidSignature" class="variant small-section-header"><a href="#variant.InvalidSignature" class="anchor field"></a><code id='InvalidSignature.v'>InvalidSignature</code></div><div class='docblock'><p>DCAP specific quote status. The signature over the application report is
 invalid.</p>
 </div><div id="variant.UnknownBadStatus" class="variant small-section-header"><a href="#variant.UnknownBadStatus" class="anchor field"></a><code id='UnknownBadStatus.v'>UnknownBadStatus</code></div><div class='docblock'><p>Other unknown bad status.</p>
-</div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteStatus.html" title="enum teaclave_attestation::report::SgxQuoteStatus"> [...]
-</div></div><h3 id='impl-From%3C%26%27_%20str%3E' class='impl'><code class='in-band'>impl&lt;'_&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;&amp;'_ str&gt; for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteStatus.html" title="enum teaclave_attestation::report::SgxQuoteStatus">SgxQuoteStatus</a></code><a href='#impl-From%3C%26%27_%20str%3E' class='anchor'></a><a class='srcli [...]
-</div></div><h3 id='impl-PartialEq%3CSgxQuoteStatus%3E' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteStatus.html" title="enum teaclave_attestation::report::SgxQuoteStatus">SgxQuoteStatus</a>&gt; for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteStatus.html" title=" [...]
+</div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteStatus.html" title="enum teaclave_attestation::report::SgxQuoteStatus"> [...]
+</div></div><h3 id='impl-From%3C%26%27_%20str%3E' class='impl'><code class='in-band'>impl&lt;'_&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;&amp;'_ str&gt; for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteStatus.html" title="enum teaclave_attestation::report::SgxQuoteStatus">SgxQuoteStatus</a></code><a href='#impl-From%3C%26%27_%20str%3E' class='anchor'></a><a class='srcli [...]
+</div></div><h3 id='impl-PartialEq%3CSgxQuoteStatus%3E' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteStatus.html" title="enum teaclave_attestation::report::SgxQuoteStatus">SgxQuoteStatus</a>&gt; for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteStatus.html" title=" [...]
 </div><h4 id='method.ne' class="method hidden"><code id='ne.v'><span class="docblock attributes">#[must_use]</span>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: &amp;Rhs) -&gt; bool</code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#215-217' title='goto source code'>[src]</a></h4><div class='docblock hi [...]
-</div></div><h3 id='impl-StructuralPartialEq' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteStatus.html" title="enum teaclave_attestation::report::SgxQuoteStatus">SgxQuoteStatus</a></code><a href='#impl-StructuralPartialEq' class='anchor'></a><a class= [...]
+</div></div><h3 id='impl-StructuralPartialEq' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteStatus.html" title="enum teaclave_attestation::report::SgxQuoteStatus">SgxQuoteStatus</a></code><a href='#impl-StructuralPartialEq' class='anchor'></a><a class= [...]
 </div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' clas [...]
 </div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowM [...]
 </div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#565-569' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from-1' class="method hidden"><c [...]
diff --git a/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxQuoteVersion.html b/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxQuoteVersion.html
index e532e21..472a572 100644
--- a/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxQuoteVersion.html
+++ b/api-docs/crates-enclave/teaclave_attestation/report/enum.SgxQuoteVersion.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SgxQuoteVersion` enum in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, SgxQuoteVersion"><title>teaclave_attestation::report::SgxQuoteVersion - Rust</title><link rel="stylesheet" type="text/css" href="../../normali [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SgxQuoteVersion` enum in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, SgxQuoteVersion"><title>teaclave_attestation::report::SgxQuoteVersion - Rust</title><link rel="stylesheet" type="text/css" href="../../normali [...]
     V1(<a class="enum" href="../../teaclave_attestation/report/enum.SgxEpidQuoteSigType.html" title="enum teaclave_attestation::report::SgxEpidQuoteSigType">SgxEpidQuoteSigType</a>),
     V2(<a class="enum" href="../../teaclave_attestation/report/enum.SgxEpidQuoteSigType.html" title="enum teaclave_attestation::report::SgxEpidQuoteSigType">SgxEpidQuoteSigType</a>),
     V3(<a class="enum" href="../../teaclave_attestation/report/enum.SgxEcdsaQuoteAkType.html" title="enum teaclave_attestation::report::SgxEcdsaQuoteAkType">SgxEcdsaQuoteAkType</a>),
@@ -8,15 +8,17 @@
 <div id="variant.V1" class="variant small-section-header"><a href="#variant.V1" class="anchor field"></a><code id='V1.v'>V1(<a class="enum" href="../../teaclave_attestation/report/enum.SgxEpidQuoteSigType.html" title="enum teaclave_attestation::report::SgxEpidQuoteSigType">SgxEpidQuoteSigType</a>)</code></div><div class='docblock'><p>EPID quote version</p>
 </div><div id="variant.V2" class="variant small-section-header"><a href="#variant.V2" class="anchor field"></a><code id='V2.v'>V2(<a class="enum" href="../../teaclave_attestation/report/enum.SgxEpidQuoteSigType.html" title="enum teaclave_attestation::report::SgxEpidQuoteSigType">SgxEpidQuoteSigType</a>)</code></div><div class='docblock'><p>EPID quote version</p>
 </div><div id="variant.V3" class="variant small-section-header"><a href="#variant.V3" class="anchor field"></a><code id='V3.v'>V3(<a class="enum" href="../../teaclave_attestation/report/enum.SgxEcdsaQuoteAkType.html" title="enum teaclave_attestation::report::SgxEcdsaQuoteAkType">SgxEcdsaQuoteAkType</a>)</code></div><div class='docblock'><p>ECDSA quote version</p>
-</div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteVersion.html" title="enum teaclave_attestation::report::SgxQuoteVersion [...]
-</div></div><h3 id='impl-PartialEq%3CSgxQuoteVersion%3E' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteVersion.html" title="enum teaclave_attestation::report::SgxQuoteVersion">SgxQuoteVersion</a>&gt; for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteVersion.html" ti [...]
-</div><h4 id='method.ne' class="method hidden"><code id='ne.v'>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: &amp;<a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteVersion.html" title="enum teaclave_attestation::report::SgxQuoteVersion">SgxQuoteVersion</a>) -&gt; bool</code><a class='srclink' href='../../src/teaclave_attestation/report.rs.html#173' title='goto source code'>[src]</a></h4><d [...]
-</div></div><h3 id='impl-StructuralPartialEq' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteVersion.html" title="enum teaclave_attestation::report::SgxQuoteVersion">SgxQuoteVersion</a></code><a href='#impl-StructuralPartialEq' class='anchor'></a><a cla [...]
+</div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteVersion.html" title="enum teaclave_attestation::report::SgxQuoteVersion [...]
+</div></div><h3 id='impl-Display' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteVersion.html" title="enum teaclave_attestation::report::SgxQuoteVersion">SgxQuoteVersion</a></code><a href='#impl-Display' class='anchor'></a><a class='srclink' href='../../src/teaclave_attestation/report.rs.html#2 [...]
+</div></div><h3 id='impl-PartialEq%3CSgxQuoteVersion%3E' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteVersion.html" title="enum teaclave_attestation::report::SgxQuoteVersion">SgxQuoteVersion</a>&gt; for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteVersion.html" ti [...]
+</div><h4 id='method.ne' class="method hidden"><code id='ne.v'>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: &amp;<a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteVersion.html" title="enum teaclave_attestation::report::SgxQuoteVersion">SgxQuoteVersion</a>) -&gt; bool</code><a class='srclink' href='../../src/teaclave_attestation/report.rs.html#203' title='goto source code'>[src]</a></h4><d [...]
+</div></div><h3 id='impl-StructuralPartialEq' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteVersion.html" title="enum teaclave_attestation::report::SgxQuoteVersion">SgxQuoteVersion</a></code><a href='#impl-StructuralPartialEq' class='anchor'></a><a cla [...]
 </div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' clas [...]
 </div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowM [...]
 </div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#565-569' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><cod [...]
 </div></div><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Into%3CU%3E' cl [...]
 </div></div><h3 id='impl-Same%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</code><a href='#impl-Same%3CT%3E' class='anchor'></a><a class='srclink' href='../../src/typenum/type_operators.rs.html#33-35' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Output' class="type"><code id='Output.t'>type <a href='. [...]
+</div></div><h3 id='impl-ToString' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/c [...]
 </div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Try [...]
 </div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from' class='fnname'>try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">Try [...]
 </div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></code><a href=' [...]
diff --git a/api-docs/crates-enclave/teaclave_attestation/report/index.html b/api-docs/crates-enclave/teaclave_attestation/report/index.html
index cf00ba1..f95070d 100644
--- a/api-docs/crates-enclave/teaclave_attestation/report/index.html
+++ b/api-docs/crates-enclave/teaclave_attestation/report/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `report` mod in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, report"><title>teaclave_attestation::report - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type= [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `report` mod in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, report"><title>teaclave_attestation::report - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type= [...]
 The implementation is based on Attestation Service API version 4.
 https://api.trustedservices.intel.com/documents/sgx-attestation-api-spec.pdf</p>
 </div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
diff --git a/api-docs/crates-enclave/teaclave_attestation/report/struct.AttestationReport.html b/api-docs/crates-enclave/teaclave_attestation/report/struct.AttestationReport.html
index 7245503..4840089 100644
--- a/api-docs/crates-enclave/teaclave_attestation/report/struct.AttestationReport.html
+++ b/api-docs/crates-enclave/teaclave_attestation/report/struct.AttestationReport.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `AttestationReport` struct in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, AttestationReport"><title>teaclave_attestation::report::AttestationReport - Rust</title><link rel="stylesheet" type="text/css" href="../.. [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `AttestationReport` struct in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, AttestationReport"><title>teaclave_attestation::report::AttestationReport - Rust</title><link rel="stylesheet" type="text/css" href="../.. [...]
     pub freshness: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>,
     pub sgx_quote_status: <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteStatus.html" title="enum teaclave_attestation::report::SgxQuoteStatus">SgxQuoteStatus</a>,
     pub sgx_quote_body: <a class="struct" href="../../teaclave_attestation/report/struct.SgxQuote.html" title="struct teaclave_attestation::report::SgxQuote">SgxQuote</a>,
@@ -10,16 +10,18 @@ verified by remote client.</p>
 report in seconds.</p>
 </div><span id="structfield.sgx_quote_status" class="structfield small-section-header"><a href="#structfield.sgx_quote_status" class="anchor field"></a><code id="sgx_quote_status.v">sgx_quote_status: <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteStatus.html" title="enum teaclave_attestation::report::SgxQuoteStatus">SgxQuoteStatus</a></code></span><div class='docblock'><p>Quote status</p>
 </div><span id="structfield.sgx_quote_body" class="structfield small-section-header"><a href="#structfield.sgx_quote_body" class="anchor field"></a><code id="sgx_quote_body.v">sgx_quote_body: <a class="struct" href="../../teaclave_attestation/report/struct.SgxQuote.html" title="struct teaclave_attestation::report::SgxQuote">SgxQuote</a></code></span><div class='docblock'><p>Content of the quote</p>
-</div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl <a class="struct" href="../../teaclave_attestation/report/struct.AttestationReport.html" title="struct teaclave_attestation::report::AttestationReport">AttestationReport</a></code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/teaclave_attestation/report.rs.html#435-545' title='goto source code'>[src]</a></h3><d [...]
+</div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl <a class="struct" href="../../teaclave_attestation/report/struct.AttestationReport.html" title="struct teaclave_attestation::report::AttestationReport">AttestationReport</a></code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/teaclave_attestation/report.rs.html#501-611' title='goto source code'>[src]</a></h3><d [...]
 attestation report with the report_ca_cert which is from the attestation
 service provider.</p>
-</div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../teaclave_attestation/report/struct.AttestationReport.html" title="struct teaclave_attestation::report::A [...]
+</div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../teaclave_attestation/report/struct.AttestationReport.html" title="struct teaclave_attestation::report::A [...]
+</div></div><h3 id='impl-Display' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../../teaclave_attestation/report/struct.AttestationReport.html" title="struct teaclave_attestation::report::AttestationReport">AttestationReport</a></code><a href='#impl-Display' class='anchor'></a><a class='srclink' href='../../src/teaclave_attestation/repo [...]
 </div></div></div><h2 id='synthetic-implementations' class='small-section-header'>Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a></h2><div id='synthetic-implementations-list'><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl <a class="trait" href="../../sgx_tstd/panic/trait.RefUnwindSafe.html" title="trait sgx_tstd::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../teaclave_attestation/report/struct.AttestationR [...]
 </div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' clas [...]
 </div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowM [...]
 </div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#565-569' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><cod [...]
 </div></div><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Into%3CU%3E' cl [...]
 </div></div><h3 id='impl-Same%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</code><a href='#impl-Same%3CT%3E' class='anchor'></a><a class='srclink' href='../../src/typenum/type_operators.rs.html#33-35' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Output' class="type"><code id='Output.t'>type <a href='. [...]
+</div></div><h3 id='impl-ToString' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/c [...]
 </div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Try [...]
 </div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from' class='fnname'>try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">Try [...]
 </div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></code><a href=' [...]
diff --git a/api-docs/crates-enclave/teaclave_attestation/report/struct.SgxEnclaveReport.html b/api-docs/crates-enclave/teaclave_attestation/report/struct.SgxEnclaveReport.html
index ebd9cdc..4cd2df4 100644
--- a/api-docs/crates-enclave/teaclave_attestation/report/struct.SgxEnclaveReport.html
+++ b/api-docs/crates-enclave/teaclave_attestation/report/struct.SgxEnclaveReport.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SgxEnclaveReport` struct in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, SgxEnclaveReport"><title>teaclave_attestation::report::SgxEnclaveReport - Rust</title><link rel="stylesheet" type="text/css" href="../../no [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SgxEnclaveReport` struct in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, SgxEnclaveReport"><title>teaclave_attestation::report::SgxEnclaveReport - Rust</title><link rel="stylesheet" type="text/css" href="../../no [...]
     pub cpu_svn: [u8; 16],
     pub misc_select: u32,
     pub attributes: [u8; 16],
@@ -29,14 +29,16 @@ in debug mode.</p>
 </div><span id="structfield.isv_prod_id" class="structfield small-section-header"><a href="#structfield.isv_prod_id" class="anchor field"></a><code id="isv_prod_id.v">isv_prod_id: u16</code></span><div class='docblock'><p>Product ID of the enclave</p>
 </div><span id="structfield.isv_svn" class="structfield small-section-header"><a href="#structfield.isv_svn" class="anchor field"></a><code id="isv_svn.v">isv_svn: u16</code></span><div class='docblock'><p>Security version number of the enclave</p>
 </div><span id="structfield.report_data" class="structfield small-section-header"><a href="#structfield.report_data" class="anchor field"></a><code id="report_data.v">report_data: [u8; 64]</code></span><div class='docblock'><p>Set of data used for communication between enclave and target enclave</p>
-</div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl <a class="struct" href="../../teaclave_attestation/report/struct.SgxEnclaveReport.html" title="struct teaclave_attestation::report::SgxEnclaveReport">SgxEnclaveReport</a></code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/teaclave_attestation/report.rs.html#100-170' title='goto source code'>[src]</a></h3><div  [...]
-</div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../teaclave_attestation/report/struct.SgxEnclaveReport.html" title="struct teaclave_attestation::report::Sg [...]
+</div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl <a class="struct" href="../../teaclave_attestation/report/struct.SgxEnclaveReport.html" title="struct teaclave_attestation::report::SgxEnclaveReport">SgxEnclaveReport</a></code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/teaclave_attestation/report.rs.html#130-200' title='goto source code'>[src]</a></h3><div  [...]
+</div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../teaclave_attestation/report/struct.SgxEnclaveReport.html" title="struct teaclave_attestation::report::Sg [...]
+</div></div><h3 id='impl-Display' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../../teaclave_attestation/report/struct.SgxEnclaveReport.html" title="struct teaclave_attestation::report::SgxEnclaveReport">SgxEnclaveReport</a></code><a href='#impl-Display' class='anchor'></a><a class='srclink' href='../../src/teaclave_attestation/report. [...]
 </div></div></div><h2 id='synthetic-implementations' class='small-section-header'>Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a></h2><div id='synthetic-implementations-list'><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl <a class="trait" href="../../sgx_tstd/panic/trait.RefUnwindSafe.html" title="trait sgx_tstd::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../teaclave_attestation/report/struct.SgxEnclaveRe [...]
 </div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' clas [...]
 </div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowM [...]
 </div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#565-569' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><cod [...]
 </div></div><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Into%3CU%3E' cl [...]
 </div></div><h3 id='impl-Same%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</code><a href='#impl-Same%3CT%3E' class='anchor'></a><a class='srclink' href='../../src/typenum/type_operators.rs.html#33-35' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Output' class="type"><code id='Output.t'>type <a href='. [...]
+</div></div><h3 id='impl-ToString' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/c [...]
 </div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Try [...]
 </div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from' class='fnname'>try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">Try [...]
 </div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></code><a href=' [...]
diff --git a/api-docs/crates-enclave/teaclave_attestation/report/struct.SgxQuote.html b/api-docs/crates-enclave/teaclave_attestation/report/struct.SgxQuote.html
index c84aaf3..57b3b39 100644
--- a/api-docs/crates-enclave/teaclave_attestation/report/struct.SgxQuote.html
+++ b/api-docs/crates-enclave/teaclave_attestation/report/struct.SgxQuote.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SgxQuote` struct in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, SgxQuote"><title>teaclave_attestation::report::SgxQuote - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SgxQuote` struct in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, SgxQuote"><title>teaclave_attestation::report::SgxQuote - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel=" [...]
     pub version: <a class="enum" href="../../teaclave_attestation/report/enum.SgxQuoteVersion.html" title="enum teaclave_attestation::report::SgxQuoteVersion">SgxQuoteVersion</a>,
     pub gid: u32,
     pub isv_svn_qe: u16,
@@ -19,14 +19,16 @@ and verified using Intel EPID signature verification techniques.</p>
 </div><span id="structfield.qe_vendor_id" class="structfield small-section-header"><a href="#structfield.qe_vendor_id" class="anchor field"></a><code id="qe_vendor_id.v">qe_vendor_id: <a class="struct" href="../../uuid/struct.Uuid.html" title="struct uuid::Uuid">Uuid</a></code></span><div class='docblock'><p>Vendor ID of Quoting Enclave</p>
 </div><span id="structfield.user_data" class="structfield small-section-header"><a href="#structfield.user_data" class="anchor field"></a><code id="user_data.v">user_data: [u8; 20]</code></span><div class='docblock'><p>User data</p>
 </div><span id="structfield.isv_enclave_report" class="structfield small-section-header"><a href="#structfield.isv_enclave_report" class="anchor field"></a><code id="isv_enclave_report.v">isv_enclave_report: <a class="struct" href="../../teaclave_attestation/report/struct.SgxEnclaveReport.html" title="struct teaclave_attestation::report::SgxEnclaveReport">SgxEnclaveReport</a></code></span><div class='docblock'><p>Report generated by the enclave</p>
-</div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl <a class="struct" href="../../teaclave_attestation/report/struct.SgxQuote.html" title="struct teaclave_attestation::report::SgxQuote">SgxQuote</a></code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/teaclave_attestation/report.rs.html#343-419' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 i [...]
-</div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../teaclave_attestation/report/struct.SgxQuote.html" title="struct teaclave_attestation::report::SgxQuote"> [...]
+</div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl <a class="struct" href="../../teaclave_attestation/report/struct.SgxQuote.html" title="struct teaclave_attestation::report::SgxQuote">SgxQuote</a></code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/teaclave_attestation/report.rs.html#401-477' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 i [...]
+</div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../teaclave_attestation/report/struct.SgxQuote.html" title="struct teaclave_attestation::report::SgxQuote"> [...]
+</div></div><h3 id='impl-Display' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../../teaclave_attestation/report/struct.SgxQuote.html" title="struct teaclave_attestation::report::SgxQuote">SgxQuote</a></code><a href='#impl-Display' class='anchor'></a><a class='srclink' href='../../src/teaclave_attestation/report.rs.html#385-399' title=' [...]
 </div></div></div><h2 id='synthetic-implementations' class='small-section-header'>Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a></h2><div id='synthetic-implementations-list'><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl <a class="trait" href="../../sgx_tstd/panic/trait.RefUnwindSafe.html" title="trait sgx_tstd::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../teaclave_attestation/report/struct.SgxQuote.htm [...]
 </div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' clas [...]
 </div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowM [...]
 </div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#565-569' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><cod [...]
 </div></div><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Into%3CU%3E' cl [...]
 </div></div><h3 id='impl-Same%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</code><a href='#impl-Same%3CT%3E' class='anchor'></a><a class='srclink' href='../../src/typenum/type_operators.rs.html#33-35' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Output' class="type"><code id='Output.t'>type <a href='. [...]
+</div></div><h3 id='impl-ToString' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/c [...]
 </div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Try [...]
 </div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from' class='fnname'>try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">Try [...]
 </div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></code><a href=' [...]
diff --git a/api-docs/crates-enclave/teaclave_attestation/report/tests/fn.run_tests.html b/api-docs/crates-enclave/teaclave_attestation/report/tests/fn.run_tests.html
index b30a1ac..0b248cb 100644
--- a/api-docs/crates-enclave/teaclave_attestation/report/tests/fn.run_tests.html
+++ b/api-docs/crates-enclave/teaclave_attestation/report/tests/fn.run_tests.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `run_tests` fn in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, run_tests"><title>teaclave_attestation::report::tests::run_tests - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><l [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `run_tests` fn in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, run_tests"><title>teaclave_attestation::report::tests::run_tests - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><l [...]
\ No newline at end of file
diff --git a/api-docs/crates-enclave/teaclave_attestation/report/tests/index.html b/api-docs/crates-enclave/teaclave_attestation/report/tests/index.html
index 940fbdc..0b41814 100644
--- a/api-docs/crates-enclave/teaclave_attestation/report/tests/index.html
+++ b/api-docs/crates-enclave/teaclave_attestation/report/tests/index.html
@@ -1,2 +1,2 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `tests` mod in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, tests"><title>teaclave_attestation::report::tests - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="styleshee [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `tests` mod in crate `teaclave_attestation`."><meta name="keywords" content="rust, rustlang, rust-lang, tests"><title>teaclave_attestation::report::tests - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="styleshee [...]
 <table><tr class='module-item'><td><a class="fn" href="fn.run_tests.html" title='teaclave_attestation::report::tests::run_tests fn'>run_tests</a></td><td class='docblock-short'></td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../../";window.currentCrate = "teaclave_attestation";</script><script src="../../../aliases.js"></script><script src="../../../main.js"></script><script defer src="../.. [...]
\ No newline at end of file
diff --git a/api-docs/index.html b/api-docs/index.html
index b441806..25612bd 100644
--- a/api-docs/index.html
+++ b/api-docs/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/api-docs/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/13.ac9c1d26.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/14.c94a2779.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/13.ac9c1d26.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/14.c94a2779.js" defer></script>
   </body>
 </html>
diff --git a/assets/img/logo-projects-powered-by-teaclave.3fce54f9.png b/assets/img/logo-projects-powered-by-teaclave.3fce54f9.png
new file mode 100644
index 0000000..cc95dcb
Binary files /dev/null and b/assets/img/logo-projects-powered-by-teaclave.3fce54f9.png differ
diff --git a/assets/img/secure-computing-intel-sgx.51d8330e.png b/assets/img/secure-computing-intel-sgx.51d8330e.png
new file mode 100644
index 0000000..254852b
Binary files /dev/null and b/assets/img/secure-computing-intel-sgx.51d8330e.png differ
diff --git a/assets/img/teaclave-ecosystem-cn.4074b3b4.png b/assets/img/teaclave-ecosystem-cn.4074b3b4.png
new file mode 100644
index 0000000..94b4832
Binary files /dev/null and b/assets/img/teaclave-ecosystem-cn.4074b3b4.png differ
diff --git a/assets/js/10.45c58fe7.js b/assets/js/10.45c58fe7.js
new file mode 100644
index 0000000..64f5c24
--- /dev/null
+++ b/assets/js/10.45c58fe7.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{346:function(t,e,a){},390:function(t,e,a){"use strict";var n=a(346);a.n(n).a},400:function(t,e,a){"use strict";a.r(e);a(101);var n=a(352),o=a(351),i=a(350),s=a(353),r=a(186),c=a.n(r),h=a(358),u={name:"Layout",components:{Home:n.a,Page:i.a,Sidebar:s.a,Navbar:o.a},data:function(){return{isSidebarOpen:!1,paginationComponent:null}},computed:{sidebarItems:function(){return[]},pages:function(){return this.$pagination.pages},shouldShowNa [...]
\ No newline at end of file
diff --git a/assets/js/100.b4fcf686.js b/assets/js/100.b4fcf686.js
new file mode 100644
index 0000000..74f58e8
--- /dev/null
+++ b/assets/js/100.b4fcf686.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[100],{490:function(e,t,r){"use strict";r.r(t);var n=r(27),o=Object(n.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"development-tips"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#development-tips"}},[e._v("#")]),e._v(" Development Tips")]),e._v(" "),r("h2",{attrs:{id:"rls-rust-analyzer-and-ides"}},[r("a",{staticClass:"h [...]
\ No newline at end of file
diff --git a/assets/js/100.1aa52814.js b/assets/js/101.29dfba5c.js
similarity index 98%
rename from assets/js/100.1aa52814.js
rename to assets/js/101.29dfba5c.js
index a4934f9..4090e5c 100644
--- a/assets/js/100.1aa52814.js
+++ b/assets/js/101.29dfba5c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[100],{490:function(e,t,n){"use strict";n.r(t);var a=n(27),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"write-functions-in-python"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#write-functions-in-python"}},[e._v("#")]),e._v(" Write Functions in Python")]),e._v(" "),n("p",[e._v("The Teaclave platform provides  [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[101],{491:function(e,t,n){"use strict";n.r(t);var a=n(27),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"write-functions-in-python"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#write-functions-in-python"}},[e._v("#")]),e._v(" Write Functions in Python")]),e._v(" "),n("p",[e._v("The Teaclave platform provides  [...]
\ No newline at end of file
diff --git a/assets/js/102.4310d1c6.js b/assets/js/102.4310d1c6.js
deleted file mode 100644
index c6411bd..0000000
--- a/assets/js/102.4310d1c6.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[102],{489:function(e,t,a){"use strict";a.r(t);var n=a(27),s=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"my-first-function"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#my-first-function"}},[e._v("#")]),e._v(" My First Function")]),e._v(" "),a("p",[e._v("This documentation will guide you through executing you [...]
\ No newline at end of file
diff --git a/assets/js/101.25dfcf5b.js b/assets/js/102.4502ef3c.js
similarity index 96%
rename from assets/js/101.25dfcf5b.js
rename to assets/js/102.4502ef3c.js
index 549d983..690e7ff 100644
--- a/assets/js/101.25dfcf5b.js
+++ b/assets/js/102.4502ef3c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[101],{488:function(e,t,a){"use strict";a.r(t);var n=a(27),s=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"mutual-attestation-why-and-how"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mutual-attestation-why-and-how"}},[e._v("#")]),e._v(" Mutual Attestation: Why and How")]),e._v(" "),a("p",[e._v("The standard pr [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[102],{492:function(e,t,a){"use strict";a.r(t);var n=a(27),s=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"mutual-attestation-why-and-how"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mutual-attestation-why-and-how"}},[e._v("#")]),e._v(" Mutual Attestation: Why and How")]),e._v(" "),a("p",[e._v("The standard pr [...]
\ No newline at end of file
diff --git a/assets/js/103.06b17231.js b/assets/js/103.06b17231.js
new file mode 100644
index 0000000..fd637a0
--- /dev/null
+++ b/assets/js/103.06b17231.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[103],{493:function(e,t,a){"use strict";a.r(t);var n=a(27),s=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"my-first-function"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#my-first-function"}},[e._v("#")]),e._v(" My First Function")]),e._v(" "),a("p",[e._v("This documentation will guide you through executing you [...]
\ No newline at end of file
diff --git a/assets/js/103.4c43b9a7.js b/assets/js/104.efe21519.js
similarity index 96%
rename from assets/js/103.4c43b9a7.js
rename to assets/js/104.efe21519.js
index a7bf0f6..a2fe157 100644
--- a/assets/js/103.4c43b9a7.js
+++ b/assets/js/104.efe21519.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[103],{492:function(e,n,a){"use strict";a.r(n);var r=a(27),t=Object(r.a)({},(function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"papers-talks-and-related-articles"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#papers-talks-and-related-articles"}},[e._v("#")]),e._v(" Papers, Talks, and Related Articles")]),e._v(" "),a("p",[e._v("This  [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[104],{494:function(e,n,a){"use strict";a.r(n);var r=a(27),t=Object(r.a)({},(function(){var e=this,n=e.$createElement,a=e._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"papers-talks-and-related-articles"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#papers-talks-and-related-articles"}},[e._v("#")]),e._v(" Papers, Talks, and Related Articles")]),e._v(" "),a("p",[e._v("This  [...]
\ No newline at end of file
diff --git a/assets/js/104.32f10d97.js b/assets/js/105.153d15fd.js
similarity index 97%
rename from assets/js/104.32f10d97.js
rename to assets/js/105.153d15fd.js
index 804b154..c40c735 100644
--- a/assets/js/104.32f10d97.js
+++ b/assets/js/105.153d15fd.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[104],{491:function(e,t,a){"use strict";a.r(t);var n=a(27),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"rust-development-guideline"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#rust-development-guideline"}},[e._v("#")]),e._v(" Rust Development Guideline")]),e._v(" "),a("p",[e._v("This doc defines some guidel [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[105],{495:function(e,t,a){"use strict";a.r(t);var n=a(27),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"rust-development-guideline"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#rust-development-guideline"}},[e._v("#")]),e._v(" Rust Development Guideline")]),e._v(" "),a("p",[e._v("This doc defines some guidel [...]
\ No newline at end of file
diff --git a/assets/js/105.36cba433.js b/assets/js/106.6120b248.js
similarity index 99%
rename from assets/js/105.36cba433.js
rename to assets/js/106.6120b248.js
index a52632f..000533e 100644
--- a/assets/js/105.36cba433.js
+++ b/assets/js/106.6120b248.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[105],{493:function(e,t,n){"use strict";n.r(t);var a=n(27),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"teaclave-service-internals"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-service-internals"}},[e._v("#")]),e._v(" Teaclave Service Internals")]),e._v(" "),n("p",[e._v("Teaclave Service is one of t [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[106],{496:function(e,t,n){"use strict";n.r(t);var a=n(27),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"teaclave-service-internals"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-service-internals"}},[e._v("#")]),e._v(" Teaclave Service Internals")]),e._v(" "),n("p",[e._v("Teaclave Service is one of t [...]
\ No newline at end of file
diff --git a/assets/js/106.6fd9cc4d.js b/assets/js/107.8b1b92d7.js
similarity index 97%
rename from assets/js/106.6fd9cc4d.js
rename to assets/js/107.8b1b92d7.js
index 1d59005..c4d7695 100644
--- a/assets/js/106.6fd9cc4d.js
+++ b/assets/js/107.8b1b92d7.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[106],{494:function(e,t,n){"use strict";n.r(t);var a=n(27),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"threat-model"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#threat-model"}},[e._v("#")]),e._v(" Threat Model")]),e._v(" "),n("p",[e._v("With its strongest security setting applied, Teaclave guarantees data\ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[107],{497:function(e,t,n){"use strict";n.r(t);var a=n(27),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"threat-model"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#threat-model"}},[e._v("#")]),e._v(" Threat Model")]),e._v(" "),n("p",[e._v("With its strongest security setting applied, Teaclave guarantees data\ [...]
\ No newline at end of file
diff --git a/assets/js/107.d7570346.js b/assets/js/108.df38fa25.js
similarity index 92%
rename from assets/js/107.d7570346.js
rename to assets/js/108.df38fa25.js
index c849be2..63c7d09 100644
--- a/assets/js/107.d7570346.js
+++ b/assets/js/108.df38fa25.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[107],{496:function(e,t,a){"use strict";a.r(t);var s=a(27),n=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"examples"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#examples"}},[e._v("#")]),e._v(" Examples")]),e._v(" "),a("p",[e._v("In this directory, we implement some examples to illustrate how to register\ninput [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{498:function(e,t,a){"use strict";a.r(t);var s=a(27),n=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"examples"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#examples"}},[e._v("#")]),e._v(" Examples")]),e._v(" "),a("p",[e._v("In this directory, we implement some examples to illustrate how to register\ninput [...]
\ No newline at end of file
diff --git a/assets/js/108.f62e5569.js b/assets/js/109.4855ba01.js
similarity index 96%
rename from assets/js/108.f62e5569.js
rename to assets/js/109.4855ba01.js
index 081715b..33e5ec8 100644
--- a/assets/js/108.f62e5569.js
+++ b/assets/js/109.4855ba01.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{495:function(e,t,n){"use strict";n.r(t);var i=n(27),o=Object(i.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"function-executors"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#function-executors"}},[e._v("#")]),e._v(" Function Executors")]),e._v(" "),n("p",[e._v("Function executor is one of the core component in a  [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[109],{499:function(e,t,n){"use strict";n.r(t);var i=n(27),o=Object(i.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"function-executors"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#function-executors"}},[e._v("#")]),e._v(" Function Executors")]),e._v(" "),n("p",[e._v("Function executor is one of the core component in a  [...]
\ No newline at end of file
diff --git a/assets/js/10.f0acf912.js b/assets/js/11.45fce64c.js
similarity index 98%
rename from assets/js/10.f0acf912.js
rename to assets/js/11.45fce64c.js
index ffbd6f4..78dde90 100644
--- a/assets/js/10.f0acf912.js
+++ b/assets/js/11.45fce64c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{347:function(e,t,n){e.exports=n.p+"assets/img/teaclave-architecture.999fd110.png"},406:function(e,t,n){"use strict";n.r(t);var a=n(27),i=Object(a.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[a("RouterLink",{attrs:{to:"/blog/2020-10-21-announcing-teaclave-0-1-0/"}},[e._v("English")]),e._v(" | "),a("RouterLink",{attrs:{to:"/blog/2020 [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{347:function(e,t,n){e.exports=n.p+"assets/img/teaclave-architecture.999fd110.png"},409:function(e,t,n){"use strict";n.r(t);var a=n(27),i=Object(a.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[a("RouterLink",{attrs:{to:"/blog/2020-10-21-announcing-teaclave-0-1-0/"}},[e._v("English")]),e._v(" | "),a("RouterLink",{attrs:{to:"/blog/2020 [...]
\ No newline at end of file
diff --git a/assets/js/109.49d5cc0d.js b/assets/js/110.f7f22562.js
similarity index 91%
rename from assets/js/109.49d5cc0d.js
rename to assets/js/110.f7f22562.js
index 4226060..1df305e 100644
--- a/assets/js/109.49d5cc0d.js
+++ b/assets/js/110.f7f22562.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[109],{497:function(e,t,i){"use strict";i.r(t);var n=i(27),a=Object(n.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"file-agent"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#file-agent"}},[this._v("#")]),this._v(" File Agent")]),this._v(" "),t("p",[this._v("The file agent is a component in the execution service. The ma [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[110],{500:function(e,t,i){"use strict";i.r(t);var n=i(27),a=Object(n.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"file-agent"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#file-agent"}},[this._v("#")]),this._v(" File Agent")]),this._v(" "),t("p",[this._v("The file agent is a component in the execution service. The ma [...]
\ No newline at end of file
diff --git a/assets/js/110.180799c3.js b/assets/js/111.aa183108.js
similarity index 97%
rename from assets/js/110.180799c3.js
rename to assets/js/111.aa183108.js
index b05bda0..b9b412e 100644
--- a/assets/js/110.180799c3.js
+++ b/assets/js/111.aa183108.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[110],{498:function(e,t,i){"use strict";i.r(t);var n=i(27),a=Object(n.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"built-in-functions"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#built-in-functions"}},[e._v("#")]),e._v(" Built-in Functions")]),e._v(" "),i("p",[e._v("Since Teaclave is a FaaS-like platform, users can de [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[111],{501:function(e,t,i){"use strict";i.r(t);var n=i(27),a=Object(n.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"built-in-functions"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#built-in-functions"}},[e._v("#")]),e._v(" Built-in Functions")]),e._v(" "),i("p",[e._v("Since Teaclave is a FaaS-like platform, users can de [...]
\ No newline at end of file
diff --git a/assets/js/111.e39d2fda.js b/assets/js/112.32ef5016.js
similarity index 96%
rename from assets/js/111.e39d2fda.js
rename to assets/js/112.32ef5016.js
index 5880bf1..480d109 100644
--- a/assets/js/111.e39d2fda.js
+++ b/assets/js/112.32ef5016.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[111],{499:function(e,t,a){"use strict";a.r(t);var r=a(27),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"keys-and-certificates-in-teaclave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#keys-and-certificates-in-teaclave"}},[e._v("#")]),e._v(" Keys and Certificates in Teaclave")]),e._v(" "),a("p",[e._v("This di [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[112],{502:function(e,t,a){"use strict";a.r(t);var r=a(27),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"keys-and-certificates-in-teaclave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#keys-and-certificates-in-teaclave"}},[e._v("#")]),e._v(" Keys and Certificates in Teaclave")]),e._v(" "),a("p",[e._v("This di [...]
\ No newline at end of file
diff --git a/assets/js/112.65a6cb41.js b/assets/js/113.33de15ea.js
similarity index 97%
rename from assets/js/112.65a6cb41.js
rename to assets/js/113.33de15ea.js
index edfb991..be5eb13 100644
--- a/assets/js/112.65a6cb41.js
+++ b/assets/js/113.33de15ea.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[112],{505:function(e,n,t){"use strict";t.r(n);var s=t(27),a=Object(s.a)({},(function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"rpc"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#rpc"}},[e._v("#")]),e._v(" RPC")]),e._v(" "),t("p",[e._v("This directory contains an RPC implementation over attested TLS connection\nwritten in Rust, prov [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[113],{503:function(e,n,t){"use strict";t.r(n);var s=t(27),a=Object(s.a)({},(function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"rpc"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#rpc"}},[e._v("#")]),e._v(" RPC")]),e._v(" "),t("p",[e._v("This directory contains an RPC implementation over attested TLS connection\nwritten in Rust, prov [...]
\ No newline at end of file
diff --git a/assets/js/113.36916665.js b/assets/js/114.a57fbcfb.js
similarity index 91%
rename from assets/js/113.36916665.js
rename to assets/js/114.a57fbcfb.js
index ba7a54d..c36df04 100644
--- a/assets/js/113.36916665.js
+++ b/assets/js/114.a57fbcfb.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[113],{506:function(e,t,n){"use strict";n.r(t);var i=n(27),r=Object(i.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"executor-runtime"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#executor-runtime"}},[e._v("#")]),e._v(" Executor Runtime")]),e._v(" "),n("p",[e._v("This directory contains implementations of executor's runt [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[114],{504:function(e,t,n){"use strict";n.r(t);var i=n(27),r=Object(i.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"executor-runtime"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#executor-runtime"}},[e._v("#")]),e._v(" Executor Runtime")]),e._v(" "),n("p",[e._v("This directory contains implementations of executor's runt [...]
\ No newline at end of file
diff --git a/assets/js/114.76503be6.js b/assets/js/115.5f935f25.js
similarity index 86%
rename from assets/js/114.76503be6.js
rename to assets/js/115.5f935f25.js
index 28cadf3..ec3eb63 100644
--- a/assets/js/114.76503be6.js
+++ b/assets/js/115.5f935f25.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[114],{501:function(e,t,s){"use strict";s.r(t);var a=s(27),n=Object(a.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"client-sdk"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#client-sdk"}},[this._v("#")]),this._v(" Client SDK")]),this._v(" "),t("p",[this._v("This directory provides Teaclave client SDK in different langu [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[115],{506:function(e,t,s){"use strict";s.r(t);var a=s(27),n=Object(a.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"client-sdk"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#client-sdk"}},[this._v("#")]),this._v(" Client SDK")]),this._v(" "),t("p",[this._v("This directory provides Teaclave client SDK in different langu [...]
\ No newline at end of file
diff --git a/assets/js/115.24447bcd.js b/assets/js/116.e026dbe9.js
similarity index 98%
rename from assets/js/115.24447bcd.js
rename to assets/js/116.e026dbe9.js
index a2ea129..c991e9f 100644
--- a/assets/js/115.24447bcd.js
+++ b/assets/js/116.e026dbe9.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[115],{500:function(e,t,n){"use strict";n.r(t);var a=n(27),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"teaclave-services"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-services"}},[e._v("#")]),e._v(" Teaclave Services")]),e._v(" "),n("p",[e._v("This directory contains protocol definitions and implem [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[116],{507:function(e,t,n){"use strict";n.r(t);var a=n(27),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"teaclave-services"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-services"}},[e._v("#")]),e._v(" Teaclave Services")]),e._v(" "),n("p",[e._v("This directory contains protocol definitions and implem [...]
\ No newline at end of file
diff --git a/assets/js/116.2ffd80a1.js b/assets/js/117.8eab333b.js
similarity index 96%
rename from assets/js/116.2ffd80a1.js
rename to assets/js/117.8eab333b.js
index 074346b..76d0ce7 100644
--- a/assets/js/116.2ffd80a1.js
+++ b/assets/js/117.8eab333b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[116],{502:function(t,e,s){"use strict";s.r(e);var a=s(27),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"test-harness-and-test-cases"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#test-harness-and-test-cases"}},[t._v("#")]),t._v(" Test Harness and Test Cases")]),t._v(" "),s("p",[t._v("This directory contains a [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[117],{508:function(t,e,s){"use strict";s.r(e);var a=s(27),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"test-harness-and-test-cases"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#test-harness-and-test-cases"}},[t._v("#")]),t._v(" Test Harness and Test Cases")]),t._v(" "),s("p",[t._v("This directory contains a [...]
\ No newline at end of file
diff --git a/assets/js/117.2e84c199.js b/assets/js/118.28fcf26c.js
similarity index 94%
rename from assets/js/117.2e84c199.js
rename to assets/js/118.28fcf26c.js
index d5c24cb..d514af8 100644
--- a/assets/js/117.2e84c199.js
+++ b/assets/js/118.28fcf26c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[117],{504:function(e,t,r){"use strict";r.r(t);var n=r(27),a=Object(n.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"third-party-dependency-vendoring"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#third-party-dependency-vendoring"}},[e._v("#")]),e._v(" Third-Party Dependency Vendoring")]),e._v(" "),r("p",[e._v("For Teacla [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[118],{510:function(e,t,r){"use strict";r.r(t);var n=r(27),a=Object(n.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"third-party-dependency-vendoring"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#third-party-dependency-vendoring"}},[e._v("#")]),e._v(" Third-Party Dependency Vendoring")]),e._v(" "),r("p",[e._v("For Teacla [...]
\ No newline at end of file
diff --git a/assets/js/118.9cf531a2.js b/assets/js/119.044d2688.js
similarity index 97%
rename from assets/js/118.9cf531a2.js
rename to assets/js/119.044d2688.js
index 2b1c05f..5fc8924 100644
--- a/assets/js/118.9cf531a2.js
+++ b/assets/js/119.044d2688.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[118],{503:function(t,e,a){"use strict";a.r(e);var s=a(27),n=Object(s.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"teaclave-sgx-tool"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-sgx-tool"}},[t._v("#")]),t._v(" Teaclave SGX Tool")]),t._v(" "),a("p",[t._v("This tool is to dump some SGX related information, e.g. [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[119],{509:function(t,e,a){"use strict";a.r(e);var s=a(27),n=Object(s.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"teaclave-sgx-tool"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-sgx-tool"}},[t._v("#")]),t._v(" Teaclave SGX Tool")]),t._v(" "),a("p",[t._v("This tool is to dump some SGX related information, e.g. [...]
\ No newline at end of file
diff --git a/assets/js/11.ccf6ce9c.js b/assets/js/12.7c4a0c82.js
similarity index 97%
rename from assets/js/11.ccf6ce9c.js
rename to assets/js/12.7c4a0c82.js
index 3d49475..4e51c24 100644
--- a/assets/js/11.ccf6ce9c.js
+++ b/assets/js/12.7c4a0c82.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{347:function(e,a,t){e.exports=t.p+"assets/img/teaclave-architecture.999fd110.png"},408:function(e,a,t){"use strict";t.r(a);var n=t(27),v=Object(n.a)({},(function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("p",[n("RouterLink",{attrs:{to:"/blog/2020-10-21-announcing-teaclave-0-1-0/"}},[e._v("English")]),e._v(" | "),n("RouterLink",{attrs:{to:"/blog/2020 [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{347:function(e,a,t){e.exports=t.p+"assets/img/teaclave-architecture.999fd110.png"},410:function(e,a,t){"use strict";t.r(a);var n=t(27),v=Object(n.a)({},(function(){var e=this,a=e.$createElement,n=e._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("p",[n("RouterLink",{attrs:{to:"/blog/2020-10-21-announcing-teaclave-0-1-0/"}},[e._v("English")]),e._v(" | "),n("RouterLink",{attrs:{to:"/blog/2020 [...]
\ No newline at end of file
diff --git a/assets/js/119.4919cb3e.js b/assets/js/120.f1d24933.js
similarity index 88%
rename from assets/js/119.4919cb3e.js
rename to assets/js/120.f1d24933.js
index e78e375..7c49778 100644
--- a/assets/js/119.4919cb3e.js
+++ b/assets/js/120.f1d24933.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[119],{508:function(t,e,s){"use strict";s.r(e);var a=s(27),n=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"types"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#types"}},[this._v("#")]),this._v(" Types")]),this._v(" "),e("p",[this._v("This directory defines common types (useful structs and traits) such as file, [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[120],{512:function(t,e,s){"use strict";s.r(e);var a=s(27),n=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"types"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#types"}},[this._v("#")]),this._v(" Types")]),this._v(" "),e("p",[this._v("This directory defines common types (useful structs and traits) such as file, [...]
\ No newline at end of file
diff --git a/assets/js/120.d6d75be1.js b/assets/js/121.797de51e.js
similarity index 95%
rename from assets/js/120.d6d75be1.js
rename to assets/js/121.797de51e.js
index 9d74d1e..fefc052 100644
--- a/assets/js/120.d6d75be1.js
+++ b/assets/js/121.797de51e.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[120],{507:function(e,t,r){"use strict";r.r(t);var n=r(27),a=Object(n.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"teaclave-worker"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-worker"}},[e._v("#")]),e._v(" Teaclave Worker")]),e._v(" "),r("p",[e._v("The worker layer in Teaclave is a thin layer to manage execut [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[121],{511:function(e,t,r){"use strict";r.r(t);var n=r(27),a=Object(n.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"teaclave-worker"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-worker"}},[e._v("#")]),e._v(" Teaclave Worker")]),e._v(" "),r("p",[e._v("The worker layer in Teaclave is a thin layer to manage execut [...]
\ No newline at end of file
diff --git a/assets/js/12.d581c14d.js b/assets/js/13.d5793297.js
similarity index 81%
rename from assets/js/12.d581c14d.js
rename to assets/js/13.d5793297.js
index c857003..25a8f08 100644
--- a/assets/js/12.d581c14d.js
+++ b/assets/js/13.d5793297.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{394:function(t,e,s){"use strict";s.r(e);var n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],o={methods:{getMsg:function(){return n[Math.floor(Math.random()*n.length)]}}},i=s(27),h=Object(i.a)(o,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"theme-container"},[e("div",{staticClass:"theme-default-content"},[e("h1",[this._v("4 [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{397:function(t,e,s){"use strict";s.r(e);var n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],o={methods:{getMsg:function(){return n[Math.floor(Math.random()*n.length)]}}},i=s(27),h=Object(i.a)(o,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"theme-container"},[e("div",{staticClass:"theme-default-content"},[e("h1",[this._v("4 [...]
\ No newline at end of file
diff --git a/assets/js/13.ac9c1d26.js b/assets/js/14.c94a2779.js
similarity index 77%
rename from assets/js/13.ac9c1d26.js
rename to assets/js/14.c94a2779.js
index 67dba7b..b5d2adc 100644
--- a/assets/js/13.ac9c1d26.js
+++ b/assets/js/14.c94a2779.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{400:function(t,e,a){"use strict";a.r(e);var n=a(27),s=Object(n.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"teaclave-api-documentation"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-api-documentation"}},[this._v("#")]),this._v(" Teaclave API Documentation")])])}),[],!1,null,null,null);e.default=s.exports}}]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{402:function(t,e,a){"use strict";a.r(e);var n=a(27),s=Object(n.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"teaclave-api-documentation"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-api-documentation"}},[this._v("#")]),this._v(" Teaclave API Documentation")])])}),[],!1,null,null,null);e.default=s.exports}}]);
\ No newline at end of file
diff --git a/assets/js/14.d028c098.js b/assets/js/15.5d7c9319.js
similarity index 99%
rename from assets/js/14.d028c098.js
rename to assets/js/15.5d7c9319.js
index 810bc88..1e24f25 100644
--- a/assets/js/14.d028c098.js
+++ b/assets/js/15.5d7c9319.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{399:function(e,n,t){"use strict";t.r(n);var a=t(27),o=Object(a.a)({},(function(){var e=this.$createElement,n=this._self._c||e;return n("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[this._v("MesaTEE Apache Incubation Proposal\n\n= Abstract =\n\nMesaTEE is a framework for universal secure computing.\n\n= Pr [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{403:function(e,n,t){"use strict";t.r(n);var a=t(27),o=Object(a.a)({},(function(){var e=this.$createElement,n=this._self._c||e;return n("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[this._v("MesaTEE Apache Incubation Proposal\n\n= Abstract =\n\nMesaTEE is a framework for universal secure computing.\n\n= Pr [...]
\ No newline at end of file
diff --git a/assets/js/15.908652b2.js b/assets/js/16.eb4cb7a8.js
similarity index 99%
rename from assets/js/15.908652b2.js
rename to assets/js/16.eb4cb7a8.js
index 170adb4..cf47a22 100644
--- a/assets/js/15.908652b2.js
+++ b/assets/js/16.eb4cb7a8.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{402:function(e,t,s){"use strict";s.r(t);var a=s(27),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h2",{attrs:{id:"background"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#background"}},[e._v("#")]),e._v(" Background")]),e._v(" "),s("p",[e._v("Intel issued "),s("a",{attrs:{href:"https://www.intel.com/content/www/us/en/s [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{404:function(e,t,s){"use strict";s.r(t);var a=s(27),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h2",{attrs:{id:"background"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#background"}},[e._v("#")]),e._v(" Background")]),e._v(" "),s("p",[e._v("Intel issued "),s("a",{attrs:{href:"https://www.intel.com/content/www/us/en/s [...]
\ No newline at end of file
diff --git a/assets/js/16.b1e55146.js b/assets/js/17.e3f50c6d.js
similarity index 98%
rename from assets/js/16.b1e55146.js
rename to assets/js/17.e3f50c6d.js
index c3c9a5b..c412636 100644
--- a/assets/js/16.b1e55146.js
+++ b/assets/js/17.e3f50c6d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{401:function(e,t,a){"use strict";a.r(t);var s=a(27),r=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h2",{attrs:{id:"teaclave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave"}},[e._v("#")]),e._v(" Teaclave")]),e._v(" "),a("p",[e._v("Teaclave is a universal secure computing platform.")]),e._v(" "),a("p",[e._v("Teacl [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{405:function(e,t,a){"use strict";a.r(t);var s=a(27),r=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h2",{attrs:{id:"teaclave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave"}},[e._v("#")]),e._v(" Teaclave")]),e._v(" "),a("p",[e._v("Teaclave is a universal secure computing platform.")]),e._v(" "),a("p",[e._v("Teacl [...]
\ No newline at end of file
diff --git a/assets/js/17.01df0670.js b/assets/js/18.3e98ad35.js
similarity index 98%
rename from assets/js/17.01df0670.js
rename to assets/js/18.3e98ad35.js
index 7605c4c..557cf2c 100644
--- a/assets/js/17.01df0670.js
+++ b/assets/js/18.3e98ad35.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{404:function(e,t,a){"use strict";a.r(t);var r=a(27),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h2",{attrs:{id:"teaclave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave"}},[e._v("#")]),e._v(" Teaclave")]),e._v(" "),a("p",[e._v("Teaclave is a universal secure computing platform.")]),e._v(" "),a("p",[e._v("Teacl [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{406:function(e,t,a){"use strict";a.r(t);var r=a(27),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h2",{attrs:{id:"teaclave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave"}},[e._v("#")]),e._v(" Teaclave")]),e._v(" "),a("p",[e._v("Teaclave is a universal secure computing platform.")]),e._v(" "),a("p",[e._v("Teacl [...]
\ No newline at end of file
diff --git a/assets/js/18.72344dec.js b/assets/js/19.950c7dc4.js
similarity index 98%
rename from assets/js/18.72344dec.js
rename to assets/js/19.950c7dc4.js
index a86ef62..68129b9 100644
--- a/assets/js/18.72344dec.js
+++ b/assets/js/19.950c7dc4.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{403:function(e,t,s){"use strict";s.r(t);var a=s(27),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h2",{attrs:{id:"teaclave"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#teaclave"}},[e._v("#")]),e._v(" Teaclave")]),e._v(" "),s("p",[e._v("Teaclave is a universal secure computing platform, making computation\non privacy-s [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{407:function(e,t,s){"use strict";s.r(t);var a=s(27),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h2",{attrs:{id:"teaclave"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#teaclave"}},[e._v("#")]),e._v(" Teaclave")]),e._v(" "),s("p",[e._v("Teaclave is a universal secure computing platform, making computation\non privacy-s [...]
\ No newline at end of file
diff --git a/assets/js/2.9c495c05.js b/assets/js/2.0b75d1fe.js
similarity index 99%
rename from assets/js/2.9c495c05.js
rename to assets/js/2.0b75d1fe.js
index 394258d..be9a059 100644
--- a/assets/js/2.9c495c05.js
+++ b/assets/js/2.0b75d1fe.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{318:function(t,n,e){"use strict";var r=e(172),i=e(8),o=e(14),s=e(22),u=e(173),a=e(174);r("match",1,(function(t,n,e){return[function(n){var e=s(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var s=i(t),c=String(this);if(!s.global)return a(s,c);var l=s.unicode;s.lastIndex=0;for(var f,p=[],h=0;null!==(f=a(s,c));){var g=String(f[0]);p[h]=g,"" [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{318:function(t,n,e){"use strict";var r=e(172),i=e(8),o=e(14),s=e(22),u=e(173),a=e(174);r("match",1,(function(t,n,e){return[function(n){var e=s(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var s=i(t),c=String(this);if(!s.global)return a(s,c);var l=s.unicode;s.lastIndex=0;for(var f,p=[],h=0;null!==(f=a(s,c));){var g=String(f[0]);p[h]=g,"" [...]
\ No newline at end of file
diff --git a/assets/js/19.29affffd.js b/assets/js/20.69fa65be.js
similarity index 98%
rename from assets/js/19.29affffd.js
rename to assets/js/20.69fa65be.js
index 3222723..5930660 100644
--- a/assets/js/19.29affffd.js
+++ b/assets/js/20.69fa65be.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{405:function(e,t,a){"use strict";a.r(t);var s=a(27),r=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h2",{attrs:{id:"teaclave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave"}},[e._v("#")]),e._v(" Teaclave")]),e._v(" "),a("p",[e._v("Teaclave is a universal secure computing platform, making computation on\nprivacy-s [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{408:function(e,t,a){"use strict";a.r(t);var s=a(27),r=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h2",{attrs:{id:"teaclave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave"}},[e._v("#")]),e._v(" Teaclave")]),e._v(" "),a("p",[e._v("Teaclave is a universal secure computing platform, making computation on\nprivacy-s [...]
\ No newline at end of file
diff --git a/assets/js/20.d84d4fc2.js b/assets/js/21.0422f47d.js
similarity index 97%
rename from assets/js/20.d84d4fc2.js
rename to assets/js/21.0422f47d.js
index 55c99aa..a57f1b5 100644
--- a/assets/js/20.d84d4fc2.js
+++ b/assets/js/21.0422f47d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{407:function(e,a,t){"use strict";t.r(a);var r=t(27),s=Object(r.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"download"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#download"}},[e._v("#")]),e._v(" Download")]),e._v(" "),t("p",[e._v("These source archives are generated from tagged releases.")]),e._v(" "),t("table",[ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{412:function(e,a,t){"use strict";t.r(a);var r=t(27),s=Object(r.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"download"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#download"}},[e._v("#")]),e._v(" Download")]),e._v(" "),t("p",[e._v("These source archives are generated from tagged releases.")]),e._v(" "),t("table",[ [...]
\ No newline at end of file
diff --git a/assets/js/21.4383bc65.js b/assets/js/22.cd25134b.js
similarity index 93%
rename from assets/js/21.4383bc65.js
rename to assets/js/22.cd25134b.js
index 36394fe..4e3d4da 100644
--- a/assets/js/21.4383bc65.js
+++ b/assets/js/22.cd25134b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{410:function(e,t,n){"use strict";n.r(t);var a=n(27),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("div",{staticClass:"features"},[n("div",{staticClass:"feature"},[n("h3",[e._v("Secure and Attestable")]),e._v(" "),n("p",[e._v("\nTeaclave adopts multiple security technologies to enable secure computing,\nin particular, Teaclave  [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{413:function(e,t,n){"use strict";n.r(t);var a=n(27),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("div",{staticClass:"features"},[n("div",{staticClass:"feature"},[n("h3",[e._v("Secure and Attestable")]),e._v(" "),n("p",[e._v("\nTeaclave adopts multiple security technologies to enable secure computing,\nin particular, Teaclave  [...]
\ No newline at end of file
diff --git a/assets/js/22.d6d138a8.js b/assets/js/23.1bde8217.js
similarity index 99%
rename from assets/js/22.d6d138a8.js
rename to assets/js/23.1bde8217.js
index e05adfa..a4878ac 100644
--- a/assets/js/22.d6d138a8.js
+++ b/assets/js/23.1bde8217.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{409:function(e,t,a){"use strict";a.r(t);var s=a(27),r=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[a("img",{attrs:{src:"rustsgx.png",alt:"Rust SGX Logo"}})]),e._v(" "),a("p",[a("a",{attrs:{href:"https://gitter.im/rust-sgx-sdk/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge",target:"_blank",rel:"noopener n [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{414:function(e,t,a){"use strict";a.r(t);var s=a(27),r=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[a("img",{attrs:{src:"rustsgx.png",alt:"Rust SGX Logo"}})]),e._v(" "),a("p",[a("a",{attrs:{href:"https://gitter.im/rust-sgx-sdk/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge",target:"_blank",rel:"noopener n [...]
\ No newline at end of file
diff --git a/assets/js/23.cfc35e2b.js b/assets/js/24.b7e32ffd.js
similarity index 92%
rename from assets/js/23.cfc35e2b.js
rename to assets/js/24.b7e32ffd.js
index e16f5b2..0fa6721 100644
--- a/assets/js/23.cfc35e2b.js
+++ b/assets/js/24.b7e32ffd.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{412:function(t,e,s){"use strict";s.r(e);var a=s(27),i=Object(a.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"teaclave-sgx-sdk-documentation"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-sgx-sdk-documentation"}},[t._v("#")]),t._v(" Teaclave SGX SDK Documentation")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{415:function(t,e,s){"use strict";s.r(e);var a=s(27),i=Object(a.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"teaclave-sgx-sdk-documentation"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-sgx-sdk-documentation"}},[t._v("#")]),t._v(" Teaclave SGX SDK Documentation")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{ [...]
\ No newline at end of file
diff --git a/assets/js/24.5e02ceaa.js b/assets/js/25.8ee6c97b.js
similarity index 98%
rename from assets/js/24.5e02ceaa.js
rename to assets/js/25.8ee6c97b.js
index 7e7949d..6a93e26 100644
--- a/assets/js/24.5e02ceaa.js
+++ b/assets/js/25.8ee6c97b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{411:function(e,t,s){"use strict";s.r(t);var o=s(27),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"developing-with-visual-studio-code"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#developing-with-visual-studio-code"}},[e._v("#")]),e._v(" Developing with Visual Studio Code")]),e._v(" "),s("h2",{attrs:{id: [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{416:function(e,t,s){"use strict";s.r(t);var o=s(27),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"developing-with-visual-studio-code"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#developing-with-visual-studio-code"}},[e._v("#")]),e._v(" Developing with Visual Studio Code")]),e._v(" "),s("h2",{attrs:{id: [...]
\ No newline at end of file
diff --git a/assets/js/25.a6f56816.js b/assets/js/26.896ec6e7.js
similarity index 97%
rename from assets/js/25.a6f56816.js
rename to assets/js/26.896ec6e7.js
index 306e62a..a45764c 100644
--- a/assets/js/25.a6f56816.js
+++ b/assets/js/26.896ec6e7.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{413:function(e,t,n){"use strict";n.r(t);var a=n(27),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"everything-about-cve-2020-5499"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#everything-about-cve-2020-5499"}},[e._v("#")]),e._v(" Everything about CVE-2020-5499")]),e._v(" "),n("h2",{attrs:{id:"the-story"} [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{417:function(e,t,n){"use strict";n.r(t);var a=n(27),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"everything-about-cve-2020-5499"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#everything-about-cve-2020-5499"}},[e._v("#")]),e._v(" Everything about CVE-2020-5499")]),e._v(" "),n("h2",{attrs:{id:"the-story"} [...]
\ No newline at end of file
diff --git a/assets/js/26.4893c93d.js b/assets/js/27.814b72c9.js
similarity index 98%
rename from assets/js/26.4893c93d.js
rename to assets/js/27.814b72c9.js
index f4ff310..edff329 100644
--- a/assets/js/26.4893c93d.js
+++ b/assets/js/27.814b72c9.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{414:function(e,t,a){"use strict";a.r(t);var n=a(27),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"is-x86-feature-detected-in-teaclave-sgx-sdk"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#is-x86-feature-detected-in-teaclave-sgx-sdk"}},[e._v("#")]),e._v(" "),a("code",[e._v("is_x86_feature_detected")]),e. [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{418:function(e,t,a){"use strict";a.r(t);var n=a(27),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"is-x86-feature-detected-in-teaclave-sgx-sdk"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#is-x86-feature-detected-in-teaclave-sgx-sdk"}},[e._v("#")]),e._v(" "),a("code",[e._v("is_x86_feature_detected")]),e. [...]
\ No newline at end of file
diff --git a/assets/js/27.1eb5f797.js b/assets/js/28.65831f3f.js
similarity index 99%
rename from assets/js/27.1eb5f797.js
rename to assets/js/28.65831f3f.js
index 7002da0..12517fb 100644
--- a/assets/js/27.1eb5f797.js
+++ b/assets/js/28.65831f3f.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{415:function(e,t,s){"use strict";s.r(t);var a=s(27),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"run-rust-sgx-applications-in-mesalock-linux"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#run-rust-sgx-applications-in-mesalock-linux"}},[e._v("#")]),e._v(" Run Rust SGX Applications in Mesalock Linux")]),e [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{419:function(e,t,s){"use strict";s.r(t);var a=s(27),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"run-rust-sgx-applications-in-mesalock-linux"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#run-rust-sgx-applications-in-mesalock-linux"}},[e._v("#")]),e._v(" Run Rust SGX Applications in Mesalock Linux")]),e [...]
\ No newline at end of file
diff --git a/assets/js/28.ac6d7a0d.js b/assets/js/29.30e6e3a9.js
similarity index 98%
rename from assets/js/28.ac6d7a0d.js
rename to assets/js/29.30e6e3a9.js
index 3970ab9..f7dce3c 100644
--- a/assets/js/28.ac6d7a0d.js
+++ b/assets/js/29.30e6e3a9.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{417:function(e,t,n){"use strict";n.r(t);var s=n(27),r=Object(s.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"acquiring-trusted-timestamp-from-intel-me-in-sgx-enclave"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#acquiring-trusted-timestamp-from-intel-me-in-sgx-enclave"}},[e._v("#")]),e._v(" Acquiring Trusted times [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{420:function(e,t,n){"use strict";n.r(t);var s=n(27),r=Object(s.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"acquiring-trusted-timestamp-from-intel-me-in-sgx-enclave"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#acquiring-trusted-timestamp-from-intel-me-in-sgx-enclave"}},[e._v("#")]),e._v(" Acquiring Trusted times [...]
\ No newline at end of file
diff --git a/assets/js/29.d86b4142.js b/assets/js/30.b855aa1c.js
similarity index 99%
rename from assets/js/29.d86b4142.js
rename to assets/js/30.b855aa1c.js
index 330abb8..d5c8afd 100644
--- a/assets/js/29.d86b4142.js
+++ b/assets/js/30.b855aa1c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{416:function(e,t,s){"use strict";s.r(t);var r=s(27),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"rust-sgx-sdk-v1-1-3"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#rust-sgx-sdk-v1-1-3"}},[e._v("#")]),e._v(" Rust SGX SDK v1.1.3")]),e._v(" "),s("p",[s("strong",[e._v("Supports Intel SGX SDK v2.12")])]),e._ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{421:function(e,t,s){"use strict";s.r(t);var r=s(27),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"rust-sgx-sdk-v1-1-3"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#rust-sgx-sdk-v1-1-3"}},[e._v("#")]),e._v(" Rust SGX SDK v1.1.3")]),e._v(" "),s("p",[s("strong",[e._v("Supports Intel SGX SDK v2.12")])]),e._ [...]
\ No newline at end of file
diff --git a/assets/js/30.664ac2b7.js b/assets/js/31.8bfbfff3.js
similarity index 88%
rename from assets/js/30.664ac2b7.js
rename to assets/js/31.8bfbfff3.js
index e51a3d8..2d53f2d 100644
--- a/assets/js/30.664ac2b7.js
+++ b/assets/js/31.8bfbfff3.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{418:function(t,e,a){"use strict";a.r(e);var s=a(27),n=Object(s.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("p",[t._v("This is a code implementation of VeritasDB on rust-sgx-sdk.")]),t._v(" "),a("p",[t._v("VeritasDB is a key-value store with formal integrity guarantees, high performance, and a tiny trusted computing base (TCB).")]),t._v [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{422:function(t,e,a){"use strict";a.r(e);var s=a(27),n=Object(s.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("p",[t._v("This is a code implementation of VeritasDB on rust-sgx-sdk.")]),t._v(" "),a("p",[t._v("VeritasDB is a key-value store with formal integrity guarantees, high performance, and a tiny trusted computing base (TCB).")]),t._v [...]
\ No newline at end of file
diff --git a/assets/js/31.607389a2.js b/assets/js/32.9c52c753.js
similarity index 98%
rename from assets/js/31.607389a2.js
rename to assets/js/32.9c52c753.js
index fdff95f..a890734 100644
--- a/assets/js/31.607389a2.js
+++ b/assets/js/32.9c52c753.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{420:function(t,e,r){"use strict";r.r(e);var a=r(27),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"dcap-pck-retrievaltool"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#dcap-pck-retrievaltool"}},[t._v("#")]),t._v(" DCAP PCK RetrievalTool")]),t._v(" "),r("p",[r("strong",[t._v("This is a demo of using Teacl [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{423:function(t,e,r){"use strict";r.r(e);var a=r(27),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"dcap-pck-retrievaltool"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#dcap-pck-retrievaltool"}},[t._v("#")]),t._v(" DCAP PCK RetrievalTool")]),t._v(" "),r("p",[r("strong",[t._v("This is a demo of using Teacl [...]
\ No newline at end of file
diff --git a/assets/js/32.192ee969.js b/assets/js/33.98e886cf.js
similarity index 93%
rename from assets/js/32.192ee969.js
rename to assets/js/33.98e886cf.js
index ac28f91..0efd70a 100644
--- a/assets/js/32.192ee969.js
+++ b/assets/js/33.98e886cf.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{419:function(e,t,r){"use strict";r.r(t);var a=r(27),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"http-req-sgx-example"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#http-req-sgx-example"}},[e._v("#")]),e._v(" http_req-sgx-example")]),e._v(" "),r("p",[e._v("Showcases "),r("a",{attrs:{href:"https://github [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{424:function(e,t,r){"use strict";r.r(t);var a=r(27),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"http-req-sgx-example"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#http-req-sgx-example"}},[e._v("#")]),e._v(" http_req-sgx-example")]),e._v(" "),r("p",[e._v("Showcases "),r("a",{attrs:{href:"https://github [...]
\ No newline at end of file
diff --git a/assets/js/33.607a6518.js b/assets/js/34.bdec243c.js
similarity index 96%
rename from assets/js/33.607a6518.js
rename to assets/js/34.bdec243c.js
index 0b5bbb1..dc39381 100644
--- a/assets/js/33.607a6518.js
+++ b/assets/js/34.bdec243c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{421:function(e,a,t){"use strict";t.r(a);var s=t(27),l=Object(s.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"env-logger-sample"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#env-logger-sample"}},[e._v("#")]),e._v(" env_logger sample")]),e._v(" "),t("p",[e._v("This sample shows how to use "),t("a",{attrs:{href:"http [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{425:function(e,a,t){"use strict";t.r(a);var s=t(27),l=Object(s.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"env-logger-sample"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#env-logger-sample"}},[e._v("#")]),e._v(" env_logger sample")]),e._v(" "),t("p",[e._v("This sample shows how to use "),t("a",{attrs:{href:"http [...]
\ No newline at end of file
diff --git a/assets/js/34.a92fd233.js b/assets/js/35.38f6f483.js
similarity index 94%
rename from assets/js/34.a92fd233.js
rename to assets/js/35.38f6f483.js
index 64752b3..bac6b6b 100644
--- a/assets/js/34.a92fd233.js
+++ b/assets/js/35.38f6f483.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{423:function(a,t,e){"use strict";e.r(t);var n=e(27),s=Object(n.a)({},(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h2",{attrs:{id:"run"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#run"}},[a._v("#")]),a._v(" Run")]),a._v(" "),e("p",[a._v("Start server")]),a._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{c [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{426:function(a,t,e){"use strict";e.r(t);var n=e(27),s=Object(n.a)({},(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h2",{attrs:{id:"run"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#run"}},[a._v("#")]),a._v(" Run")]),a._v(" "),e("p",[a._v("Start server")]),a._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{c [...]
\ No newline at end of file
diff --git a/assets/js/35.2f6f313c.js b/assets/js/36.0d8d8d1b.js
similarity index 96%
rename from assets/js/35.2f6f313c.js
rename to assets/js/36.0d8d8d1b.js
index 78072e4..ccf7484 100644
--- a/assets/js/35.2f6f313c.js
+++ b/assets/js/36.0d8d8d1b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{422:function(e,t,a){"use strict";a.r(t);var r=a(27),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"mutual-remote-attestation-code-sample"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mutual-remote-attestation-code-sample"}},[e._v("#")]),e._v(" Mutual Remote Attestation code sample")]),e._v(" "),a("p",[e. [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{427:function(e,t,a){"use strict";a.r(t);var r=a(27),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"mutual-remote-attestation-code-sample"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mutual-remote-attestation-code-sample"}},[e._v("#")]),e._v(" Mutual Remote Attestation code sample")]),e._v(" "),a("p",[e. [...]
\ No newline at end of file
diff --git a/assets/js/36.854986f3.js b/assets/js/37.37a10e4b.js
similarity index 95%
rename from assets/js/36.854986f3.js
rename to assets/js/37.37a10e4b.js
index b2e2e9a..eeff779 100644
--- a/assets/js/36.854986f3.js
+++ b/assets/js/37.37a10e4b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{424:function(e,t,a){"use strict";a.r(t);var n=a(27),s=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"protected-code-launch-sample"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#protected-code-launch-sample"}},[e._v("#")]),e._v(" Protected Code Launch Sample")]),e._v(" "),a("p",[e._v("This code sample shows  [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{428:function(e,t,a){"use strict";a.r(t);var n=a(27),s=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"protected-code-launch-sample"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#protected-code-launch-sample"}},[e._v("#")]),e._v(" Protected Code Launch Sample")]),e._v(" "),a("p",[e._v("This code sample shows  [...]
\ No newline at end of file
diff --git a/assets/js/37.1b4b5466.js b/assets/js/38.92bcdba9.js
similarity index 80%
rename from assets/js/37.1b4b5466.js
rename to assets/js/38.92bcdba9.js
index 504e94e..c1cb116 100644
--- a/assets/js/37.1b4b5466.js
+++ b/assets/js/38.92bcdba9.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{425:function(t,s,e){"use strict";e.r(s);var a=e(27),n=Object(a.a)({},(function(){var t=this.$createElement,s=this._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("protoc -I=.  --cpp_out=.  Messages.proto\n")])])])])}),[],!1,null,null,null);s.default=n.exports}}]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{429:function(t,s,e){"use strict";e.r(s);var a=e(27),n=Object(a.a)({},(function(){var t=this.$createElement,s=this._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("protoc -I=.  --cpp_out=.  Messages.proto\n")])])])])}),[],!1,null,null,null);s.default=n.exports}}]);
\ No newline at end of file
diff --git a/assets/js/38.7f1042b3.js b/assets/js/39.6458b14f.js
similarity index 97%
rename from assets/js/38.7f1042b3.js
rename to assets/js/39.6458b14f.js
index 350178f..73c8015 100644
--- a/assets/js/38.7f1042b3.js
+++ b/assets/js/39.6458b14f.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{428:function(e,t,r){"use strict";r.r(t);var a=r(27),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"private-set-intersection-sample-solution"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#private-set-intersection-sample-solution"}},[e._v("#")]),e._v(" Private Set Intersection sample solution")]),e._v(" "), [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{430:function(e,t,r){"use strict";r.r(t);var a=r(27),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"private-set-intersection-sample-solution"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#private-set-intersection-sample-solution"}},[e._v("#")]),e._v(" Private Set Intersection sample solution")]),e._v(" "), [...]
\ No newline at end of file
diff --git a/assets/js/39.fa09433d.js b/assets/js/40.3c64da17.js
similarity index 62%
rename from assets/js/39.fa09433d.js
rename to assets/js/40.3c64da17.js
index faf1f04..bb2794d 100644
--- a/assets/js/39.fa09433d.js
+++ b/assets/js/40.3c64da17.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{426:function(t,e,n){"use strict";n.r(e);var s=n(27),l=Object(s.a)({},(function(){var t=this.$createElement;return(this._self._c||t)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);e.default=l.exports}}]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{431:function(t,e,n){"use strict";n.r(e);var s=n(27),l=Object(s.a)({},(function(){var t=this.$createElement;return(this._self._c||t)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);e.default=l.exports}}]);
\ No newline at end of file
diff --git a/assets/js/40.f712a06c.js b/assets/js/41.a0cc8119.js
similarity index 62%
rename from assets/js/40.f712a06c.js
rename to assets/js/41.a0cc8119.js
index 2805d7b..cfb3701 100644
--- a/assets/js/40.f712a06c.js
+++ b/assets/js/41.a0cc8119.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{427:function(t,e,n){"use strict";n.r(e);var s=n(27),l=Object(s.a)({},(function(){var t=this.$createElement;return(this._self._c||t)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);e.default=l.exports}}]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{432:function(t,e,n){"use strict";n.r(e);var s=n(27),l=Object(s.a)({},(function(){var t=this.$createElement;return(this._self._c||t)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);e.default=l.exports}}]);
\ No newline at end of file
diff --git a/assets/js/41.cfa0b8c9.js b/assets/js/42.bea0a65b.js
similarity index 98%
rename from assets/js/41.cfa0b8c9.js
rename to assets/js/42.bea0a65b.js
index 606dc04..194051a 100644
--- a/assets/js/41.cfa0b8c9.js
+++ b/assets/js/42.bea0a65b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{430:function(e,t,r){"use strict";r.r(t);var o=r(27),i=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"rust-sgx-remote-attestation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rust-sgx-remote-attestation"}},[e._v("#")]),e._v(" Rust SGX remote attestation")]),e._v(" "),r("p",[e._v("This example is derived fr [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{433:function(e,t,r){"use strict";r.r(t);var o=r(27),i=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"rust-sgx-remote-attestation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rust-sgx-remote-attestation"}},[e._v("#")]),e._v(" Rust SGX remote attestation")]),e._v(" "),r("p",[e._v("This example is derived fr [...]
\ No newline at end of file
diff --git a/assets/js/42.502c2a3d.js b/assets/js/43.8a96eddf.js
similarity index 95%
rename from assets/js/42.502c2a3d.js
rename to assets/js/43.8a96eddf.js
index 928d969..33202c0 100644
--- a/assets/js/42.502c2a3d.js
+++ b/assets/js/43.8a96eddf.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{429:function(e,t,a){"use strict";a.r(t);var o=a(27),s=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"sgx-code-coverage-support"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sgx-code-coverage-support"}},[e._v("#")]),e._v(" SGX Code Coverage Support")]),e._v(" "),a("p",[e._v("Prerequisite: lcov. Install via  [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{434:function(e,t,a){"use strict";a.r(t);var o=a(27),s=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"sgx-code-coverage-support"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sgx-code-coverage-support"}},[e._v("#")]),e._v(" SGX Code Coverage Support")]),e._v(" "),a("p",[e._v("Prerequisite: lcov. Install via  [...]
\ No newline at end of file
diff --git a/assets/js/43.0ace32a7.js b/assets/js/44.8350fc54.js
similarity index 96%
rename from assets/js/43.0ace32a7.js
rename to assets/js/44.8350fc54.js
index 42bb98f..c59e1d4 100644
--- a/assets/js/43.0ace32a7.js
+++ b/assets/js/44.8350fc54.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{431:function(t,e,a){"use strict";a.r(e);var l=a(27),s=Object(l.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"tcmalloc-code-sample"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tcmalloc-code-sample"}},[t._v("#")]),t._v(" tcmalloc code sample")]),t._v(" "),a("p",[t._v("This example shows how to use tcmalloc in rust- [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{435:function(t,e,a){"use strict";a.r(e);var l=a(27),s=Object(l.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"tcmalloc-code-sample"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tcmalloc-code-sample"}},[t._v("#")]),t._v(" tcmalloc code sample")]),t._v(" "),a("p",[t._v("This example shows how to use tcmalloc in rust- [...]
\ No newline at end of file
diff --git a/assets/js/44.a5d19c6c.js b/assets/js/45.b00d54b3.js
similarity index 98%
rename from assets/js/44.a5d19c6c.js
rename to assets/js/45.b00d54b3.js
index cf6f186..1fb946c 100644
--- a/assets/js/44.a5d19c6c.js
+++ b/assets/js/45.b00d54b3.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{432:function(e,t,s){"use strict";s.r(t);var a=s(27),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"trusted-multi-player-computing-that-use-sgx-as-trust-computing-base"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#trusted-multi-player-computing-that-use-sgx-as-trust-computing-base"}},[e._v("#")]),e._v(" T [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{436:function(e,t,s){"use strict";s.r(t);var a=s(27),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"trusted-multi-player-computing-that-use-sgx-as-trust-computing-base"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#trusted-multi-player-computing-that-use-sgx-as-trust-computing-base"}},[e._v("#")]),e._v(" T [...]
\ No newline at end of file
diff --git a/assets/js/45.53cdcaa7.js b/assets/js/46.07ac9430.js
similarity index 98%
rename from assets/js/45.53cdcaa7.js
rename to assets/js/46.07ac9430.js
index 51e2713..48bdf5c 100644
--- a/assets/js/45.53cdcaa7.js
+++ b/assets/js/46.07ac9430.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{433:function(e,t,a){"use strict";a.r(t);var s=a(27),n=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"untrusted-enclave-remote-attestation-code-sample"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#untrusted-enclave-remote-attestation-code-sample"}},[e._v("#")]),e._v(" Untrusted-Enclave Remote Attestation co [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{437:function(e,t,a){"use strict";a.r(t);var s=a(27),n=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"untrusted-enclave-remote-attestation-code-sample"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#untrusted-enclave-remote-attestation-code-sample"}},[e._v("#")]),e._v(" Untrusted-Enclave Remote Attestation co [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/47.66c05910.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/47.66c05910.js
index 894c61e..da00d65 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/47.66c05910.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/48.e6ecd163.js b/assets/js/48.1917b85e.js
similarity index 89%
rename from assets/js/48.e6ecd163.js
rename to assets/js/48.1917b85e.js
index e795c5c..d8330f7 100644
--- a/assets/js/48.e6ecd163.js
+++ b/assets/js/48.1917b85e.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{436:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{439:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/46.778a3d9a.js b/assets/js/49.78415f9c.js
similarity index 89%
rename from assets/js/46.778a3d9a.js
rename to assets/js/49.78415f9c.js
index a962031..30a8b28 100644
--- a/assets/js/46.778a3d9a.js
+++ b/assets/js/49.78415f9c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{434:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{440:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/5.cd5894ed.js b/assets/js/5.6befcbee.js
similarity index 99%
rename from assets/js/5.cd5894ed.js
rename to assets/js/5.6befcbee.js
index a9115ba..e697b11 100644
--- a/assets/js/5.cd5894ed.js
+++ b/assets/js/5.6befcbee.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{318:function(t,e,n){"use strict";var i=n(172),r=n(8),o=n(14),s=n(22),a=n(173),u=n(174);i("match",1,(function(t,e,n){return[function(e){var n=s(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,n):new RegExp(e)[t](String(n))},function(t){var i=n(e,t,this);if(i.done)return i.value;var s=r(t),c=String(this);if(!s.global)return u(s,c);var l=s.unicode;s.lastIndex=0;for(var h,f=[],g=0;null!==(h=u(s,c));){var d=String(h[0]);f[g]=d,"" [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{318:function(t,e,n){"use strict";var i=n(172),r=n(8),o=n(14),s=n(22),a=n(173),u=n(174);i("match",1,(function(t,e,n){return[function(e){var n=s(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,n):new RegExp(e)[t](String(n))},function(t){var i=n(e,t,this);if(i.done)return i.value;var s=r(t),c=String(this);if(!s.global)return u(s,c);var l=s.unicode;s.lastIndex=0;for(var h,f=[],g=0;null!==(h=u(s,c));){var d=String(h[0]);f[g]=d,"" [...]
\ No newline at end of file
diff --git a/assets/js/49.508f8e70.js b/assets/js/50.a44d154a.js
similarity index 94%
rename from assets/js/49.508f8e70.js
rename to assets/js/50.a44d154a.js
index fcf1d61..0186926 100644
--- a/assets/js/49.508f8e70.js
+++ b/assets/js/50.a44d154a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{437:function(e,a,t){"use strict";t.r(a);var r=t(27),i=Object(r.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"libbacktrace"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#libbacktrace"}},[e._v("#")]),e._v(" libbacktrace")]),e._v(" "),t("p",[e._v("A C library that may be linked into a C/C++ program to produce symbolic [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{441:function(e,a,t){"use strict";t.r(a);var r=t(27),i=Object(r.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"libbacktrace"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#libbacktrace"}},[e._v("#")]),e._v(" libbacktrace")]),e._v(" "),t("p",[e._v("A C library that may be linked into a C/C++ program to produce symbolic [...]
\ No newline at end of file
diff --git a/assets/js/47.2c7d3448.js b/assets/js/51.7741c348.js
similarity index 89%
rename from assets/js/47.2c7d3448.js
rename to assets/js/51.7741c348.js
index 2d7190f..641d3b8 100644
--- a/assets/js/47.2c7d3448.js
+++ b/assets/js/51.7741c348.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{435:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{442:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/51.99180887.js b/assets/js/51.99180887.js
deleted file mode 100644
index dfa4924..0000000
--- a/assets/js/51.99180887.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{439:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/52.134efc29.js b/assets/js/52.134efc29.js
deleted file mode 100644
index f5c8554..0000000
--- a/assets/js/52.134efc29.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{440:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/52.7eb3ad27.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/52.7eb3ad27.js
index 894c61e..66512d6 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/52.7eb3ad27.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{443:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/53.1d366fe6.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/53.1d366fe6.js
index 894c61e..2eeda22 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/53.1d366fe6.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{444:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/53.98d574d1.js b/assets/js/53.98d574d1.js
deleted file mode 100644
index d161a7e..0000000
--- a/assets/js/53.98d574d1.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{442:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/54.c03bdf42.js b/assets/js/54.c03bdf42.js
deleted file mode 100644
index 210c798..0000000
--- a/assets/js/54.c03bdf42.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{441:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/54.d094e08a.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/54.d094e08a.js
index 894c61e..75f233e 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/54.d094e08a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{445:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/55.225a4ddf.js b/assets/js/55.225a4ddf.js
deleted file mode 100644
index cf84a38..0000000
--- a/assets/js/55.225a4ddf.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{443:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/55.7fe6645f.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/55.7fe6645f.js
index 894c61e..be2e0ac 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/55.7fe6645f.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{446:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/56.3f61d164.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/56.3f61d164.js
index 894c61e..e1f76fa 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/56.3f61d164.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{505:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/56.afdea697.js b/assets/js/56.afdea697.js
deleted file mode 100644
index 0831d43..0000000
--- a/assets/js/56.afdea697.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{446:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/57.07349011.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/57.07349011.js
index 894c61e..fd38966 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/57.07349011.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{477:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/57.0bb0ea57.js b/assets/js/57.0bb0ea57.js
deleted file mode 100644
index 70f5bd9..0000000
--- a/assets/js/57.0bb0ea57.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{465:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/58.4a87c8d3.js b/assets/js/58.4a87c8d3.js
deleted file mode 100644
index 876c9a6..0000000
--- a/assets/js/58.4a87c8d3.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{447:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/58.5cda199f.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/58.5cda199f.js
index 894c61e..1365956 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/58.5cda199f.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{479:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/59.21802f87.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/59.21802f87.js
index 894c61e..6a28a44 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/59.21802f87.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{447:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/59.72a05bb5.js b/assets/js/59.72a05bb5.js
deleted file mode 100644
index 36b6bb4..0000000
--- a/assets/js/59.72a05bb5.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{444:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/6.7c86080e.js b/assets/js/6.0415ab77.js
similarity index 96%
rename from assets/js/6.7c86080e.js
rename to assets/js/6.0415ab77.js
index 2f6c063..69ece1a 100644
--- a/assets/js/6.7c86080e.js
+++ b/assets/js/6.0415ab77.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{317:function(t,n,e){"use strict";e.d(n,"d",(function(){return r})),e.d(n,"a",(function(){return l})),e.d(n,"i",(function(){return u})),e.d(n,"f",(function(){return o})),e.d(n,"g",(function(){return s})),e.d(n,"h",(function(){return c})),e.d(n,"b",(function(){return f})),e.d(n,"e",(function(){return h})),e.d(n,"k",(function(){return d})),e.d(n,"l",(function(){return p})),e.d(n,"c",(function(){return g})),e.d(n,"j",(function(){return [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{317:function(t,n,e){"use strict";e.d(n,"d",(function(){return r})),e.d(n,"a",(function(){return l})),e.d(n,"i",(function(){return u})),e.d(n,"f",(function(){return o})),e.d(n,"g",(function(){return s})),e.d(n,"h",(function(){return c})),e.d(n,"b",(function(){return f})),e.d(n,"e",(function(){return h})),e.d(n,"k",(function(){return d})),e.d(n,"l",(function(){return p})),e.d(n,"c",(function(){return g})),e.d(n,"j",(function(){return [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/60.ad043f88.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/60.ad043f88.js
index 894c61e..ad04b67 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/60.ad043f88.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{448:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/60.e8ab22cb.js b/assets/js/60.e8ab22cb.js
deleted file mode 100644
index c601908..0000000
--- a/assets/js/60.e8ab22cb.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{445:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/61.85f385b0.js b/assets/js/61.85f385b0.js
deleted file mode 100644
index cca8dff..0000000
--- a/assets/js/61.85f385b0.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{448:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/61.be49d6c9.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/61.be49d6c9.js
index 894c61e..aae77cb 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/61.be49d6c9.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{449:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/62.d18ba717.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/62.d18ba717.js
index 894c61e..2c07b00 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/62.d18ba717.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{450:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/62.fb9865e9.js b/assets/js/62.fb9865e9.js
deleted file mode 100644
index c3d11bc..0000000
--- a/assets/js/62.fb9865e9.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{449:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/63.eade3b4d.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/63.eade3b4d.js
index 894c61e..17cfcc3 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/63.eade3b4d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{451:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/63.2748426a.js b/assets/js/64.0cd7daf3.js
similarity index 90%
rename from assets/js/63.2748426a.js
rename to assets/js/64.0cd7daf3.js
index 05917fd..629abad 100644
--- a/assets/js/63.2748426a.js
+++ b/assets/js/64.0cd7daf3.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{450:function(e,t,r){"use strict";r.r(t);var a=r(27),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"note"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[e._v("#")]),e._v(" Note")]),e._v(" "),r("p",[e._v("Please visit our "),r("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sdk",target:"_bl [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{452:function(e,t,r){"use strict";r.r(t);var a=r(27),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"note"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[e._v("#")]),e._v(" Note")]),e._v(" "),r("p",[e._v("Please visit our "),r("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sdk",target:"_bl [...]
\ No newline at end of file
diff --git a/assets/js/64.56f9932f.js b/assets/js/64.56f9932f.js
deleted file mode 100644
index 378089b..0000000
--- a/assets/js/64.56f9932f.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{451:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/65.1b59fe53.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/65.1b59fe53.js
index 894c61e..f651fe3 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/65.1b59fe53.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{453:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/65.1e8f31bb.js b/assets/js/65.1e8f31bb.js
deleted file mode 100644
index cd3e2f9..0000000
--- a/assets/js/65.1e8f31bb.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{457:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/66.5c043e0c.js b/assets/js/66.5c043e0c.js
deleted file mode 100644
index acc6a32..0000000
--- a/assets/js/66.5c043e0c.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{452:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/66.fe84822c.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/66.fe84822c.js
index 894c61e..580e230 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/66.fe84822c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{454:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/67.339e4e9a.js b/assets/js/67.339e4e9a.js
deleted file mode 100644
index 788e744..0000000
--- a/assets/js/67.339e4e9a.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{453:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/67.84035b9f.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/67.84035b9f.js
index 894c61e..0ab1c15 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/67.84035b9f.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{455:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/68.1c7be7cb.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/68.1c7be7cb.js
index 894c61e..80d41fd 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/68.1c7be7cb.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{456:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/68.321ba724.js b/assets/js/68.321ba724.js
deleted file mode 100644
index c077b93..0000000
--- a/assets/js/68.321ba724.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{454:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/69.bf06a8d7.js b/assets/js/69.bf06a8d7.js
deleted file mode 100644
index 9f1ccfc..0000000
--- a/assets/js/69.bf06a8d7.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{456:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/69.fccdf41c.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/69.fccdf41c.js
index 894c61e..1f2ca30 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/69.fccdf41c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{457:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/7.d282795d.js b/assets/js/7.d282795d.js
new file mode 100644
index 0000000..03009b9
--- /dev/null
+++ b/assets/js/7.d282795d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{391:function(e,a,t){e.exports=t.p+"assets/img/secure-computing-intel-sgx.51d8330e.png"},392:function(e,a,t){e.exports=t.p+"assets/img/teaclave-ecosystem-cn.4074b3b4.png"},393:function(e,a,t){e.exports=t.p+"assets/img/logo-projects-powered-by-teaclave.3fce54f9.png"},411:function(e,a,t){"use strict";t.r(a);var r=t(27),c=Object(r.a)({},(function(){var e=this,a=e.$createElement,r=e._self._c||a;return r("ContentSlotsDistributor",{attrs: [...]
\ No newline at end of file
diff --git a/assets/js/7.ea3c4517.js b/assets/js/7.ea3c4517.js
deleted file mode 100644
index 9373017..0000000
--- a/assets/js/7.ea3c4517.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{348:function(t,e,n){},391:function(t,e,n){"use strict";var i=n(348);n.n(i).a},509:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,i=e.slots;return t("span",{class:["badge",n.type],style:{verticalAlign:n.vertical}},n.text||i().default)}},r=(n(391),n(27)),a=Object(r.a)(i,void 0,void 0,!1,null,"385f24c3 [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/70.823ef0a4.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/70.823ef0a4.js
index 894c61e..474138b 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/70.823ef0a4.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{458:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/70.a89dba4f.js b/assets/js/70.a89dba4f.js
deleted file mode 100644
index 9dee1ac..0000000
--- a/assets/js/70.a89dba4f.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{455:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/71.03436890.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/71.03436890.js
index 894c61e..09cc15f 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/71.03436890.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{459:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/71.f61b60e7.js b/assets/js/72.12cd3ebf.js
similarity index 99%
rename from assets/js/71.f61b60e7.js
rename to assets/js/72.12cd3ebf.js
index 222e874..47a2887 100644
--- a/assets/js/71.f61b60e7.js
+++ b/assets/js/72.12cd3ebf.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{458:function(e,a,t){"use strict";t.r(a);var r=t(27),v=Object(r.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"change-log"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#change-log"}},[e._v("#")]),e._v(" Change Log")]),e._v(" "),t("p",[e._v("All notable changes to this project will be documented in this file.")]),e._v [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[72],{460:function(e,a,t){"use strict";t.r(a);var r=t(27),v=Object(r.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"change-log"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#change-log"}},[e._v("#")]),e._v(" Change Log")]),e._v(" "),t("p",[e._v("All notable changes to this project will be documented in this file.")]),e._v [...]
\ No newline at end of file
diff --git a/assets/js/73.2b58d1e5.js b/assets/js/73.2b58d1e5.js
deleted file mode 100644
index 2c03074..0000000
--- a/assets/js/73.2b58d1e5.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{460:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/72.b52da6cc.js b/assets/js/73.429202cf.js
similarity index 98%
rename from assets/js/72.b52da6cc.js
rename to assets/js/73.429202cf.js
index 5703186..ac1c27b 100644
--- a/assets/js/72.b52da6cc.js
+++ b/assets/js/73.429202cf.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[72],{459:function(e,a,t){"use strict";t.r(a);var s=t(27),r=Object(s.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"hashbrown"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hashbrown"}},[e._v("#")]),e._v(" hashbrown")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://travis-ci.com/rust-lang/hashbrown",target:"_blank",rel:"no [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{461:function(e,a,t){"use strict";t.r(a);var s=t(27),r=Object(s.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"hashbrown"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hashbrown"}},[e._v("#")]),e._v(" hashbrown")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://travis-ci.com/rust-lang/hashbrown",target:"_blank",rel:"no [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/74.28a2db89.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/74.28a2db89.js
index 894c61e..84fa551 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/74.28a2db89.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{462:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/74.d8faadc2.js b/assets/js/74.d8faadc2.js
deleted file mode 100644
index 821979e..0000000
--- a/assets/js/74.d8faadc2.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{461:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/75.56fabeb2.js b/assets/js/75.56fabeb2.js
deleted file mode 100644
index 3d67a2c..0000000
--- a/assets/js/75.56fabeb2.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{462:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/75.fdd59454.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/75.fdd59454.js
index 894c61e..47f44bc 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/75.fdd59454.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{463:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/76.be6644c7.js b/assets/js/76.be6644c7.js
deleted file mode 100644
index 8a5d373..0000000
--- a/assets/js/76.be6644c7.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{463:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/76.c6f3842b.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/76.c6f3842b.js
index 894c61e..0b5968e 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/76.c6f3842b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{464:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/77.9416d888.js b/assets/js/77.9416d888.js
deleted file mode 100644
index 77974bb..0000000
--- a/assets/js/77.9416d888.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[77],{464:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/77.fc39b3bc.js
similarity index 89%
copy from assets/js/50.1c024d64.js
copy to assets/js/77.fc39b3bc.js
index 894c61e..0d4ba8c 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/77.fc39b3bc.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[77],{465:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/50.1c024d64.js b/assets/js/78.1913fc0d.js
similarity index 89%
rename from assets/js/50.1c024d64.js
rename to assets/js/78.1913fc0d.js
index 894c61e..8dbff54 100644
--- a/assets/js/50.1c024d64.js
+++ b/assets/js/78.1913fc0d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{438:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[78],{466:function(t,e,s){"use strict";s.r(e);var a=s(27),r=Object(a.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[e("h1",{attrs:{id:"note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#note"}},[this._v("#")]),this._v(" Note")]),this._v(" "),e("p",[this._v("Please visit our "),e("a",{attrs:{href:"https://github.com/apache/teaclave-sgx-sd [...]
\ No newline at end of file
diff --git a/assets/js/78.fd509679.js b/assets/js/79.346442bb.js
similarity index 97%
rename from assets/js/78.fd509679.js
rename to assets/js/79.346442bb.js
index 4a3847f..30262b4 100644
--- a/assets/js/78.fd509679.js
+++ b/assets/js/79.346442bb.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[78],{467:function(e,t,a){"use strict";a.r(t);var r=a(27),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"the-world-of-forked-crates"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#the-world-of-forked-crates"}},[e._v("#")]),e._v(" The World of Forked crates")]),e._v(" "),a("p",[e._v('We created a "super repo" at  [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[79],{467:function(e,t,a){"use strict";a.r(t);var r=a(27),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"the-world-of-forked-crates"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#the-world-of-forked-crates"}},[e._v("#")]),e._v(" The World of Forked crates")]),e._v(" "),a("p",[e._v('We created a "super repo" at  [...]
\ No newline at end of file
diff --git a/assets/js/8.b1a792e7.js b/assets/js/8.b1a792e7.js
new file mode 100644
index 0000000..4e8ab0e
--- /dev/null
+++ b/assets/js/8.b1a792e7.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{348:function(t,e,n){},394:function(t,e,n){"use strict";var i=n(348);n.n(i).a},513:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,i=e.slots;return t("span",{class:["badge",n.type],style:{verticalAlign:n.vertical}},n.text||i().default)}},r=(n(394),n(27)),a=Object(r.a)(i,void 0,void 0,!1,null,"385f24c3 [...]
\ No newline at end of file
diff --git a/assets/js/79.0a1058d0.js b/assets/js/80.4701f932.js
similarity index 98%
rename from assets/js/79.0a1058d0.js
rename to assets/js/80.4701f932.js
index 1c94844..59290ed 100644
--- a/assets/js/79.0a1058d0.js
+++ b/assets/js/80.4701f932.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[79],{466:function(e,t,r){"use strict";r.r(t);var a=r(27),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"community"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#community"}},[e._v("#")]),e._v(" Community")]),e._v(" "),r("p",[e._v("Welcome to the Teaclave community. Here are several ways that you can get involv [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[80],{468:function(e,t,r){"use strict";r.r(t);var a=r(27),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"community"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#community"}},[e._v("#")]),e._v(" Community")]),e._v(" "),r("p",[e._v("Welcome to the Teaclave community. Here are several ways that you can get involv [...]
\ No newline at end of file
diff --git a/assets/js/80.770f3a65.js b/assets/js/81.b096484b.js
similarity index 94%
rename from assets/js/80.770f3a65.js
rename to assets/js/81.b096484b.js
index b6c281a..8394c97 100644
--- a/assets/js/80.770f3a65.js
+++ b/assets/js/81.b096484b.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[80],{468:function(e,t,s){"use strict";s.r(t);var n=s(27),a=Object(n.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"contributing-to-teaclave"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#contributing-to-teaclave"}},[e._v("#")]),e._v(" Contributing to Teaclave")]),e._v(" "),s("p",[e._v("As an open-source community, we wel [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[81],{469:function(e,t,s){"use strict";s.r(t);var n=s(27),a=Object(n.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"contributing-to-teaclave"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#contributing-to-teaclave"}},[e._v("#")]),e._v(" Contributing to Teaclave")]),e._v(" "),s("p",[e._v("As an open-source community, we wel [...]
\ No newline at end of file
diff --git a/assets/js/81.4f198768.js b/assets/js/82.c3c0cd76.js
similarity index 98%
rename from assets/js/81.4f198768.js
rename to assets/js/82.c3c0cd76.js
index e083da7..90b3bb5 100644
--- a/assets/js/81.4f198768.js
+++ b/assets/js/82.c3c0cd76.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[81],{469:function(e,r,t){"use strict";t.r(r);var a=t(27),n=Object(a.a)({},(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"contributors"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contributors"}},[e._v("#")]),e._v(" Contributors")]),e._v(" "),t("p",[e._v("Teaclave adopts "),t("a",{attrs:{href:"https://www.apache.org/theapache [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[82],{470:function(e,r,t){"use strict";t.r(r);var a=t(27),n=Object(a.a)({},(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"contributors"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contributors"}},[e._v("#")]),e._v(" Contributors")]),e._v(" "),t("p",[e._v("Teaclave adopts "),t("a",{attrs:{href:"https://www.apache.org/theapache [...]
\ No newline at end of file
diff --git a/assets/js/82.08b24aae.js b/assets/js/83.c414d534.js
similarity index 99%
rename from assets/js/82.08b24aae.js
rename to assets/js/83.c414d534.js
index a768ae6..302be09 100644
--- a/assets/js/82.08b24aae.js
+++ b/assets/js/83.c414d534.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[82],{470:function(e,t,a){"use strict";a.r(t);var r=a(27),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"teaclave-a-universal-secure-computing-platform"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-a-universal-secure-computing-platform"}},[e._v("#")]),e._v(" Teaclave: A Universal Secure Computing Plat [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[83],{471:function(e,t,a){"use strict";a.r(t);var r=a(27),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"teaclave-a-universal-secure-computing-platform"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-a-universal-secure-computing-platform"}},[e._v("#")]),e._v(" Teaclave: A Universal Secure Computing Plat [...]
\ No newline at end of file
diff --git a/assets/js/83.de1e81b7.js b/assets/js/84.a07e428e.js
similarity index 91%
rename from assets/js/83.de1e81b7.js
rename to assets/js/84.a07e428e.js
index 846116a..9a3011a 100644
--- a/assets/js/83.de1e81b7.js
+++ b/assets/js/84.a07e428e.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[83],{471:function(t,e,r){"use strict";r.r(e);var a=r(27),i=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"security-policy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#security-policy"}},[t._v("#")]),t._v(" Security Policy")]),t._v(" "),r("h2",{attrs:{id:"reporting-a-vulnerability"}},[r("a",{staticClass:"header [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{472:function(t,e,r){"use strict";r.r(e);var a=r(27),i=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"security-policy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#security-policy"}},[t._v("#")]),t._v(" Security Policy")]),t._v(" "),r("h2",{attrs:{id:"reporting-a-vulnerability"}},[r("a",{staticClass:"header [...]
\ No newline at end of file
diff --git a/assets/js/84.c1629530.js b/assets/js/85.5e189192.js
similarity index 97%
rename from assets/js/84.c1629530.js
rename to assets/js/85.5e189192.js
index 860f221..3924502 100644
--- a/assets/js/84.c1629530.js
+++ b/assets/js/85.5e189192.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{472:function(e,t,a){"use strict";a.r(t);var n=a(27),i=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"attestation-in-teaclave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#attestation-in-teaclave"}},[e._v("#")]),e._v(" Attestation in Teaclave")]),e._v(" "),a("p",[e._v("This directory contains the implementa [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[85],{473:function(e,t,a){"use strict";a.r(t);var n=a(27),i=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"attestation-in-teaclave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#attestation-in-teaclave"}},[e._v("#")]),e._v(" Attestation in Teaclave")]),e._v(" "),a("p",[e._v("This directory contains the implementa [...]
\ No newline at end of file
diff --git a/assets/js/85.9412d20d.js b/assets/js/86.e82983b6.js
similarity index 88%
rename from assets/js/85.9412d20d.js
rename to assets/js/86.e82983b6.js
index 819be0d..fbbcfd3 100644
--- a/assets/js/85.9412d20d.js
+++ b/assets/js/86.e82983b6.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[85],{474:function(e,t,n){"use strict";n.r(t);var s=n(27),r=Object(s.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"binder"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#binder"}},[this._v("#")]),this._v(" Binder")]),this._v(" "),t("p",[this._v("The binder library provides communication interfaces between TEE's app/encl [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[86],{474:function(e,t,n){"use strict";n.r(t);var s=n(27),r=Object(s.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"binder"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#binder"}},[this._v("#")]),this._v(" Binder")]),this._v(" "),t("p",[this._v("The binder library provides communication interfaces between TEE's app/encl [...]
\ No newline at end of file
diff --git a/assets/js/86.48f68b58.js b/assets/js/87.53bb3a89.js
similarity index 98%
rename from assets/js/86.48f68b58.js
rename to assets/js/87.53bb3a89.js
index da5e4ec..c9849b0 100644
--- a/assets/js/86.48f68b58.js
+++ b/assets/js/87.53bb3a89.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[86],{475:function(e,t,a){"use strict";a.r(t);var n=a(27),s=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"teaclave-command-line-tool"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-command-line-tool"}},[e._v("#")]),e._v(" Teaclave Command Line Tool")]),e._v(" "),a("p",[e._v("The Teaclave command line too [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[87],{475:function(e,t,a){"use strict";a.r(t);var n=a(27),s=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"teaclave-command-line-tool"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-command-line-tool"}},[e._v("#")]),e._v(" Teaclave Command Line Tool")]),e._v(" "),a("p",[e._v("The Teaclave command line too [...]
\ No newline at end of file
diff --git a/assets/js/87.68636983.js b/assets/js/88.7c63b857.js
similarity index 90%
rename from assets/js/87.68636983.js
rename to assets/js/88.7c63b857.js
index 8880a8e..fa7d1e8 100644
--- a/assets/js/87.68636983.js
+++ b/assets/js/88.7c63b857.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[87],{473:function(e,s,t){"use strict";t.r(s);var r=t(27),a=Object(r.a)({},(function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"common-libraries"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#common-libraries"}},[e._v("#")]),e._v(" Common Libraries")]),e._v(" "),t("p",[e._v("This directory contains some supporting libraries such as e [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[88],{476:function(e,s,t){"use strict";t.r(s);var r=t(27),a=Object(r.a)({},(function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"common-libraries"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#common-libraries"}},[e._v("#")]),e._v(" Common Libraries")]),e._v(" "),t("p",[e._v("This directory contains some supporting libraries such as e [...]
\ No newline at end of file
diff --git a/assets/js/88.f3267ef3.js b/assets/js/89.b0b6aec5.js
similarity index 92%
rename from assets/js/88.f3267ef3.js
rename to assets/js/89.b0b6aec5.js
index a654c67..837b2a4 100644
--- a/assets/js/88.f3267ef3.js
+++ b/assets/js/89.b0b6aec5.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[88],{477:function(e,t,r){"use strict";r.r(t);var n=r(27),o=Object(n.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"rust-bindings-for-protectedfs"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rust-bindings-for-protectedfs"}},[e._v("#")]),e._v(" Rust bindings for ProtectedFS")]),e._v(" "),r("p",[r("code",[e._v("protected_ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[89],{478:function(e,t,r){"use strict";r.r(t);var n=r(27),o=Object(n.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"rust-bindings-for-protectedfs"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rust-bindings-for-protectedfs"}},[e._v("#")]),e._v(" Rust bindings for ProtectedFS")]),e._v(" "),r("p",[r("code",[e._v("protected_ [...]
\ No newline at end of file
diff --git a/assets/js/9.976c662b.js b/assets/js/9.976c662b.js
deleted file mode 100644
index bce7fab..0000000
--- a/assets/js/9.976c662b.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{346:function(t,e,a){},390:function(t,e,a){"use strict";var n=a(346);a.n(n).a},397:function(t,e,a){"use strict";a.r(e);a(101);var n=a(352),o=a(351),i=a(350),s=a(353),r=a(186),c=a.n(r),h=a(358),u={name:"Layout",components:{Home:n.a,Page:i.a,Sidebar:s.a,Navbar:o.a},data:function(){return{isSidebarOpen:!1,paginationComponent:null}},computed:{sidebarItems:function(){return[]},pages:function(){return this.$pagination.pages},shouldShowNav [...]
\ No newline at end of file
diff --git a/assets/js/8.b77a0d53.js b/assets/js/9.9ff733e4.js
similarity index 96%
rename from assets/js/8.b77a0d53.js
rename to assets/js/9.9ff733e4.js
index 5b24e71..536eaf8 100644
--- a/assets/js/8.b77a0d53.js
+++ b/assets/js/9.9ff733e4.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{345:function(t,e,a){},389:function(t,e,a){"use strict";var n=a(345);a.n(n).a},395:function(t,e,a){"use strict";a.r(e);a(101);var n=a(352),o=a(351),i=a(350),s=a(353),r=a(186),c=a.n(r),h=a(358),u={name:"Layout",components:{Home:n.a,Page:i.a,Sidebar:s.a,Navbar:o.a},data:function(){return{isSidebarOpen:!1,paginationComponent:null}},computed:{pages:function(){return this.$pagination.pages},shouldShowNavbar:function(){var t=this.$site.th [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{345:function(t,e,a){},389:function(t,e,a){"use strict";var n=a(345);a.n(n).a},398:function(t,e,a){"use strict";a.r(e);a(101);var n=a(352),o=a(351),i=a(350),s=a(353),r=a(186),c=a.n(r),h=a(358),u={name:"Layout",components:{Home:n.a,Page:i.a,Sidebar:s.a,Navbar:o.a},data:function(){return{isSidebarOpen:!1,paginationComponent:null}},computed:{pages:function(){return this.$pagination.pages},shouldShowNavbar:function(){var t=this.$site.th [...]
\ No newline at end of file
diff --git a/assets/js/89.889652c3.js b/assets/js/90.c3217529.js
similarity index 97%
rename from assets/js/89.889652c3.js
rename to assets/js/90.c3217529.js
index 2fe8dcc..cdcedb7 100644
--- a/assets/js/89.889652c3.js
+++ b/assets/js/90.c3217529.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[89],{476:function(e,t,s){"use strict";s.r(t);var a=s(27),i=Object(a.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"leveldb-rs"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#leveldb-rs"}},[e._v("#")]),e._v(" leveldb-rs")]),e._v(" "),s("p",[s("a",{attrs:{href:"https://ci.mesalock-linux.org/mesalock-linux/rusty_leveldb_sgx" [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[90],{481:function(e,t,s){"use strict";s.r(t);var a=s(27),i=Object(a.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"leveldb-rs"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#leveldb-rs"}},[e._v("#")]),e._v(" leveldb-rs")]),e._v(" "),s("p",[s("a",{attrs:{href:"https://ci.mesalock-linux.org/mesalock-linux/rusty_leveldb_sgx" [...]
\ No newline at end of file
diff --git a/assets/js/90.46d41bf6.js b/assets/js/91.7890ee4a.js
similarity index 97%
rename from assets/js/90.46d41bf6.js
rename to assets/js/91.7890ee4a.js
index 83c6176..15a14f6 100644
--- a/assets/js/90.46d41bf6.js
+++ b/assets/js/91.7890ee4a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[90],{478:function(e,t,n){"use strict";n.r(t);var i=n(27),a=Object(i.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"configurations-in-teaclave"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#configurations-in-teaclave"}},[e._v("#")]),e._v(" Configurations in Teaclave")]),e._v(" "),n("p",[e._v("This Teaclave Config describe [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[91],{480:function(e,t,n){"use strict";n.r(t);var i=n(27),a=Object(i.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"configurations-in-teaclave"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#configurations-in-teaclave"}},[e._v("#")]),e._v(" Configurations in Teaclave")]),e._v(" "),n("p",[e._v("This Teaclave Config describe [...]
\ No newline at end of file
diff --git a/assets/js/91.8448d655.js b/assets/js/92.b55c50fa.js
similarity index 92%
rename from assets/js/91.8448d655.js
rename to assets/js/92.b55c50fa.js
index 9a664ba..495fab4 100644
--- a/assets/js/91.8448d655.js
+++ b/assets/js/92.b55c50fa.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[91],{479:function(e,t,i){"use strict";i.r(t);var r=i(27),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"crypto-primitives"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#crypto-primitives"}},[e._v("#")]),e._v(" Crypto Primitives")]),e._v(" "),i("p",[e._v("This directory hosts all the implementations of cryptogr [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[92],{482:function(e,t,i){"use strict";i.r(t);var r=i(27),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"crypto-primitives"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#crypto-primitives"}},[e._v("#")]),e._v(" Crypto Primitives")]),e._v(" "),i("p",[e._v("This directory hosts all the implementations of cryptogr [...]
\ No newline at end of file
diff --git a/assets/js/92.1fee5a5a.js b/assets/js/93.818236d8.js
similarity index 93%
rename from assets/js/92.1fee5a5a.js
rename to assets/js/93.818236d8.js
index 48a623a..f7c4e2b 100644
--- a/assets/js/92.1fee5a5a.js
+++ b/assets/js/93.818236d8.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[92],{480:function(e,t,n){"use strict";n.r(t);var a=n(27),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"data-center-attestation-service"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#data-center-attestation-service"}},[e._v("#")]),e._v(" Data Center Attestation Service")]),e._v(" "),n("p",[e._v("This directory [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[93],{483:function(e,t,n){"use strict";n.r(t);var a=n(27),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"data-center-attestation-service"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#data-center-attestation-service"}},[e._v("#")]),e._v(" Data Center Attestation Service")]),e._v(" "),n("p",[e._v("This directory [...]
\ No newline at end of file
diff --git a/assets/js/93.8acfd05f.js b/assets/js/94.6ebe8dc1.js
similarity index 96%
rename from assets/js/93.8acfd05f.js
rename to assets/js/94.6ebe8dc1.js
index 6a070de..8ad8e07 100644
--- a/assets/js/93.8acfd05f.js
+++ b/assets/js/94.6ebe8dc1.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[93],{481:function(e,t,a){"use strict";a.r(t);var n=a(27),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"teaclave-docker"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-docker"}},[e._v("#")]),e._v(" Teaclave Docker")]),e._v(" "),a("p",[e._v("This directory contains the docker infrastructure for build an [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[94],{484:function(e,t,a){"use strict";a.r(t);var n=a(27),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"teaclave-docker"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-docker"}},[e._v("#")]),e._v(" Teaclave Docker")]),e._v(" "),a("p",[e._v("This directory contains the docker infrastructure for build an [...]
\ No newline at end of file
diff --git a/assets/js/94.e01c4937.js b/assets/js/95.c4489c14.js
similarity index 97%
rename from assets/js/94.e01c4937.js
rename to assets/js/95.c4489c14.js
index 0c31ce8..f9ab5bb 100644
--- a/assets/js/94.e01c4937.js
+++ b/assets/js/95.c4489c14.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[94],{482:function(t,e,a){"use strict";a.r(e);var r=a(27),o=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"teaclave-documentation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-documentation"}},[t._v("#")]),t._v(" Teaclave Documentation")]),t._v(" "),a("h2",{attrs:{id:"try"}},[a("a",{staticClass:"header- [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[95],{486:function(t,e,a){"use strict";a.r(e);var r=a(27),o=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"teaclave-documentation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-documentation"}},[t._v("#")]),t._v(" Teaclave Documentation")]),t._v(" "),a("h2",{attrs:{id:"try"}},[a("a",{staticClass:"header- [...]
\ No newline at end of file
diff --git a/assets/js/95.2f56c6ca.js b/assets/js/96.5f370cfc.js
similarity index 99%
rename from assets/js/95.2f56c6ca.js
rename to assets/js/96.5f370cfc.js
index 15d504b..0effa7f 100644
--- a/assets/js/95.2f56c6ca.js
+++ b/assets/js/96.5f370cfc.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[95],{483:function(e,a,t){"use strict";t.r(a);var s=t(27),n=Object(s.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"access-control-in-teaclave"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#access-control-in-teaclave"}},[e._v("#")]),e._v(" Access Control in Teaclave")]),e._v(" "),t("p",[e._v("Access control in multi-party [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[96],{485:function(e,a,t){"use strict";t.r(a);var s=t(27),n=Object(s.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"access-control-in-teaclave"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#access-control-in-teaclave"}},[e._v("#")]),e._v(" Access Control in Teaclave")]),e._v(" "),t("p",[e._v("Access control in multi-party [...]
\ No newline at end of file
diff --git a/assets/js/96.c8ccd2bd.js b/assets/js/96.c8ccd2bd.js
deleted file mode 100644
index 66d3a08..0000000
--- a/assets/js/96.c8ccd2bd.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[96],{484:function(e,t,a){"use strict";a.r(t);var n=a(27),s=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"deploying-teaclave-on-azure-confidential-computing-virtual-machines"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#deploying-teaclave-on-azure-confidential-computing-virtual-machines"}},[e._v("#")]),e._v(" D [...]
\ No newline at end of file
diff --git a/assets/js/97.5484b1a0.js b/assets/js/97.5484b1a0.js
new file mode 100644
index 0000000..b888367
--- /dev/null
+++ b/assets/js/97.5484b1a0.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[97],{487:function(e,t,a){"use strict";a.r(t);var n=a(27),s=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"deploying-teaclave-on-azure-confidential-computing-virtual-machines"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#deploying-teaclave-on-azure-confidential-computing-virtual-machines"}},[e._v("#")]),e._v(" D [...]
\ No newline at end of file
diff --git a/assets/js/97.bd1e7304.js b/assets/js/98.cfd9ae27.js
similarity index 99%
rename from assets/js/97.bd1e7304.js
rename to assets/js/98.cfd9ae27.js
index 45daa6a..f1521cd 100644
--- a/assets/js/97.bd1e7304.js
+++ b/assets/js/98.cfd9ae27.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[97],{485:function(e,t,a){"use strict";a.r(t);var s=a(27),o=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"build-system"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#build-system"}},[e._v("#")]),e._v(" Build System")]),e._v(" "),a("p",[e._v("The Teaclave's build system utilizes CMake to coordinate compilation, l [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[98],{488:function(e,t,a){"use strict";a.r(t);var s=a(27),o=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"build-system"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#build-system"}},[e._v("#")]),e._v(" Build System")]),e._v(" "),a("p",[e._v("The Teaclave's build system utilizes CMake to coordinate compilation, l [...]
\ No newline at end of file
diff --git a/assets/js/98.a5f7e2ac.js b/assets/js/99.0981f7cb.js
similarity index 98%
rename from assets/js/98.a5f7e2ac.js
rename to assets/js/99.0981f7cb.js
index 1f47f53..bddc82c 100644
--- a/assets/js/98.a5f7e2ac.js
+++ b/assets/js/99.0981f7cb.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[98],{487:function(e,t,n){"use strict";n.r(t);var i=n(27),a=Object(i.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"how-to-add-built-in-functions"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#how-to-add-built-in-functions"}},[e._v("#")]),e._v(" How to Add Built-in Functions")]),e._v(" "),n("p",[e._v("There are several wa [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[99],{489:function(e,t,n){"use strict";n.r(t);var i=n(27),a=Object(i.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"how-to-add-built-in-functions"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#how-to-add-built-in-functions"}},[e._v("#")]),e._v(" How to Add Built-in Functions")]),e._v(" "),n("p",[e._v("There are several wa [...]
\ No newline at end of file
diff --git a/assets/js/99.5882f3dc.js b/assets/js/99.5882f3dc.js
deleted file mode 100644
index b97ec67..0000000
--- a/assets/js/99.5882f3dc.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[99],{486:function(e,t,r){"use strict";r.r(t);var n=r(27),o=Object(n.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"development-tips"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#development-tips"}},[e._v("#")]),e._v(" Development Tips")]),e._v(" "),r("h2",{attrs:{id:"rls-rust-analyzer-and-ides"}},[r("a",{staticClass:"he [...]
\ No newline at end of file
diff --git a/assets/js/app.59ec8dd0.js b/assets/js/app.55ea5d5c.js
similarity index 59%
rename from assets/js/app.59ec8dd0.js
rename to assets/js/app.55ea5d5c.js
index d95f573..79a4772 100644
--- a/assets/js/app.59ec8dd0.js
+++ b/assets/js/app.55ea5d5c.js
@@ -1,4 +1,4 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(e){function t(t){for(var r,i,c=t[0],s=t[1],l=t[2],p=0,d=[];p<c.length;p++)i=c[p],Object.prototype.hasOwnProperty.call(a,i)&&a[i]&&d.push(a[i][0]),a[i]=0;for(r in s)Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r]);for(u&&u(t);d.length;)d.shift()();return o.push.apply(o,l||[]),n()}function n(){for(var e,t=0;t<o.length;t++){for(var n=o[t],r=!0,c=1;c<n.length;c++){var s=n[c];0!==a[s]&&(r=!1)}r&&(o.splice(t--,1),e=i( [...]
+(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(e){function t(t){for(var r,i,c=t[0],s=t[1],l=t[2],p=0,d=[];p<c.length;p++)i=c[p],Object.prototype.hasOwnProperty.call(a,i)&&a[i]&&d.push(a[i][0]),a[i]=0;for(r in s)Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r]);for(u&&u(t);d.length;)d.shift()();return o.push.apply(o,l||[]),n()}function n(){for(var e,t=0;t<o.length;t++){for(var n=o[t],r=!0,c=1;c<n.length;c++){var s=n[c];0!==a[s]&&(r=!1)}r&&(o.splice(t--,1),e=i( [...]
 /*!
  * Vue.js v2.6.11
  * (c) 2014-2019 Evan You
@@ -10,4 +10,4 @@
   * vue-router v3.1.6
   * (c) 2020 Evan You
   * @license MIT
-  */function i(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function c(e,t){return t instanceof e||t&&(t.name===e.name||t._name===e._name)}function s(e,t){for(var n in t)e[n]=t[n];return e}var l={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(e,t){var n=t.props,r=t.children,a=t.parent,o=t.data;o.routerView=!0;for(var i=a.$createElement,c=n.name,l=a.$route,p=a._routerViewCache||(a._routerViewCache={}),d=0,f=!1;a&&a._routerRo [...]
\ No newline at end of file
+  */function i(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function c(e,t){return t instanceof e||t&&(t.name===e.name||t._name===e._name)}function s(e,t){for(var n in t)e[n]=t[n];return e}var l={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(e,t){var n=t.props,r=t.children,a=t.parent,o=t.data;o.routerView=!0;for(var i=a.$createElement,c=n.name,l=a.$route,p=a._routerViewCache||(a._routerViewCache={}),d=0,f=!1;a&&a._routerRo [...]
\ No newline at end of file
diff --git a/assets/js/vuejs-paginate.989c2fd5.js b/assets/js/vuejs-paginate.86a2611c.js
similarity index 98%
rename from assets/js/vuejs-paginate.989c2fd5.js
rename to assets/js/vuejs-paginate.86a2611c.js
index b006821..ac685ff 100644
--- a/assets/js/vuejs-paginate.989c2fd5.js
+++ b/assets/js/vuejs-paginate.86a2611c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{393:function(e,t,n){e.exports=function(e){function t(s){if(n[s])return n[s].exports;var a=n[s]={exports:{},id:s,loaded:!1};return e[s].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";var s=function(e){return e&&e.__esModule?e:{default:e}}(n(1));e.exports=s.default},function(e,t,n){n(2);var s=n(6)(n(7),n(8),"data-v-82963a40",null);e.exports=s.exports},functio [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{396:function(e,t,n){e.exports=function(e){function t(s){if(n[s])return n[s].exports;var a=n[s]={exports:{},id:s,loaded:!1};return e[s].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";var s=function(e){return e&&e.__esModule?e:{default:e}}(n(1));e.exports=s.default},function(e,t,n){n(2);var s=n(6)(n(7),n(8),"data-v-82963a40",null);e.exports=s.exports},functio [...]
\ No newline at end of file
diff --git a/blog/2019-08-19-apache-incubation-proposal/index.html b/blog/2019-08-19-apache-incubation-proposal/index.html
index 96c1723..f106ba2 100644
--- a/blog/2019-08-19-apache-incubation-proposal/index.html
+++ b/blog/2019-08-19-apache-incubation-proposal/index.html
@@ -17,7 +17,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/blog/2019-08-19-apache-incubation-proposal/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/9.976c662b.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/14.d028c098.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/10.45c58fe7.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/15.5d7c9319.js" as="script"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba5c.js"><link rel="prefetch" href="/assets/js/102.4502 [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -511,6 +511,6 @@ The Incubator PMC
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/9.976c662b.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/14.d028c098.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/10.45c58fe7.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/15.5d7c9319.js" defer></script>
   </body>
 </html>
diff --git a/blog/2019-12-02-mitigation-of-intel-sa-00219-in-teaclave-sgx-sdk/index.html b/blog/2019-12-02-mitigation-of-intel-sa-00219-in-teaclave-sgx-sdk/index.html
index b50b3d7..ad3888c 100644
--- a/blog/2019-12-02-mitigation-of-intel-sa-00219-in-teaclave-sgx-sdk/index.html
+++ b/blog/2019-12-02-mitigation-of-intel-sa-00219-in-teaclave-sgx-sdk/index.html
@@ -17,7 +17,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/blog/2019-12-02-mitigation-of-intel-sa-00219-in-teaclave-sgx-sdk/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/9.976c662b.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/15.908652b2.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/10.45c58fe7.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/16.eb4cb7a8.js" as="script"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba5c.js"><link rel="prefetch" href="/assets/js/102.4502 [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -334,6 +334,6 @@ assert!(heap_align_obj.is_some());
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/9.976c662b.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/15.908652b2.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/10.45c58fe7.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/16.eb4cb7a8.js" defer></script>
   </body>
 </html>
diff --git a/blog/2019-12-31-podling-teaclave-report-january-2020/index.html b/blog/2019-12-31-podling-teaclave-report-january-2020/index.html
index d51a5fa..ffe6909 100644
--- a/blog/2019-12-31-podling-teaclave-report-january-2020/index.html
+++ b/blog/2019-12-31-podling-teaclave-report-january-2020/index.html
@@ -17,7 +17,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/blog/2019-12-31-podling-teaclave-report-january-2020/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/9.976c662b.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/16.b1e55146.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/10.45c58fe7.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/17.e3f50c6d.js" as="script"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba5c.js"><link rel="prefetch" href="/assets/js/102.4502 [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -126,6 +126,6 @@ brand. The VP, Brand has approve the project name.
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/9.976c662b.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/16.b1e55146.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/10.45c58fe7.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/17.e3f50c6d.js" defer></script>
   </body>
 </html>
diff --git a/blog/2020-03-31-podling-teaclave-report-april-2020/index.html b/blog/2020-03-31-podling-teaclave-report-april-2020/index.html
index 2b30985..a4efba3 100644
--- a/blog/2020-03-31-podling-teaclave-report-april-2020/index.html
+++ b/blog/2020-03-31-podling-teaclave-report-april-2020/index.html
@@ -17,7 +17,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/blog/2020-03-31-podling-teaclave-report-april-2020/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/9.976c662b.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/17.01df0670.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/10.45c58fe7.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/18.3e98ad35.js" as="script"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba5c.js"><link rel="prefetch" href="/assets/js/102.4502 [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -134,6 +134,6 @@ The VP, Brand has approve the project name. (PODLINGNAMESEARCH-175)</p></div></a
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/9.976c662b.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/17.01df0670.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/10.45c58fe7.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/18.3e98ad35.js" defer></script>
   </body>
 </html>
diff --git a/blog/2020-06-28-podling-teaclave-report-july-2020/index.html b/blog/2020-06-28-podling-teaclave-report-july-2020/index.html
index da7990f..d1c8e03 100644
--- a/blog/2020-06-28-podling-teaclave-report-july-2020/index.html
+++ b/blog/2020-06-28-podling-teaclave-report-july-2020/index.html
@@ -17,7 +17,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/blog/2020-06-28-podling-teaclave-report-july-2020/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/9.976c662b.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/18.72344dec.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/10.45c58fe7.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/19.950c7dc4.js" as="script"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba5c.js"><link rel="prefetch" href="/assets/js/102.4502 [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -141,6 +141,6 @@ brand. The VP, Brand has approved the project name.
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/9.976c662b.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/18.72344dec.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/10.45c58fe7.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/19.950c7dc4.js" defer></script>
   </body>
 </html>
diff --git a/blog/2020-10-11-podling-teaclave-report-october-2020/index.html b/blog/2020-10-11-podling-teaclave-report-october-2020/index.html
index 078a316..2988e5a 100644
--- a/blog/2020-10-11-podling-teaclave-report-october-2020/index.html
+++ b/blog/2020-10-11-podling-teaclave-report-october-2020/index.html
@@ -17,7 +17,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/blog/2020-10-11-podling-teaclave-report-october-2020/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/9.976c662b.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/19.29affffd.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/10.45c58fe7.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/20.69fa65be.js" as="script"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba5c.js"><link rel="prefetch" href="/assets/js/102.4502 [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -128,6 +128,6 @@ The VP, Brand has approved the project name. (PODLINGNAMESEARCH-175)</p></div></
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/9.976c662b.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/19.29affffd.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/10.45c58fe7.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/20.69fa65be.js" defer></script>
   </body>
 </html>
diff --git a/blog/2020-10-21-announcing-teaclave-0-1-0/index.html b/blog/2020-10-21-announcing-teaclave-0-1-0/index.html
index c4a4a5e..44625b9 100644
--- a/blog/2020-10-21-announcing-teaclave-0-1-0/index.html
+++ b/blog/2020-10-21-announcing-teaclave-0-1-0/index.html
@@ -17,7 +17,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/blog/2020-10-21-announcing-teaclave-0-1-0/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/9.976c662b.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/10.f0acf912.js" as="script"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf5b.js"><link rel="prefetch" href="/assets/js/102.4310d [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/10.45c58fe7.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/11.45fce64c.js" as="script"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba5c.js"><link rel="prefetch" href="/assets/js/102.4502 [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -200,6 +200,6 @@ community.</p> <p>Happy Teaclaving. Cheers!</p></div></article></div>  <div clas
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/9.976c662b.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/10.f0acf912.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/10.45c58fe7.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/11.45fce64c.js" defer></script>
   </body>
 </html>
diff --git a/blog/2020-10-28-announcing-teaclave-0-1-0-cn/index.html b/blog/2020-10-28-announcing-teaclave-0-1-0-cn/index.html
index 95674bc..2511f67 100644
--- a/blog/2020-10-28-announcing-teaclave-0-1-0-cn/index.html
+++ b/blog/2020-10-28-announcing-teaclave-0-1-0-cn/index.html
@@ -17,7 +17,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/blog/2020-10-28-announcing-teaclave-0-1-0-cn/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/9.976c662b.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/11.ccf6ce9c.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/10.45c58fe7.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/12.7c4a0c82.js" as="script"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba5c.js"><link rel="prefetch" href="/assets/js/102.4502 [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -156,6 +156,6 @@ Teaclave 相关的演讲、论文和文章,包括今年在 ApacheCon 的演讲
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/9.976c662b.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/11.ccf6ce9c.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/10.45c58fe7.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/12.7c4a0c82.js" defer></script>
   </body>
 </html>
diff --git a/blog/2020-10-28-announcing-teaclave-0-1-0-cn/index.html b/blog/2020-12-03-teaclave-ecosystem-cn/index.html
similarity index 53%
copy from blog/2020-10-28-announcing-teaclave-0-1-0-cn/index.html
copy to blog/2020-12-03-teaclave-ecosystem-cn/index.html
index 95674bc..a0b7302 100644
--- a/blog/2020-10-28-announcing-teaclave-0-1-0-cn/index.html
+++ b/blog/2020-12-03-teaclave-ecosystem-cn/index.html
@@ -3,21 +3,20 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>让安全计算更简单 - Apache Teaclave (incubating) 0.1.0 正式发布 | Apache Teaclave (incubating)</title>
+    <title>Teaclave 安全计算开源生态 - 由 Teaclave 驱动的开源项目一览 | Apache Teaclave (incubating)</title>
     <meta name="generator" content="VuePress 1.5.0">
     <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lato&amp;display=swap">
     <meta name="description" content="Apache Teaclave (incubating) is an open source universal secure computing platform, making computation on privacy-sensitive data safe and simple.">
-    <meta property="article:published_time" content="2020-10-29T00:00:00.000Z">
-    <meta property="article:modified_time" content="2020-11-01T05:56:18.000Z">
+    <meta property="article:published_time" content="2020-12-04T00:00:00.000Z">
     <meta property="og:site_name" content="Apache Teaclave (incubating)">
-    <meta property="og:title" content="让安全计算更简单 - Apache Teaclave (incubating) 0.1.0 正式发布">
+    <meta property="og:title" content="Teaclave 安全计算开源生态 - 由 Teaclave 驱动的开源项目一览">
     <meta property="og:type" content="article">
-    <meta property="og:url" content="https://teaclave.apache.org/blog/2020-10-28-announcing-teaclave-0-1-0-cn/">
-    <meta name="twitter:title" content="让安全计算更简单 - Apache Teaclave (incubating) 0.1.0 正式发布">
-    <meta name="twitter:url" content="https://teaclave.apache.org/blog/2020-10-28-announcing-teaclave-0-1-0-cn/">
+    <meta property="og:url" content="https://teaclave.apache.org/blog/2020-12-03-teaclave-ecosystem-cn/">
+    <meta name="twitter:title" content="Teaclave 安全计算开源生态 - 由 Teaclave 驱动的开源项目一览">
+    <meta name="twitter:url" content="https://teaclave.apache.org/blog/2020-12-03-teaclave-ecosystem-cn/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/9.976c662b.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/11.ccf6ce9c.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/10.45c58fe7.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/7.d282795d.js" as="script"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba5c.js"><link rel="prefetch" href="/assets/js/102.4502e [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -102,47 +101,8 @@
   <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li><li class="dropdown-item"><!----> <a hre [...]
   Current Event
   <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></div></div> <!----></nav>  <!----> [...]
-        让安全计算更简单 - Apache Teaclave (incubating) 0.1.0 正式发布
-      </h1> <div class="publish-date-author">October 28, 2020 · Mingshen Sun</div></header> <div itemprop="articleBody" class="content__default"><p><a href="/blog/2020-10-21-announcing-teaclave-0-1-0/">English</a> | <a href="/blog/2020-10-28-announcing-teaclave-0-1-0-cn/" class="router-link-exact-active router-link-active">中文</a></p> <p>Apache Teaclave (incubating) 作为全球首个开源通用安全计算平台,在 2020 年 10 月
-21 日社区投票正式通过 0.1.0 的版本发布。0.1.0 版是 Teaclave 社区发展重要的里程碑,
-它是暨 Teaclave 进入 Apache 孵化器后发布的第一个正式版本,这意味着 Teaclave 通向
-Apache 顶级项目之路走上了正轨。</p> <p>Teaclave 是一个安全计算平台,为隐私数据计算赋能。基于硬件安全能力,Teaclave 确保
-敏感数据在可信域外和离岸场景下安全可控的流通和处理,无需担心隐私数据泄露和滥用。
-Teaclave 同时支持多方参与的联合计算,打破企业和组织中的数据孤岛。</p> <p>简单来说,Teaclave 有以下四个亮点:</p> <ul><li><strong>安全性</strong>:Teaclave 使用多重安全技术保护隐私数据的计算。我们使用 Intel SGX,
-提供基于硬件隔离、内存加密、远程证实等安全技术保护数据隐私计算任务。不仅如此,
-为了避免内存安全漏洞带来的安全风险,Teaclave 还使用内存安全编程语言 Rust 编写。</li> <li><strong>功能性</strong>:Teaclave 平台提供了更加便利的函数即服务(function-as-a-service)接
-口,大大的降低了使用门槛。平台中也实现了众多内置函数,例如机器学习算法,多方联
-合求交,加解密计算等等常用功能。更重要的是,开发者还可以使用 Python 自由编写函
-数来操作隐私数据,提交至 Teaclave 平台执行。与传统 FaaS 框架不同的是,Teaclave
-提供了灵活的多方参与计算接口,大大简化多方安全计算的流程。</li> <li><strong>易用性</strong>:Teaclave 提供便利的部署方式,支持在本地和云上以容器的方式进行部署。
-项目中还提供了完善的接口,客户端 SDK 以及命令行工具帮助开发者使用平台的功能。</li> <li><strong>灵活性</strong>:Teaclave 设计了灵活的组件和服务框架,其他项目仅需少量修改就可以使
-用 Teaclave 中的各种组件。例如,可以在项目中使用 Teaclave 远程证实库作为第三方
-依赖库,或者直接单独部署使用 Teaclave 中的数据库服务等。</li></ul> <p><img src="/assets/img/teaclave-architecture.999fd110.png" alt="Teaclave Architecture"></p> <p>在 Teaclave 进入 Apache 孵化器后,我们启动了对项目的重构计划,同时对整个项目代码
-和交互的梳理,0.1.0 的发布是项目从诞生到成长的第一步。简单来说,我们在以下几个方
-面做了代码重构和功能特性完善:提供了更完善的函数和数据注册执行,重新设计的函数的
-开发流程,支持兼容 protobuf 的 RPC 定义接口,支持分布式执行服务,支持自定义执行
-器,提供更佳完善的文档,重新设计了错误处理机制,完善测试框架和测试用例,实现了更
-多的内置函数,支持了更加灵活的远程证实方式(DCAP),重新设计 RPC 方式等等。更多
-更详细的修改可以看我们的<a href="https://github.com/apache/incubator-teaclave/releases/tag/v0.1.0" target="_blank" rel="noopener noreferrer">版本发布文档</a>。这次
-发布一共修改了 876 个源文件,新增了 78,237 行代码,删除了 54,846 行代码,并且在
-GitHub issue 上解决了来自社区的 102 个问题。</p> <p>Teaclave 0.1.0 版本可以在<a href="/download/">官网下载页面</a>找到(注意验证 PGP 签名和 hash)。</p> <p>在新版本中我们提供了非常全面和详细的文档,如果是第一次了解和接触 Teaclave,我们
-提供了一个简单易上手的<a href="/docs/my-first-function/">新手入门文档</a>,你可以在这个文档中
-学习如何在 Teaclave 中编译和运行一个简单的函数。当然,如果你想深入的了解
-Teaclave 的内部设计和实现,我们还有更多设计文档、API 文档、代码库文档等你发现。</p> <p>感谢一直以来关注、使用、提问、为项目贡献代码的人们,Teaclave 项目的发展离不开<a href="/community/">社区</a>的支持与帮助。在此,我们非常高
-兴的宣布,已有四家公司或组织在产品中使用 Teaclave,并且有超过九个开源项目使用了
-Teaclave 平台和 Teaclave SGX SDK。这些都给项目的发展提供源源不断的动力。</p> <p>Teaclave 的开源是 <a href="https://www.apache.org/theapacheway/" target="_blank" rel="noopener noreferrer">The Apache Way</a>的
-开源,无论是代码、文档、设计还是路线图规划,我们都会在社区的各个渠道中讨论。如果
-你想关注 Teaclave,亦或想加入我们的讨论,可以在 <a href="https://lists.apache.org/list.html?dev@teaclave.apache.org" target="_blank" rel="noopener noreferrer">Github issues</a>,邮件列
-表回复我们、发起新的话题。也可以关注我们的 Twitter 账号
-<a href="https://twitter.com/ApacheTeaclave" target="_blank" rel="noopener noreferrer">@ApacheTeaclave</a>了解最新动态。除此之外,
-我们在<a href="/docs/papers-talks/">官网</a>中提供了
-Teaclave 相关的演讲、论文和文章,包括今年在 ApacheCon 的演讲 slides 和视频。</p> <p>在此,感谢我们所有<a href="/contributors/">贡献者</a>对于项
-目的贡献,感谢 Apache 社区<a href="/contributors/#mentors">导师们</a>的指导,感谢所有帮助
-扩大社区、宣传社区、讨论路线图、组织社区活动的 <a href="/contributors/#committers">PPMC 和 committer 成员</a>,
-还要感谢正在了解
-和尝试使用 Teaclave 的人们,以及回馈 Teaclave 社区的公司。你们都为 Teaclave 开源
-社区的发展做了巨大的贡献。</p> <p>最后,0.1.0 只是 Teaclave 的开端,我们还会和 Teaclave 社区继续努力,推动隐私安全
-计算的发展。</p> <p><strong>Teaclave,让安全计算更简单。</strong></p></div></article></div>  <div class="footer">
+        Teaclave 安全计算开源生态 - 由 Teaclave 驱动的开源项目一览
+      </h1> <div class="publish-date-author">December 3, 2020 · Mingshen Sun</div></header> <div itemprop="articleBody" class="content__default"><p>Apache Teaclave (incubating) (<a href="https://teaclave.apache.org/" target="_blank" rel="noopener noreferrer">https://teaclave.apache.org/</a>)是全球首个通用安全计算平台,为隐私数据计算赋能,让安全计算更简单。Teaclave 基于硬件安全能力(Intel SGX),确保敏感数据在可信域外和离岸场景下安全可控的流通和处理,无需担心隐私数据泄露和滥用。同时,Teaclave 还支持多方参与的联合计算,打破企业和组织中的数据孤岛。Teaclave 于 2019 年 8 月进入 Apache 基金会孵化器,2020 年 10 月,Teaclav [...]
     Apache Teaclave (incubating) is an effort undergoing incubation at The Apache
     Software Foundation (ASF), sponsored by the Apache Incubator.
     Incubation is required of all newly accepted projects until a further review
@@ -156,6 +116,6 @@ Teaclave 相关的演讲、论文和文章,包括今年在 ApacheCon 的演讲
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/9.976c662b.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/11.ccf6ce9c.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/10.45c58fe7.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/7.d282795d.js" defer></script>
   </body>
 </html>
diff --git a/blog/index.html b/blog/index.html
index e849e44..176654d 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -13,7 +13,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/blog/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/8.b77a0d53.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/6.7c86080e.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf5 [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/9.9ff733e4.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/6.0415ab77.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba5 [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -97,7 +97,7 @@
   Thanks
   <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li><li class="dropdown-item"><!----> <a hre [...]
   Current Event
-  <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></div></div> <!----></nav>  <!----> [...]
+  <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></div></div> <!----></nav>  <!----> [...]
     Apache Teaclave (incubating) is an effort undergoing incubation at The Apache
     Software Foundation (ASF), sponsored by the Apache Incubator.
     Incubation is required of all newly accepted projects until a further review
@@ -111,6 +111,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/8.b77a0d53.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/6.7c86080e.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/9.9ff733e4.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/6.0415ab77.js" defer></script>
   </body>
 </html>
diff --git a/community/index.html b/community/index.html
index 20f2b1e..20c08a8 100644
--- a/community/index.html
+++ b/community/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/community/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/79.0a1058d0.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/80.4701f932.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -138,6 +138,6 @@ computations amongst a group of mutually mistrusting individuals.</li></ul></div
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/79.0a1058d0.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/80.4701f932.js" defer></script>
   </body>
 </html>
diff --git a/contributing/index.html b/contributing/index.html
index 39b0bd2..d7a1353 100644
--- a/contributing/index.html
+++ b/contributing/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/contributing/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/80.770f3a65.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/81.b096484b.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -124,6 +124,6 @@ to guild you with writing a high-quality pull request).</li></ol></div> <footer
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/80.770f3a65.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/81.b096484b.js" defer></script>
   </body>
 </html>
diff --git a/contributors/index.html b/contributors/index.html
index bf23188..649de5b 100644
--- a/contributors/index.html
+++ b/contributors/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/contributors/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/81.4f198768.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/82.c3c0cd76.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -122,6 +122,6 @@ contributions it receives.</p> <p>List of external contributors of Teaclave and
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/81.4f198768.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/82.c3c0cd76.js" defer></script>
   </body>
 </html>
diff --git a/docs/access-control/index.html b/docs/access-control/index.html
index 4c96e1d..ac19e87 100644
--- a/docs/access-control/index.html
+++ b/docs/access-control/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/access-control/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/95.2f56c6ca.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/96.5f370cfc.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -175,6 +175,6 @@ dealing with badly shaped requests. Contributions are welcome!</p></div> <footer
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/95.2f56c6ca.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/96.5f370cfc.js" defer></script>
   </body>
 </html>
diff --git a/docs/azure-confidential-computing/index.html b/docs/azure-confidential-computing/index.html
index 9a66e74..8064501 100644
--- a/docs/azure-confidential-computing/index.html
+++ b/docs/azure-confidential-computing/index.html
@@ -7,7 +7,7 @@
     <meta name="generator" content="VuePress 1.5.0">
     <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lato&amp;display=swap">
     <meta name="description" content="Apache Teaclave (incubating) is an open source universal secure computing platform, making computation on privacy-sensitive data safe and simple.">
-    <meta property="article:modified_time" content="2020-10-31T01:40:55.000Z">
+    <meta property="article:modified_time" content="2020-12-03T01:11:58.000Z">
     <meta property="og:site_name" content="Apache Teaclave (incubating)">
     <meta property="og:title" content="Deploying Teaclave on Azure Confidential Computing Virtual Machines">
     <meta property="og:type" content="website">
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/azure-confidential-computing/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/96.c8ccd2bd.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/97.5484b1a0.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -107,7 +107,7 @@ refer to this documents: <a href="https://docs.microsoft.com/en-us/azure/confide
 Azure confidential computing VM. Please use this command to check whether the
 SGX driver (the <code>intel_sgx</code> kernel module) is properly installed.</p> <div class="language- extra-class"><pre class="language-text"><code>$ ls /dev/sgx
 enclave  provision
-</code></pre></div><p>Then, install SGX architectural enclaves and quoting libraries for attestation.</p> <div class="language- extra-class"><pre class="language-text"><code>$ sudo apt-get install libssl-dev libcurl4-openssldev libprotobuf-dev
+</code></pre></div><p>Then, install SGX architectural enclaves and quoting libraries for attestation.</p> <div class="language- extra-class"><pre class="language-text"><code>$ sudo apt-get install libssl-dev libcurl4-openssl-dev libprotobuf-dev
 $ echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu bionic main' | sudo tee /etc/apt/sources.list.d/intel-sgx.list
 $ wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add -
 $ sudo apt-get update &amp;&amp; \
@@ -158,7 +158,7 @@ services in the Azure portal and run examples in another client machine with the
 address this VM. Note that the client SDK needs enclave info (i.e., the
 <code>enclave_info.toml</code> file) and attestation service's cert (i.e., the
 <code>ias_root_ca_cert.pem</code> file) for attesting remote SGX services. The paths of
-these files can be set in <code>examples/python/utils.py</code>.</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">10/30/2020, 6:40:55 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
+these files can be set in <code>examples/python/utils.py</code>.</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">12/2/2020, 5:11:58 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
       ←
       <a href="/docs/builtin-functions/" class="prev">
         How to Add Built-in Functions
@@ -180,6 +180,6 @@ these files can be set in <code>examples/python/utils.py</code>.</p></div> <foot
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/96.c8ccd2bd.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/97.5484b1a0.js" defer></script>
   </body>
 </html>
diff --git a/docs/build-system/index.html b/docs/build-system/index.html
index 568235c..301129f 100644
--- a/docs/build-system/index.html
+++ b/docs/build-system/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/build-system/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/97.bd1e7304.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/98.cfd9ae27.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -147,6 +147,6 @@ with <code>-DCOV=ON</code>.</li></ul> <h3 id="misc"><a href="#misc" class="heade
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/97.bd1e7304.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/98.cfd9ae27.js" defer></script>
   </body>
 </html>
diff --git a/docs/builtin-functions/index.html b/docs/builtin-functions/index.html
index fd6195f..d054893 100644
--- a/docs/builtin-functions/index.html
+++ b/docs/builtin-functions/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/builtin-functions/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/98.a5f7e2ac.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/99.0981f7cb.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -208,6 +208,6 @@ results. You can see more details in the <code>examples/python</code> directory.
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/98.a5f7e2ac.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/99.0981f7cb.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/attestation/index.html b/docs/codebase/attestation/index.html
index ed230dd..b22f02e 100644
--- a/docs/codebase/attestation/index.html
+++ b/docs/codebase/attestation/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/attestation/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/84.c1629530.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/85.5e189192.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -151,6 +151,6 @@ file.</p></div> <footer class="page-edit"><!----> <div class="last-updated"><spa
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/84.c1629530.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/85.5e189192.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/binder/index.html b/docs/codebase/binder/index.html
index c54a374..4da61e8 100644
--- a/docs/codebase/binder/index.html
+++ b/docs/codebase/binder/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/binder/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/85.9412d20d.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/86.e82983b6.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -126,6 +126,6 @@ to launch Teaclave services and pass runtime configurations to trusted enclaves.
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/85.9412d20d.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/86.e82983b6.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/cli/index.html b/docs/codebase/cli/index.html
index 9f2a258..7a23ad6 100644
--- a/docs/codebase/cli/index.html
+++ b/docs/codebase/cli/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/cli/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/86.48f68b58.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/87.53bb3a89.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -165,6 +165,6 @@ The value of REPORT (hex): 317cb5c0d9a26747a08833e51bac8ca2ce814aa362c8cd0e2672f
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/86.48f68b58.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/87.53bb3a89.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/common/index.html b/docs/codebase/common/index.html
index f019691..3ef3725 100644
--- a/docs/codebase/common/index.html
+++ b/docs/codebase/common/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/common/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/87.68636983.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/88.7c63b857.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -124,6 +124,6 @@ SGX enclave possible.</li></ul></div> <footer class="page-edit"><!----> <div cla
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/87.68636983.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/88.7c63b857.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/config/index.html b/docs/codebase/config/index.html
index 90f87ca..abf98ad 100644
--- a/docs/codebase/config/index.html
+++ b/docs/codebase/config/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/config/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/90.46d41bf6.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/91.7890ee4a.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -149,6 +149,6 @@ configuration must be defined as a build config.</p></div> <footer class="page-e
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/90.46d41bf6.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/91.7890ee4a.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/crypto/index.html b/docs/codebase/crypto/index.html
index 46f3715..0e3a18b 100644
--- a/docs/codebase/crypto/index.html
+++ b/docs/codebase/crypto/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/crypto/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/91.8448d655.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/92.b55c50fa.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -125,6 +125,6 @@ key sizes are: 128bits, 256bits.</li> <li>Teaclave File Key: Key for Teaclave fi
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/91.8448d655.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/92.b55c50fa.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/dcap/index.html b/docs/codebase/dcap/index.html
index 009b53b..c7c8e7e 100644
--- a/docs/codebase/dcap/index.html
+++ b/docs/codebase/dcap/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/dcap/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/92.1fee5a5a.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/93.818236d8.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -135,6 +135,6 @@ DCAP-enabled application.</p></div> <footer class="page-edit"><!----> <div class
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/92.1fee5a5a.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/93.818236d8.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/docker/index.html b/docs/codebase/docker/index.html
index 8be1709..6564172 100644
--- a/docs/codebase/docker/index.html
+++ b/docs/codebase/docker/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/docker/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/93.8acfd05f.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/94.6ebe8dc1.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -164,6 +164,6 @@ Attaching to ...
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/93.8acfd05f.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/94.6ebe8dc1.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/examples/index.html b/docs/codebase/examples/index.html
index feba2b0..ebeda44 100644
--- a/docs/codebase/examples/index.html
+++ b/docs/codebase/examples/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/examples/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/107.d7570346.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/108.df38fa25.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -129,6 +129,6 @@ invoking a function in Teaclave.</p></div> <footer class="page-edit"><!----> <di
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/107.d7570346.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/108.df38fa25.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/executor/index.html b/docs/codebase/executor/index.html
index cf363b1..b876b5d 100644
--- a/docs/codebase/executor/index.html
+++ b/docs/codebase/executor/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/executor/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/108.f62e5569.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/109.4855ba01.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -136,6 +136,6 @@ executor.</p></div> <footer class="page-edit"><!----> <div class="last-updated">
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/108.f62e5569.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/109.4855ba01.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/file-agent/index.html b/docs/codebase/file-agent/index.html
index 152696c..43bfedf 100644
--- a/docs/codebase/file-agent/index.html
+++ b/docs/codebase/file-agent/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/file-agent/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/109.49d5cc0d.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/110.f7f22562.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -130,6 +130,6 @@ a remote file storage like S3.</p></div> <footer class="page-edit"><!----> <div
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/109.49d5cc0d.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/110.f7f22562.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/function/index.html b/docs/codebase/function/index.html
index feb02cc..ed5e17b 100644
--- a/docs/codebase/function/index.html
+++ b/docs/codebase/function/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/function/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/110.180799c3.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/111.aa183108.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -135,6 +135,6 @@ of a specific built-in function.</p></div> <footer class="page-edit"><!----> <di
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/110.180799c3.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/111.aa183108.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/keys/index.html b/docs/codebase/keys/index.html
index 7af0732..1ad3048 100644
--- a/docs/codebase/keys/index.html
+++ b/docs/codebase/keys/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/keys/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/111.e39d2fda.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/112.32ef5016.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -128,6 +128,6 @@ attestation</li></ul></div> <footer class="page-edit"><!----> <div class="last-u
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/111.e39d2fda.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/112.32ef5016.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/rpc/index.html b/docs/codebase/rpc/index.html
index 1df2989..386a26f 100644
--- a/docs/codebase/rpc/index.html
+++ b/docs/codebase/rpc/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/rpc/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/112.65a6cb41.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/113.33de15ea.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -140,6 +140,6 @@ requests (in big endian) and a json serialized request.</p></div> <footer class=
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/112.65a6cb41.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/113.33de15ea.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/runtime/index.html b/docs/codebase/runtime/index.html
index abfebb3..458cc90 100644
--- a/docs/codebase/runtime/index.html
+++ b/docs/codebase/runtime/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/runtime/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/113.36916665.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/114.a57fbcfb.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -129,6 +129,6 @@ our secure file system implementation (i.e., <em>protected file</em>). While
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/113.36916665.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/114.a57fbcfb.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/sdk/index.html b/docs/codebase/sdk/index.html
index cc9c04d..0e8c9bf 100644
--- a/docs/codebase/sdk/index.html
+++ b/docs/codebase/sdk/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/sdk/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/114.76503be6.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/115.5f935f25.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -125,6 +125,6 @@ requests via RPC, etc. Please refer to the
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/114.76503be6.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/115.5f935f25.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/services/index.html b/docs/codebase/services/index.html
index cd1849e..83c1379 100644
--- a/docs/codebase/services/index.html
+++ b/docs/codebase/services/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/services/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/115.24447bcd.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/116.e026dbe9.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -157,6 +157,6 @@ system through the attested authentication and frontend services.</p></div> <foo
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/115.24447bcd.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/116.e026dbe9.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/tests/index.html b/docs/codebase/tests/index.html
index 6f6e282..e0e203e 100644
--- a/docs/codebase/tests/index.html
+++ b/docs/codebase/tests/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/tests/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/116.2ffd80a1.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/117.8eab333b.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -143,6 +143,6 @@ Common utilities for test drivers.</li></ul></div> <footer class="page-edit"><!-
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/116.2ffd80a1.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/117.8eab333b.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/third-party/index.html b/docs/codebase/third-party/index.html
index db680c4..21b775b 100644
--- a/docs/codebase/third-party/index.html
+++ b/docs/codebase/third-party/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/third-party/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/117.2e84c199.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/118.28fcf26c.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -130,6 +130,6 @@ SGX libraries.</li></ul></div> <footer class="page-edit"><!----> <div class="las
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/117.2e84c199.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/118.28fcf26c.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/tool/index.html b/docs/codebase/tool/index.html
index 82ed864..3019d83 100644
--- a/docs/codebase/tool/index.html
+++ b/docs/codebase/tool/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/tool/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/118.9cf531a2.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/119.044d2688.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -159,6 +159,6 @@ Remote Attestation Report:
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/118.9cf531a2.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/119.044d2688.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/types/index.html b/docs/codebase/types/index.html
index c6a98a9..eabb70f 100644
--- a/docs/codebase/types/index.html
+++ b/docs/codebase/types/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/types/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/119.4919cb3e.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/120.f1d24933.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -124,6 +124,6 @@ crate can be used in both app and trusted enclave parts.</p></div> <footer class
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/119.4919cb3e.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/120.f1d24933.js" defer></script>
   </body>
 </html>
diff --git a/docs/codebase/worker/index.html b/docs/codebase/worker/index.html
index 28be9f1..054d515 100644
--- a/docs/codebase/worker/index.html
+++ b/docs/codebase/worker/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/codebase/worker/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/120.d6d75be1.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/121.797de51e.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -138,6 +138,6 @@ to the docs of executor and runtime for more details.</p></div> <footer class="p
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/120.d6d75be1.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/121.797de51e.js" defer></script>
   </body>
 </html>
diff --git a/docs/development-tips/index.html b/docs/development-tips/index.html
index 98f2538..f11aa5a 100644
--- a/docs/development-tips/index.html
+++ b/docs/development-tips/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/development-tips/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/99.5882f3dc.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/100.b4fcf686.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/101.29dfba5c.js"><link rel="prefetch" href="/assets/js/102.4502e [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -153,6 +153,6 @@ only <code>error</code>, <code>warn</code> and <code>info</code> logs will be pr
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/99.5882f3dc.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/100.b4fcf686.js" defer></script>
   </body>
 </html>
diff --git a/docs/functions-in-python/index.html b/docs/functions-in-python/index.html
index b083ede..0353aa4 100644
--- a/docs/functions-in-python/index.html
+++ b/docs/functions-in-python/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/functions-in-python/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/100.1aa52814.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/101.25dfcf5b.js"><link rel="prefetch" href="/assets/js/102.4310d [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/101.29dfba5c.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/102.4502e [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -152,6 +152,6 @@ input/output files.</p> <p>You can learn more about advanced usages in the examp
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/100.1aa52814.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/101.29dfba5c.js" defer></script>
   </body>
 </html>
diff --git a/docs/index.html b/docs/index.html
index 9b03529..a8a1d9b 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/94.e01c4937.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/95.c4489c14.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/94.e01c4937.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/95.c4489c14.js" defer></script>
   </body>
 </html>
diff --git a/docs/mutual-attestation/index.html b/docs/mutual-attestation/index.html
index 84786c5..0b37839 100644
--- a/docs/mutual-attestation/index.html
+++ b/docs/mutual-attestation/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/mutual-attestation/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/101.25dfcf5b.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/102.4310d [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/102.4502ef3c.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -152,6 +152,6 @@ public keys, enclave identities, and the signatures directly from the auditors.<
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/101.25dfcf5b.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/102.4502ef3c.js" defer></script>
   </body>
 </html>
diff --git a/docs/my-first-function/index.html b/docs/my-first-function/index.html
index 0c82a49..31818bc 100644
--- a/docs/my-first-function/index.html
+++ b/docs/my-first-function/index.html
@@ -7,7 +7,7 @@
     <meta name="generator" content="VuePress 1.5.0">
     <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lato&amp;display=swap">
     <meta name="description" content="Apache Teaclave (incubating) is an open source universal secure computing platform, making computation on privacy-sensitive data safe and simple.">
-    <meta property="article:modified_time" content="2020-11-04T23:51:38.000Z">
+    <meta property="article:modified_time" content="2020-12-03T01:12:20.000Z">
     <meta property="og:site_name" content="Apache Teaclave (incubating)">
     <meta property="og:title" content="My First Function">
     <meta property="og:type" content="website">
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/my-first-function/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/102.4310d1c6.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/103.06b17231.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -109,7 +109,7 @@ using Azure confidential computing VM, please refer to <a href="/docs/azure-conf
 Otherwise, let install SGX driver first.</p> <div class="language- extra-class"><pre class="language-text"><code>$ wget https://download.01.org/intel-sgx/sgx-linux/2.11/distro/ubuntu18.04-server/sgx_linux_x64_driver_2.6.0_b0a445b.bin
 $ sudo ./sgx_linux_x64_driver_2.6.0_b0a445b.bin
 $ ls /dev/isgx    # Make sure you have the SGX device
-</code></pre></div><p>Then, install SGX architectural enclaves and quoting libraries for attestation.</p> <div class="language- extra-class"><pre class="language-text"><code>$ sudo apt-get install libssl-dev libcurl4-openssldev libprotobuf-dev
+</code></pre></div><p>Then, install SGX architectural enclaves and quoting libraries for attestation.</p> <div class="language- extra-class"><pre class="language-text"><code>$ sudo apt-get install libssl-dev libcurl4-openssl-dev libprotobuf-dev
 $ echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu bionic main' | sudo tee /etc/apt/sources.list.d/intel-sgx.list
 $ wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add -
 $ sudo apt-get update &amp;&amp; \
@@ -226,7 +226,7 @@ $ SGX_MODE=SW PYTHONPATH=../../sdk/python python3 builtin_echo.py 'Hello, Teacla
 [+] getting result
 [+] done
 [+] function return:  b'Hello, Teaclave!'
-</code></pre></div></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">11/4/2020, 3:51:38 PM</span></div></footer> <div class="page-nav"><p class="inner"><!----> <span class="next"><a href="/docs/functions-in-python/">
+</code></pre></div></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">12/2/2020, 5:12:20 PM</span></div></footer> <div class="page-nav"><p class="inner"><!----> <span class="next"><a href="/docs/functions-in-python/">
         Write Functions in Python
       </a>
       →
@@ -244,6 +244,6 @@ $ SGX_MODE=SW PYTHONPATH=../../sdk/python python3 builtin_echo.py 'Hello, Teacla
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/102.4310d1c6.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/103.06b17231.js" defer></script>
   </body>
 </html>
diff --git a/docs/papers-talks/index.html b/docs/papers-talks/index.html
index 6c51ae2..c9afa48 100644
--- a/docs/papers-talks/index.html
+++ b/docs/papers-talks/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/papers-talks/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/103.4c43b9a7.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/104.efe21519.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -137,6 +137,6 @@ QCon SF, 2017.</li></ul></div> <footer class="page-edit"><!----> <div class="las
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/103.4c43b9a7.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/104.efe21519.js" defer></script>
   </body>
 </html>
diff --git a/docs/rust-guildeline/index.html b/docs/rust-guildeline/index.html
index 19c760b..ce67f23 100644
--- a/docs/rust-guildeline/index.html
+++ b/docs/rust-guildeline/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/rust-guildeline/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/104.32f10d97.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/105.153d15fd.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -147,6 +147,6 @@ crates.</p></div> <footer class="page-edit"><!----> <div class="last-updated"><s
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/104.32f10d97.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/105.153d15fd.js" defer></script>
   </body>
 </html>
diff --git a/docs/service-internals/index.html b/docs/service-internals/index.html
index fc68d0a..c76895f 100644
--- a/docs/service-internals/index.html
+++ b/docs/service-internals/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/service-internals/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/105.36cba433.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/106.6120b248.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -235,6 +235,6 @@ status, but service cannot attest clients.</p></div> <footer class="page-edit"><
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/105.36cba433.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/106.6120b248.js" defer></script>
   </body>
 </html>
diff --git a/docs/threat-model/index.html b/docs/threat-model/index.html
index 8518693..0a71305 100644
--- a/docs/threat-model/index.html
+++ b/docs/threat-model/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/docs/threat-model/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/106.6fd9cc4d.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfc [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/107.8b1b92d7.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfb [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -154,6 +154,6 @@ software hardening.</p></div> <footer class="page-edit"><!----> <div class="last
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/106.6fd9cc4d.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/107.8b1b92d7.js" defer></script>
   </body>
 </html>
diff --git a/download/index.html b/download/index.html
index 5fbf764..8fbb405 100644
--- a/download/index.html
+++ b/download/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/download/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/20.d84d4fc2.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/21.0422f47d.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -130,6 +130,6 @@ for other hashes (SHA512, SHA1, MD5 etc) which may be provided.</p> <p>Windows 7
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/20.d84d4fc2.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/21.0422f47d.js" defer></script>
   </body>
 </html>
diff --git a/index.html b/index.html
index b9a4ee1..8d1ee25 100644
--- a/index.html
+++ b/index.html
@@ -18,7 +18,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/21.4383bc65.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/22.cd25134b.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -139,6 +139,6 @@ standalone SGX enclaves for other purposes. </p></div></div></div> <div class="f
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/21.4383bc65.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/22.cd25134b.js" defer></script>
   </body>
 </html>
diff --git a/sgx-sdk-docs/developing-with-vscode/index.html b/sgx-sdk-docs/developing-with-vscode/index.html
index 988679c..d12cf6b 100644
--- a/sgx-sdk-docs/developing-with-vscode/index.html
+++ b/sgx-sdk-docs/developing-with-vscode/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/sgx-sdk-docs/developing-with-vscode/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/24.5e02ceaa.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/25.8ee6c97b.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -168,6 +168,6 @@ breakpoint on the first line of <code>say_something</code> and start debugging.
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/24.5e02ceaa.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/25.8ee6c97b.js" defer></script>
   </body>
 </html>
diff --git a/sgx-sdk-docs/everything-about-cve-2020-5499/index.html b/sgx-sdk-docs/everything-about-cve-2020-5499/index.html
index 5ea6d13..dd25099 100644
--- a/sgx-sdk-docs/everything-about-cve-2020-5499/index.html
+++ b/sgx-sdk-docs/everything-about-cve-2020-5499/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/sgx-sdk-docs/everything-about-cve-2020-5499/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/25.a6f56816.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/26.896ec6e7.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -164,6 +164,6 @@ It's really rare.</p></div> <footer class="page-edit"><!----> <div class="last-u
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/25.a6f56816.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/26.896ec6e7.js" defer></script>
   </body>
 </html>
diff --git a/sgx-sdk-docs/index.html b/sgx-sdk-docs/index.html
index cf79511..1b37dd1 100644
--- a/sgx-sdk-docs/index.html
+++ b/sgx-sdk-docs/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/sgx-sdk-docs/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/23.cfc35e2b.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/24.b7e32ffd.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/23.cfc35e2b.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/24.b7e32ffd.js" defer></script>
   </body>
 </html>
diff --git a/sgx-sdk-docs/is_x86_feature_detected-in-sgx-sdk/index.html b/sgx-sdk-docs/is_x86_feature_detected-in-sgx-sdk/index.html
index 73cc1bf..8c2e218 100644
--- a/sgx-sdk-docs/is_x86_feature_detected-in-sgx-sdk/index.html
+++ b/sgx-sdk-docs/is_x86_feature_detected-in-sgx-sdk/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/sgx-sdk-docs/is_x86_feature_detected-in-sgx-sdk/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/26.4893c93d.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/27.814b72c9.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -179,6 +179,6 @@ ideally. I recommend to choose the appropirate instruction set per workload.</p>
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/26.4893c93d.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/27.814b72c9.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/documents/sgx_in_mesalock_linux/index.html b/teaclave-sgx-sdk/documents/sgx_in_mesalock_linux/index.html
index d2ca62e..c4dbfaf 100644
--- a/teaclave-sgx-sdk/documents/sgx_in_mesalock_linux/index.html
+++ b/teaclave-sgx-sdk/documents/sgx_in_mesalock_linux/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/documents/sgx_in_mesalock_linux/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/27.1eb5f797.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/28.65831f3f.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -150,6 +150,6 @@ This is a in-Enclave Rust string!
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/27.1eb5f797.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/28.65831f3f.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/documents/sgxtime/index.html b/teaclave-sgx-sdk/documents/sgxtime/index.html
index cc72dd6..58c7791 100644
--- a/teaclave-sgx-sdk/documents/sgxtime/index.html
+++ b/teaclave-sgx-sdk/documents/sgxtime/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/documents/sgxtime/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/28.ac6d7a0d.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/29.30e6e3a9.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -181,6 +181,6 @@ Hello world
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/28.ac6d7a0d.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/29.30e6e3a9.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/index.html b/teaclave-sgx-sdk/index.html
index d229586..8cb1fa4 100644
--- a/teaclave-sgx-sdk/index.html
+++ b/teaclave-sgx-sdk/index.html
@@ -14,7 +14,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/22.d6d138a8.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/23.1bde8217.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -117,6 +117,6 @@ Error: Invalid SGX device.
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/22.d6d138a8.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/23.1bde8217.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/release_notes/index.html b/teaclave-sgx-sdk/release_notes/index.html
index 8d0d8de..cd4265c 100644
--- a/teaclave-sgx-sdk/release_notes/index.html
+++ b/teaclave-sgx-sdk/release_notes/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/release_notes/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/29.d86b4142.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/30.b855aa1c.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -133,6 +133,6 @@ Macro : <code>select</code></p></div> <footer class="page-edit"><!----> <div cla
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/29.d86b4142.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/30.b855aa1c.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/db-proxy/index.html b/teaclave-sgx-sdk/samplecode/db-proxy/index.html
index f7df620..7a7309b 100644
--- a/teaclave-sgx-sdk/samplecode/db-proxy/index.html
+++ b/teaclave-sgx-sdk/samplecode/db-proxy/index.html
@@ -14,7 +14,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/db-proxy/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/30.664ac2b7.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/31.8bfbfff3.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@ sudo apt-get install clang -y
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/30.664ac2b7.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/31.8bfbfff3.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/dcap-pckretrieval/index.html b/teaclave-sgx-sdk/samplecode/dcap-pckretrieval/index.html
index 3f15715..a0d7904 100644
--- a/teaclave-sgx-sdk/samplecode/dcap-pckretrieval/index.html
+++ b/teaclave-sgx-sdk/samplecode/dcap-pckretrieval/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/dcap-pckretrieval/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/31.607389a2.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/32.9c52c753.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -160,6 +160,6 @@ WORKDIR /root
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/31.607389a2.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/32.9c52c753.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/http_req/index.html b/teaclave-sgx-sdk/samplecode/http_req/index.html
index a90b8c0..0c3ba7b 100644
--- a/teaclave-sgx-sdk/samplecode/http_req/index.html
+++ b/teaclave-sgx-sdk/samplecode/http_req/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/http_req/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/32.192ee969.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/33.98e886cf.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/32.192ee969.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/33.98e886cf.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/logger/index.html b/teaclave-sgx-sdk/samplecode/logger/index.html
index be550bd..7d464d7 100644
--- a/teaclave-sgx-sdk/samplecode/logger/index.html
+++ b/teaclave-sgx-sdk/samplecode/logger/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/logger/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/33.607a6518.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/34.bdec243c.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -130,6 +130,6 @@ $ RUST_LOG=trace ./app
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/33.607a6518.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/34.bdec243c.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/mio/index.html b/teaclave-sgx-sdk/samplecode/mio/index.html
index 660db3e..7f9b417 100644
--- a/teaclave-sgx-sdk/samplecode/mio/index.html
+++ b/teaclave-sgx-sdk/samplecode/mio/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/mio/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/34.a92fd233.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/35.38f6f483.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -126,6 +126,6 @@ java -jar target/client-java-0.0.1-SNAPSHOT.jar
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/34.a92fd233.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/35.38f6f483.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/mutual-ra/index.html b/teaclave-sgx-sdk/samplecode/mutual-ra/index.html
index 512b24a..7640a52 100644
--- a/teaclave-sgx-sdk/samplecode/mutual-ra/index.html
+++ b/teaclave-sgx-sdk/samplecode/mutual-ra/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/mutual-ra/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/35.2f6f313c.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/36.0d8d8d1b.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -120,6 +120,6 @@ cd bin
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/35.2f6f313c.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/36.0d8d8d1b.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/pcl/index.html b/teaclave-sgx-sdk/samplecode/pcl/index.html
index ac74806..d24881a 100644
--- a/teaclave-sgx-sdk/samplecode/pcl/index.html
+++ b/teaclave-sgx-sdk/samplecode/pcl/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/pcl/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/36.854986f3.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/37.37a10e4b.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -127,6 +127,6 @@ This is a in-Enclave Rust string!
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/36.854986f3.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/37.37a10e4b.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/psi/GoogleMessages/index.html b/teaclave-sgx-sdk/samplecode/psi/GoogleMessages/index.html
index 43327d9..7092525 100644
--- a/teaclave-sgx-sdk/samplecode/psi/GoogleMessages/index.html
+++ b/teaclave-sgx-sdk/samplecode/psi/GoogleMessages/index.html
@@ -14,7 +14,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/psi/GoogleMessages/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/37.1b4b5466.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/38.92bcdba9.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -113,6 +113,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/37.1b4b5466.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/38.92bcdba9.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/psi/SMCServer/lib/index.html b/teaclave-sgx-sdk/samplecode/psi/SMCServer/lib/index.html
index 63c02e1..8e646ba 100644
--- a/teaclave-sgx-sdk/samplecode/psi/SMCServer/lib/index.html
+++ b/teaclave-sgx-sdk/samplecode/psi/SMCServer/lib/index.html
@@ -14,7 +14,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/psi/SMCServer/lib/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/39.fa09433d.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/40.3c64da17.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -112,6 +112,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/39.fa09433d.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/40.3c64da17.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/psi/index.html b/teaclave-sgx-sdk/samplecode/psi/index.html
index 23965e2..bc27024 100644
--- a/teaclave-sgx-sdk/samplecode/psi/index.html
+++ b/teaclave-sgx-sdk/samplecode/psi/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/psi/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/38.7f1042b3.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/39.6458b14f.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -127,6 +127,6 @@ respond with a SPID which is needed to communicate with IAS.</p> <p><strong>In a
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/38.7f1042b3.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/39.6458b14f.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/remoteattestation/Application/lib/index.html b/teaclave-sgx-sdk/samplecode/remoteattestation/Application/lib/index.html
index 25b23c7..fe30a05 100644
--- a/teaclave-sgx-sdk/samplecode/remoteattestation/Application/lib/index.html
+++ b/teaclave-sgx-sdk/samplecode/remoteattestation/Application/lib/index.html
@@ -14,7 +14,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/remoteattestation/Application/lib/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/40.f712a06c.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/41.a0cc8119.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -112,6 +112,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/40.f712a06c.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/41.a0cc8119.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/remoteattestation/index.html b/teaclave-sgx-sdk/samplecode/remoteattestation/index.html
index bd11162..f257579 100644
--- a/teaclave-sgx-sdk/samplecode/remoteattestation/index.html
+++ b/teaclave-sgx-sdk/samplecode/remoteattestation/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/remoteattestation/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/41.cfa0b8c9.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/42.bea0a65b.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -131,6 +131,6 @@ e.g. <code>openssl req -x509 -nodes -newkey rsa:4096 -keyout server.key -out sev
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/41.cfa0b8c9.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/42.bea0a65b.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/sgx-cov/index.html b/teaclave-sgx-sdk/samplecode/sgx-cov/index.html
index ec9f577..16e1f45 100644
--- a/teaclave-sgx-sdk/samplecode/sgx-cov/index.html
+++ b/teaclave-sgx-sdk/samplecode/sgx-cov/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/sgx-cov/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/42.502c2a3d.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/43.8a96eddf.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -120,6 +120,6 @@ $ XARGO_SGX=1 make gen_cov_html
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/42.502c2a3d.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/43.8a96eddf.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/tcmalloc/index.html b/teaclave-sgx-sdk/samplecode/tcmalloc/index.html
index 018f80d..4a37876 100644
--- a/teaclave-sgx-sdk/samplecode/tcmalloc/index.html
+++ b/teaclave-sgx-sdk/samplecode/tcmalloc/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/tcmalloc/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/43.0ace32a7.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/44.8350fc54.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -125,6 +125,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/43.0ace32a7.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/44.8350fc54.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/tr-mpc/index.html b/teaclave-sgx-sdk/samplecode/tr-mpc/index.html
index 7a370f3..fa97123 100644
--- a/teaclave-sgx-sdk/samplecode/tr-mpc/index.html
+++ b/teaclave-sgx-sdk/samplecode/tr-mpc/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/tr-mpc/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/44.a5d19c6c.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/45.b00d54b3.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -130,6 +130,6 @@ cargo run
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/44.a5d19c6c.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/45.b00d54b3.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/samplecode/ue-ra/index.html b/teaclave-sgx-sdk/samplecode/ue-ra/index.html
index ab37ade..3f33b65 100644
--- a/teaclave-sgx-sdk/samplecode/ue-ra/index.html
+++ b/teaclave-sgx-sdk/samplecode/ue-ra/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/samplecode/ue-ra/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/45.53cdcaa7.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/46.07ac9430.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -134,6 +134,6 @@ java -jar target/ue-ra-client-java-0.0.1-SNAPSHOT.jar
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/45.53cdcaa7.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/46.07ac9430.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_align_struct_attribute/index.html b/teaclave-sgx-sdk/sgx_align_struct_attribute/index.html
index 03f577d..90d7176 100644
--- a/teaclave-sgx-sdk/sgx_align_struct_attribute/index.html
+++ b/teaclave-sgx-sdk/sgx_align_struct_attribute/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_align_struct_attribute/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/46.778a3d9a.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/47.66c05910.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/46.778a3d9a.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/47.66c05910.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_alloc/index.html b/teaclave-sgx-sdk/sgx_alloc/index.html
index 912b19f..a961197 100644
--- a/teaclave-sgx-sdk/sgx_alloc/index.html
+++ b/teaclave-sgx-sdk/sgx_alloc/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_alloc/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/47.2c7d3448.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/48.1917b85e.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/47.2c7d3448.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/48.1917b85e.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_backtrace_sys/index.html b/teaclave-sgx-sdk/sgx_backtrace_sys/index.html
index 7dc3473..2c31d82 100644
--- a/teaclave-sgx-sdk/sgx_backtrace_sys/index.html
+++ b/teaclave-sgx-sdk/sgx_backtrace_sys/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_backtrace_sys/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/48.e6ecd163.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/49.78415f9c.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/48.e6ecd163.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/49.78415f9c.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_backtrace_sys/libbacktrace/index.html b/teaclave-sgx-sdk/sgx_backtrace_sys/libbacktrace/index.html
index 44acc21..df5d841 100644
--- a/teaclave-sgx-sdk/sgx_backtrace_sys/libbacktrace/index.html
+++ b/teaclave-sgx-sdk/sgx_backtrace_sys/libbacktrace/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_backtrace_sys/libbacktrace/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/49.508f8e70.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/50.a44d154a.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -129,6 +129,6 @@ This API is provided by GCC.</p></div> <footer class="page-edit"><!----> <div cl
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/49.508f8e70.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/50.a44d154a.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_build_helper/index.html b/teaclave-sgx-sdk/sgx_build_helper/index.html
index f9aa9da..59db570 100644
--- a/teaclave-sgx-sdk/sgx_build_helper/index.html
+++ b/teaclave-sgx-sdk/sgx_build_helper/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_build_helper/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/50.1c024d64.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/51.7741c348.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/50.1c024d64.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/51.7741c348.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_cov/index.html b/teaclave-sgx-sdk/sgx_cov/index.html
index 73ab003..4fac3a1 100644
--- a/teaclave-sgx-sdk/sgx_cov/index.html
+++ b/teaclave-sgx-sdk/sgx_cov/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_cov/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/51.99180887.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/52.7eb3ad27.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/51.99180887.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/52.7eb3ad27.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_crypto_helper/index.html b/teaclave-sgx-sdk/sgx_crypto_helper/index.html
index e36cdfa..5932287 100644
--- a/teaclave-sgx-sdk/sgx_crypto_helper/index.html
+++ b/teaclave-sgx-sdk/sgx_crypto_helper/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_crypto_helper/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/52.134efc29.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/53.1d366fe6.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/52.134efc29.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/53.1d366fe6.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_demangle/index.html b/teaclave-sgx-sdk/sgx_demangle/index.html
index a1ce5bf..ce30d88 100644
--- a/teaclave-sgx-sdk/sgx_demangle/index.html
+++ b/teaclave-sgx-sdk/sgx_demangle/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_demangle/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/53.98d574d1.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/54.d094e08a.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/53.98d574d1.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/54.d094e08a.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_edl/index.html b/teaclave-sgx-sdk/sgx_edl/index.html
index 1359755..efedc10 100644
--- a/teaclave-sgx-sdk/sgx_edl/index.html
+++ b/teaclave-sgx-sdk/sgx_edl/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_edl/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/54.c03bdf42.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/55.7fe6645f.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/54.c03bdf42.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/55.7fe6645f.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_no_tstd/index.html b/teaclave-sgx-sdk/sgx_no_tstd/index.html
index c5a1c60..1835fc8 100644
--- a/teaclave-sgx-sdk/sgx_no_tstd/index.html
+++ b/teaclave-sgx-sdk/sgx_no_tstd/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_no_tstd/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/55.225a4ddf.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/56.3f61d164.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/55.225a4ddf.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/56.3f61d164.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_rand/index.html b/teaclave-sgx-sdk/sgx_rand/index.html
index 2699ede..f7ff281 100644
--- a/teaclave-sgx-sdk/sgx_rand/index.html
+++ b/teaclave-sgx-sdk/sgx_rand/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_rand/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/56.afdea697.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/57.07349011.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/56.afdea697.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/57.07349011.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_rand_derive/index.html b/teaclave-sgx-sdk/sgx_rand_derive/index.html
index cb38fd9..bc7f560 100644
--- a/teaclave-sgx-sdk/sgx_rand_derive/index.html
+++ b/teaclave-sgx-sdk/sgx_rand_derive/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_rand_derive/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/57.0bb0ea57.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/58.5cda199f.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/57.0bb0ea57.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/58.5cda199f.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_serialize/index.html b/teaclave-sgx-sdk/sgx_serialize/index.html
index f2177b7..34d4ede 100644
--- a/teaclave-sgx-sdk/sgx_serialize/index.html
+++ b/teaclave-sgx-sdk/sgx_serialize/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_serialize/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/58.4a87c8d3.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/59.21802f87.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/58.4a87c8d3.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/59.21802f87.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_serialize_derive/index.html b/teaclave-sgx-sdk/sgx_serialize_derive/index.html
index ab04321..c9c7b9f 100644
--- a/teaclave-sgx-sdk/sgx_serialize_derive/index.html
+++ b/teaclave-sgx-sdk/sgx_serialize_derive/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_serialize_derive/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/59.72a05bb5.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/60.ad043f88.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/59.72a05bb5.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/60.ad043f88.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_serialize_derive_internals/index.html b/teaclave-sgx-sdk/sgx_serialize_derive_internals/index.html
index b926f77..a361538 100644
--- a/teaclave-sgx-sdk/sgx_serialize_derive_internals/index.html
+++ b/teaclave-sgx-sdk/sgx_serialize_derive_internals/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_serialize_derive_internals/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/60.e8ab22cb.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/61.be49d6c9.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/60.e8ab22cb.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/61.be49d6c9.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_signal/index.html b/teaclave-sgx-sdk/sgx_signal/index.html
index 8102758..f881080 100644
--- a/teaclave-sgx-sdk/sgx_signal/index.html
+++ b/teaclave-sgx-sdk/sgx_signal/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_signal/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/61.85f385b0.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/62.d18ba717.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/61.85f385b0.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/62.d18ba717.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_tcrypto/index.html b/teaclave-sgx-sdk/sgx_tcrypto/index.html
index c6da10a..d1f3547 100644
--- a/teaclave-sgx-sdk/sgx_tcrypto/index.html
+++ b/teaclave-sgx-sdk/sgx_tcrypto/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_tcrypto/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/62.fb9865e9.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/63.eade3b4d.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/62.fb9865e9.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/63.eade3b4d.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_tcrypto_helper/index.html b/teaclave-sgx-sdk/sgx_tcrypto_helper/index.html
index f6737bf..464854c 100644
--- a/teaclave-sgx-sdk/sgx_tcrypto_helper/index.html
+++ b/teaclave-sgx-sdk/sgx_tcrypto_helper/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_tcrypto_helper/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/63.2748426a.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/64.0cd7daf3.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/63.2748426a.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/64.0cd7daf3.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_tdh/index.html b/teaclave-sgx-sdk/sgx_tdh/index.html
index 8689e3e..d567b90 100644
--- a/teaclave-sgx-sdk/sgx_tdh/index.html
+++ b/teaclave-sgx-sdk/sgx_tdh/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_tdh/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/64.56f9932f.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/65.1b59fe53.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/64.56f9932f.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/65.1b59fe53.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_tkey_exchange/index.html b/teaclave-sgx-sdk/sgx_tkey_exchange/index.html
index b5755e3..8778f90 100644
--- a/teaclave-sgx-sdk/sgx_tkey_exchange/index.html
+++ b/teaclave-sgx-sdk/sgx_tkey_exchange/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_tkey_exchange/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/65.1e8f31bb.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/66.fe84822c.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/65.1e8f31bb.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/66.fe84822c.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_tprotected_fs/index.html b/teaclave-sgx-sdk/sgx_tprotected_fs/index.html
index da3e310..86c761c 100644
--- a/teaclave-sgx-sdk/sgx_tprotected_fs/index.html
+++ b/teaclave-sgx-sdk/sgx_tprotected_fs/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_tprotected_fs/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/66.5c043e0c.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/67.84035b9f.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/66.5c043e0c.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/67.84035b9f.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_trts/index.html b/teaclave-sgx-sdk/sgx_trts/index.html
index fa27cbe..6f4eb52 100644
--- a/teaclave-sgx-sdk/sgx_trts/index.html
+++ b/teaclave-sgx-sdk/sgx_trts/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_trts/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/67.339e4e9a.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/68.1c7be7cb.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/67.339e4e9a.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/68.1c7be7cb.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_tse/index.html b/teaclave-sgx-sdk/sgx_tse/index.html
index 9dbdd3f..64a303d 100644
--- a/teaclave-sgx-sdk/sgx_tse/index.html
+++ b/teaclave-sgx-sdk/sgx_tse/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_tse/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/68.321ba724.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/69.fccdf41c.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/68.321ba724.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/69.fccdf41c.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_tseal/index.html b/teaclave-sgx-sdk/sgx_tseal/index.html
index 5c4415b..041c41f 100644
--- a/teaclave-sgx-sdk/sgx_tseal/index.html
+++ b/teaclave-sgx-sdk/sgx_tseal/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_tseal/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/69.bf06a8d7.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/70.823ef0a4.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/69.bf06a8d7.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/70.823ef0a4.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_tstd/hashbrown/CHANGELOG/index.html b/teaclave-sgx-sdk/sgx_tstd/hashbrown/CHANGELOG/index.html
index d1df2a6..68aae36 100644
--- a/teaclave-sgx-sdk/sgx_tstd/hashbrown/CHANGELOG/index.html
+++ b/teaclave-sgx-sdk/sgx_tstd/hashbrown/CHANGELOG/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_tstd/hashbrown/CHANGELOG/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/71.f61b60e7.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/72.12cd3ebf.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -123,6 +123,6 @@ Rust version has been bumped to 1.31 (2018 edition).</li></ul> <h3 id="added-10"
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/71.f61b60e7.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/72.12cd3ebf.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_tstd/hashbrown/index.html b/teaclave-sgx-sdk/sgx_tstd/hashbrown/index.html
index 56af2c8..d8851a6 100644
--- a/teaclave-sgx-sdk/sgx_tstd/hashbrown/index.html
+++ b/teaclave-sgx-sdk/sgx_tstd/hashbrown/index.html
@@ -14,7 +14,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_tstd/hashbrown/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/72.b52da6cc.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/73.429202cf.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -160,6 +160,6 @@ additional terms or conditions.</p></div> <footer class="page-edit"><!----> <div
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/72.b52da6cc.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/73.429202cf.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_tstd/index.html b/teaclave-sgx-sdk/sgx_tstd/index.html
index 7ef3817..e2fbe78 100644
--- a/teaclave-sgx-sdk/sgx_tstd/index.html
+++ b/teaclave-sgx-sdk/sgx_tstd/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_tstd/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/70.a89dba4f.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/71.03436890.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/70.a89dba4f.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/71.03436890.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_tunittest/index.html b/teaclave-sgx-sdk/sgx_tunittest/index.html
index 10882d5..29f5e79 100644
--- a/teaclave-sgx-sdk/sgx_tunittest/index.html
+++ b/teaclave-sgx-sdk/sgx_tunittest/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_tunittest/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/73.2b58d1e5.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/74.28a2db89.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/73.2b58d1e5.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/74.28a2db89.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_types/index.html b/teaclave-sgx-sdk/sgx_types/index.html
index c22d993..13947d1 100644
--- a/teaclave-sgx-sdk/sgx_types/index.html
+++ b/teaclave-sgx-sdk/sgx_types/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_types/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/74.d8faadc2.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/75.fdd59454.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/74.d8faadc2.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/75.fdd59454.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_ucrypto/index.html b/teaclave-sgx-sdk/sgx_ucrypto/index.html
index 2317ba3..07b7223 100644
--- a/teaclave-sgx-sdk/sgx_ucrypto/index.html
+++ b/teaclave-sgx-sdk/sgx_ucrypto/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_ucrypto/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/75.56fabeb2.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/76.c6f3842b.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/75.56fabeb2.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/76.c6f3842b.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_unwind/index.html b/teaclave-sgx-sdk/sgx_unwind/index.html
index 295c760..a375432 100644
--- a/teaclave-sgx-sdk/sgx_unwind/index.html
+++ b/teaclave-sgx-sdk/sgx_unwind/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_unwind/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/76.be6644c7.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/77.fc39b3bc.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/76.be6644c7.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/77.fc39b3bc.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/sgx_urts/index.html b/teaclave-sgx-sdk/sgx_urts/index.html
index 91f83a9..c9c29c6 100644
--- a/teaclave-sgx-sdk/sgx_urts/index.html
+++ b/teaclave-sgx-sdk/sgx_urts/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/sgx_urts/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/77.9416d888.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/78.1913fc0d.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -114,6 +114,6 @@
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/77.9416d888.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/78.1913fc0d.js" defer></script>
   </body>
 </html>
diff --git a/teaclave-sgx-sdk/third_party/index.html b/teaclave-sgx-sdk/third_party/index.html
index 0600a7e..c87bf68 100644
--- a/teaclave-sgx-sdk/third_party/index.html
+++ b/teaclave-sgx-sdk/third_party/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave-sgx-sdk/third_party/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/78.fd509679.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/79.346442bb.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -118,6 +118,6 @@ foo = { git = &quot;https://github.com/...&quot;, tag = &quot;deadbeaf&quot; }
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/78.fd509679.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/79.346442bb.js" defer></script>
   </body>
 </html>
diff --git a/teaclave/SECURITY/index.html b/teaclave/SECURITY/index.html
index 60aa39f..d6787a3 100644
--- a/teaclave/SECURITY/index.html
+++ b/teaclave/SECURITY/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave/SECURITY/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/83.de1e81b7.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/84.a07e428e.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -116,6 +116,6 @@ first (private@teaclave.apache.org), before disclosing them in a public forum.</
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/83.de1e81b7.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/84.a07e428e.js" defer></script>
   </body>
 </html>
diff --git a/teaclave/common/protected_fs_rs/index.html b/teaclave/common/protected_fs_rs/index.html
index 96e0490..e63c515 100644
--- a/teaclave/common/protected_fs_rs/index.html
+++ b/teaclave/common/protected_fs_rs/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave/common/protected_fs_rs/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/88.f3267ef3.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/89.b0b6aec5.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -119,6 +119,6 @@ CMake. Please refer to <code>build.rs</code> for more information.</p></div> <fo
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/88.f3267ef3.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/89.b0b6aec5.js" defer></script>
   </body>
 </html>
diff --git a/teaclave/common/rusty_leveldb_sgx/index.html b/teaclave/common/rusty_leveldb_sgx/index.html
index a27cf47..482811f 100644
--- a/teaclave/common/rusty_leveldb_sgx/index.html
+++ b/teaclave/common/rusty_leveldb_sgx/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave/common/rusty_leveldb_sgx/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/89.889652c3.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/90.c3217529.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -129,6 +129,6 @@ typical C++ constructs to Rust.</li></ul></div> <footer class="page-edit"><!----
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/89.889652c3.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/90.c3217529.js" defer></script>
   </body>
 </html>
diff --git a/teaclave/index.html b/teaclave/index.html
index f6dc2eb..ba5c7e9 100644
--- a/teaclave/index.html
+++ b/teaclave/index.html
@@ -16,7 +16,7 @@
     <meta name="twitter:url" content="https://teaclave.apache.org/teaclave/">
     <meta name="twitter:card" content="summary_large_image">
     <meta name="twitter:site" content="@ApacheTeaclave">
-    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.59ec8dd0.js" as="script"><link rel="preload" href="/assets/js/5.cd5894ed.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/82.08b24aae.js" as="script"><link rel="prefetch" href="/assets/js/10.f0acf912.js"><link rel="prefetch" href="/assets/js/100.1aa52814.js"><link rel="prefetch" href="/assets/js/101.25dfcf [...]
+    <link rel="preload" href="/assets/css/0.styles.bb7b5639.css" as="style"><link rel="preload" href="/assets/js/app.55ea5d5c.js" as="script"><link rel="preload" href="/assets/js/5.6befcbee.js" as="script"><link rel="preload" href="/assets/js/1.fee0e973.js" as="script"><link rel="preload" href="/assets/js/83.c414d534.js" as="script"><link rel="prefetch" href="/assets/js/10.45c58fe7.js"><link rel="prefetch" href="/assets/js/100.b4fcf686.js"><link rel="prefetch" href="/assets/js/101.29dfba [...]
     <link rel="stylesheet" href="/assets/css/0.styles.bb7b5639.css">
   </head>
   <body>
@@ -135,6 +135,6 @@ learn more about how to contribute. Thanks to our <a href="/teaclave/CONTRIBUTOR
     Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either
     trademarks or registered trademarks of the Apache Software Foundation.
   </div></main></div><div class="global-ui"><!----></div></div>
-    <script src="/assets/js/app.59ec8dd0.js" defer></script><script src="/assets/js/5.cd5894ed.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/82.08b24aae.js" defer></script>
+    <script src="/assets/js/app.55ea5d5c.js" defer></script><script src="/assets/js/5.6befcbee.js" defer></script><script src="/assets/js/1.fee0e973.js" defer></script><script src="/assets/js/83.c414d534.js" defer></script>
   </body>
 </html>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@teaclave.apache.org
For additional commands, e-mail: commits-help@teaclave.apache.org