Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
+
+
\ No newline at end of file
diff --git a/static/CNAME b/CNAME
similarity index 100%
rename from static/CNAME
rename to CNAME
diff --git a/README.md b/README.md
deleted file mode 100644
index 0c6c2c2..0000000
--- a/README.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# Website
-
-This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.
-
-### Installation
-
-```
-$ yarn
-```
-
-### Local Development
-
-```
-$ yarn start
-```
-
-This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
-
-### Build
-
-```
-$ yarn build
-```
-
-This command generates static content into the `build` directory and can be served using any static contents hosting service.
-
-### Deployment
-
-Using SSH:
-
-```
-$ USE_SSH=true yarn deploy
-```
-
-Not using SSH:
-
-```
-$ GIT_USER= yarn deploy
-```
-
-If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
diff --git a/assets/css/styles.49be0aa1.css b/assets/css/styles.49be0aa1.css
new file mode 100644
index 0000000..48c70fd
--- /dev/null
+++ b/assets/css/styles.49be0aa1.css
@@ -0,0 +1 @@
+.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_FSXx,html{-webkit-tap-highlight-color:transparent}.clean-list,.containsTaskList_XKkb,.details_Buu7>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#2e8555;--ifm-color-primary-dark:#29784c;--ifm-color-primary-darker:#277148;--ifm-color-primary-darkest:#205d3b;--ifm-color-primary-light:#33925d;--ifm-color-primary-lighter:#359962;--ifm-color-primary-lightest:#3cad6e;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-blog-social-icon-size:1rem;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}*{box-sizing:border-box}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_sepj,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){-webkit-text-decoration:none;text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_C2Tn .wordWrapButtonIcon_KEVT{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_EtZU,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.dropdown__link--active,.dropdown__link:hover,.menu__link:hover,.navbar__brand:hover,.navbar__link--active,.navbar__link:hover,.pagination-nav__link:hover,.pagination__link:hover,.sidebarItemLink_dnm5:hover,.tag_U7q9:hover{-webkit-text-decoration:none;text-decoration:none}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);-webkit-text-decoration:none;text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_PXFY:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.sidebar_ahTV,.tableOfContents_LGHO{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color)}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_stJn article>:first-child,.docItemContainer_stJn header+*,.footer__item{margin-top:0}.admonitionContent_JkkO>:last-child,.collapsibleContent_Zvne p:last-child,.details_Buu7>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_chy6,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_bOR3{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_Buu7[data-collapsed=false].isBrowser_Eb09>summary:before,.details_Buu7[open]:not(.isBrowser_Eb09)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color)}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color)}.announcementBarContent_hcMO,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color)}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover)}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.sidebarItemTitle_agTL,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_XKkb>li)>.containsTaskList_XKkb{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-color-primary:#25c2a0;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#29d5b0;--ifm-color-primary-lighter:#32d8b4;--ifm-color-primary-lightest:#4fddbf;--docusaurus-highlighted-code-line-bg:#0000004d}.backToTopButton_XByb{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_XByb:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_J_DN{opacity:1;transform:scale(1);visibility:visible}.skipToContent_omVQ{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_omVQ:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_hBEU{line-height:0;padding:0}.content__cdv{font-size:85%;padding:5px 0;text-align:center}.content__cdv a{color:inherit;-webkit-text-decoration:underline;text-decoration:underline}.announcementBar_gWAW{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_PWuD,.navbarSearchContainer_RMw8:empty,.sidebarLogo_tstT,.themedComponent_HJV7,[data-theme=dark] .lightToggleIcon_YSYT,[data-theme=light] .darkToggleIcon_CVQe,html[data-announcement-bar-initially-dismissed=true] .announcementBar_gWAW{display:none}.announcementBarPlaceholder_B2WD{flex:0 0 10px}.announcementBarClose_RvTp{align-self:stretch;flex:0 0 30px}.toggle_1zmc{height:2rem;width:2rem}.toggleButton_FSXx{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.authorSocialIcon_wQE9,.authorSocialLink_i5Rw,.authorSocials_CXKp{height:var(--docusaurus-blog-social-icon-size)}.toggleButton_FSXx:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_BIpV{cursor:not-allowed}.darkNavbarColorModeToggle_RQEt:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_x1c9,[data-theme=light] .themedComponent--light_P8ew,html:not([data-theme]) .themedComponent--light_P8ew{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_LaAv{display:none;margin:0}.iconExternalLink_PJdE{margin-left:.3rem}.docMainContainer_WFhK,.docRoot_eMyo{display:flex;width:100%}.authorSocialIcon_wQE9,.authorSocialLink_i5Rw{width:var(--docusaurus-blog-social-icon-size)}.docsWrapper_Qq9m{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_tvxD{cursor:pointer}.iconLanguage_WqLM{margin-right:5px;vertical-align:text-bottom}.navbarHideable_x7w8{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_GrmR{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_zJRv{color:red;white-space:pre-wrap}.errorBoundaryFallback_znlV{color:red;padding:.55rem}.footerLogoLink_rhBk{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_rhBk:hover,.hash-link:focus,:hover>.hash-link{opacity:1}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.anchorWithStickyNavbar_K9wB{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_md4Y{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_wRek{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_ahTV{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.authorSocials_CXKp,.authorTitle_LnKb{overflow:hidden;-webkit-box-orient:vertical}.sidebarItemTitle_agTL{font-size:var(--ifm-h3-font-size)}.container_NCC6,.sidebarItemList_QbBH{font-size:.9rem}.sidebarItem_BW5o{margin-top:.7rem}.sidebarItemLink_dnm5{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_v95i{color:var(--ifm-color-primary)!important}.yearGroupHeading_NLA5{margin-bottom:.4rem;margin-top:1.6rem}.yearGroupHeading__Yb8{margin:1rem .75rem .5rem}[data-theme=dark] .githubSvg_MBbH,[data-theme=dark] .xSvg_ProJ{fill:var(--light)}[data-theme=light] .githubSvg_MBbH,[data-theme=light] .xSvg_ProJ{fill:var(--dark)}.authorSocials_CXKp{align-items:center;display:flex;flex-wrap:wrap;line-clamp:1;-webkit-line-clamp:1}.authorSocialLink_i5Rw,.authorSocials_CXKp{line-height:0}.authorSocialLink_i5Rw{margin-right:.4rem}.authorImage_FP6B{--ifm-avatar-photo-size:3.6rem}.author-as-h1_kmtj .authorImage_FP6B{--ifm-avatar-photo-size:7rem}.author-as-h2_RbLT .authorImage_FP6B{--ifm-avatar-photo-size:5.4rem}.authorDetails_m2zI{align-items:flex-start;display:flex;flex-direction:column;justify-content:space-around}.authorName_QBaK{display:flex;flex-direction:row;font-size:1.1rem;line-height:1.1rem}.author-as-h1_kmtj .authorName_QBaK{display:inline;font-size:2.4rem;line-height:2.4rem}.author-as-h2_RbLT .authorName_QBaK{display:inline;font-size:1.4rem;line-height:1.4rem}.authorTitle_LnKb{display:-webkit-box;font-size:.8rem;line-height:1rem;line-clamp:1;-webkit-line-clamp:1}.author-as-h1_kmtj .authorTitle_LnKb{font-size:1.2rem;line-height:1.6rem}.author-as-h2_RbLT .authorTitle_LnKb{font-size:1rem;line-height:1.3rem}.authorBlogPostCount_mQdb{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.8rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.buttonGroup_s23b button,.codeBlockContainer_TxJF{background:var(--prism-background-color);color:var(--prism-color)}.authorCol_RPjB{max-width:inherit!important}.imageOnlyAuthorRow_F2QD{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_y5No{margin-left:.3rem;margin-right:.3rem}.authorListItem_qh2f{list-style-type:none;margin-bottom:2rem}.codeBlockContainer_TxJF{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_G9mj{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_pGVM{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_du71{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_pGVM+.codeBlockContent_G9mj .codeBlock_du71{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_oBcF{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_aAsc{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_s23b{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_s23b button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_s23b button:focus-visible,.buttonGroup_s23b button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_s23b button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_dsl5{counter-increment:a;display:table-row}.codeLineNumber_PXFY{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_PXFY:before{content:counter(a);opacity:.4}.codeLineContent_L4hW{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_QyRT{opacity:1!important}.copyButtonIcons_TXp2{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_rhZV,.copyButtonSuccessIcon_ZC8u{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_ZC8u{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_QyRT .copyButtonIcon_rhZV{opacity:0;transform:scale(.33)}.copyButtonCopied_QyRT .copyButtonSuccessIcon_ZC8u{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tag_U7q9{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_U7q9:hover{--docusaurus-tag-list-border:var(--ifm-link-color)}.tagRegular_Ly5Y{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_jTFr{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_jTFr:after,.tagWithCount_jTFr:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_jTFr:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_jTFr:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_jTFr span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_W3Mp{display:inline-block;margin:.5rem .5rem 0 1rem}.wordWrapButtonIcon_KEVT{height:1.2rem;width:1.2rem}.tags_tg_p{display:inline}.tag_njed{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit__pEu{margin-right:.3em;vertical-align:sub}.details_Buu7{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_Buu7>summary{cursor:pointer;padding-left:1rem;position:relative}.details_Buu7>summary::-webkit-details-marker{display:none}.details_Buu7>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_Zvne{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.lastUpdated_XdRs{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_l_De{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_l_De:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_misi:after,.tocCollapsibleExpanded_Q5QS{transform:none}.tocCollapsible_g3Pk{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_2xAB>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_2xAB ul li{margin:.4rem .8rem}.tocCollapsibleContent_2xAB a{display:block}.details_gLd4{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_YO8G{height:auto}.tableOfContents_LGHO{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_dqL5{margin-bottom:1em}.admonitionHeading_EtZU{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_EtZU:not(:last-child){margin-bottom:.3rem}.admonitionHeading_EtZU code{text-transform:none}.admonitionIcon_Iznr{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Iznr svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_o9NM{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_SsQS{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.mdxPageWrapper_Xq9B{justify-content:center}@media (min-width:997px){.collapseSidebarButton_LaAv,.expandButton_3dtZ{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_RvTp,.announcementBarPlaceholder_B2WD{flex-basis:50px}.collapseSidebarButton_LaAv{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_J8ug{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_UNBx,[dir=rtl] .collapseSidebarButtonIcon_J8ug{transform:rotate(0)}.collapseSidebarButton_LaAv:focus,.collapseSidebarButton_LaAv:hover,.expandButton_3dtZ:focus,.expandButton_3dtZ:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_JsdC{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_EwYh{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_EwYh{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_mZ9M{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_mMRM{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_P0ro{padding-top:0}.sidebarHidden_eg7g{opacity:0;visibility:hidden}.sidebarLogo_tstT{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);-webkit-text-decoration:none!important;text-decoration:none!important}.sidebarLogo_tstT img{height:2rem;margin-right:.5rem}.expandButton_3dtZ{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_UNBx{transform:rotate(180deg)}.docSidebarContainer_PWuD{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_kC2R{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_KI1b{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_WFhK{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_mygI{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_QhKK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_RMw8{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_XdRs{text-align:right}.tocMobile_Oik5{display:none}.docItemCol_lWa8{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_TfXM,.footer__link-separator,.navbar__item,.sidebar_ahTV,.tableOfContents_LGHO{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block;width:max-content}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_RMw8{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_qawi{padding:0 .3rem}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_bOR3{font-size:2rem}}@media (hover:hover){.backToTopButton_XByb:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_gWAW,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_Oik5{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_oBcF{white-space:pre-wrap}}
\ No newline at end of file
diff --git a/docs/3-manual/assets/Gestures_Two_Finger_Scroll.png b/assets/images/Gestures_Two_Finger_Scroll-e4395df00a98d32e3737a67e6527ac27.png
similarity index 100%
rename from docs/3-manual/assets/Gestures_Two_Finger_Scroll.png
rename to assets/images/Gestures_Two_Finger_Scroll-e4395df00a98d32e3737a67e6527ac27.png
diff --git a/docs/3-manual/assets/best-practice.png b/assets/images/best-practice-f53a56168f0ba5c2abcab1756fffa5ad.png
similarity index 100%
rename from docs/3-manual/assets/best-practice.png
rename to assets/images/best-practice-f53a56168f0ba5c2abcab1756fffa5ad.png
diff --git a/docs/3-manual/assets/changescope.png b/assets/images/changescope-99097cd4cc48581d652d25e2a470b06d.png
similarity index 100%
rename from docs/3-manual/assets/changescope.png
rename to assets/images/changescope-99097cd4cc48581d652d25e2a470b06d.png
diff --git a/docs/3-manual/assets/changescope.gif b/assets/images/changescope-d6b3aa6c8f3135a01a7695d8cbfb7812.gif
similarity index 100%
rename from docs/3-manual/assets/changescope.gif
rename to assets/images/changescope-d6b3aa6c8f3135a01a7695d8cbfb7812.gif
diff --git a/docs/4-kernel-ffi/assets/codepod-unified-framework.png b/assets/images/codepod-unified-framework-6f5583f94a24e8b0177705b8547b42f4.png
similarity index 100%
rename from docs/4-kernel-ffi/assets/codepod-unified-framework.png
rename to assets/images/codepod-unified-framework-6f5583f94a24e8b0177705b8547b42f4.png
diff --git a/docs/3-manual/assets/create-pod.gif b/assets/images/create-pod-6410523ba698610a154f8a124b2d32a7.gif
similarity index 100%
rename from docs/3-manual/assets/create-pod.gif
rename to assets/images/create-pod-6410523ba698610a154f8a124b2d32a7.gif
diff --git a/docs/3-manual/assets/create-scope.gif b/assets/images/create-scope-66f188a1f7e5ced8feef142514a41465.gif
similarity index 100%
rename from docs/3-manual/assets/create-scope.gif
rename to assets/images/create-scope-66f188a1f7e5ced8feef142514a41465.gif
diff --git a/docs/3-manual/assets/defuse.png b/assets/images/defuse-ac6ef333f8459b5e5b78b6ebe6a089e4.png
similarity index 100%
rename from docs/3-manual/assets/defuse.png
rename to assets/images/defuse-ac6ef333f8459b5e5b78b6ebe6a089e4.png
diff --git a/docs/3-manual/assets/delete.png b/assets/images/delete-865cf38c1692c1ddab0abbc064c6a6c8.png
similarity index 100%
rename from docs/3-manual/assets/delete.png
rename to assets/images/delete-865cf38c1692c1ddab0abbc064c6a6c8.png
diff --git a/docs/3-manual/assets/draw-edge.gif b/assets/images/draw-edge-e3ea2366d5ad3bc6ddc2eda18b9131bb.gif
similarity index 100%
rename from docs/3-manual/assets/draw-edge.gif
rename to assets/images/draw-edge-e3ea2366d5ad3bc6ddc2eda18b9131bb.gif
diff --git a/static/img/google-docs-example.png b/assets/images/google-docs-example-9830fa66eaffc14c4d8e549686d884d2.png
similarity index 100%
rename from static/img/google-docs-example.png
rename to assets/images/google-docs-example-9830fa66eaffc14c4d8e549686d884d2.png
diff --git a/static/img/graph_based_LDA.png b/assets/images/graph_based_LDA-5e3dc20b54081ffa2e4cffd0db3b4e2e.png
similarity index 100%
rename from static/img/graph_based_LDA.png
rename to assets/images/graph_based_LDA-5e3dc20b54081ffa2e4cffd0db3b4e2e.png
diff --git a/docs/3-manual/assets/import.gif b/assets/images/import-9254c96d3e930ba57a4dd45c903557fe.gif
similarity index 100%
rename from docs/3-manual/assets/import.gif
rename to assets/images/import-9254c96d3e930ba57a4dd45c903557fe.gif
diff --git a/docs/4-kernel-ffi/assets/kernel-ffi-intro.png b/assets/images/kernel-ffi-intro-fcd6e2603db2ad082487a03265fc9c8f.png
similarity index 100%
rename from docs/4-kernel-ffi/assets/kernel-ffi-intro.png
rename to assets/images/kernel-ffi-intro-fcd6e2603db2ad082487a03265fc9c8f.png
diff --git a/static/img/lda-example.png b/assets/images/lda-example-17fd1ecaa9feb4f2eef628f361485e85.png
similarity index 100%
rename from static/img/lda-example.png
rename to assets/images/lda-example-17fd1ecaa9feb4f2eef628f361485e85.png
diff --git a/docs/3-manual/assets/markdown.png b/assets/images/markdown-8b5b10d6d193dc46ccb8ee645546f321.png
similarity index 100%
rename from docs/3-manual/assets/markdown.png
rename to assets/images/markdown-8b5b10d6d193dc46ccb8ee645546f321.png
diff --git a/docs/8-press/assets/mnist.png b/assets/images/mnist-ed97dddf97e77720dc6c383564e825ee.png
similarity index 100%
rename from docs/8-press/assets/mnist.png
rename to assets/images/mnist-ed97dddf97e77720dc6c383564e825ee.png
diff --git a/docs/3-manual/assets/move.gif b/assets/images/move-39636ae03241860f6fbdf00738dc8276.gif
similarity index 100%
rename from docs/3-manual/assets/move.gif
rename to assets/images/move-39636ae03241860f6fbdf00738dc8276.gif
diff --git a/docs/4-kernel-ffi/assets/objRefSequence.png b/assets/images/objRefSequence-b1d9c04fa68c095851a91725aca21a7d.png
similarity index 100%
rename from docs/4-kernel-ffi/assets/objRefSequence.png
rename to assets/images/objRefSequence-b1d9c04fa68c095851a91725aca21a7d.png
diff --git a/docs/3-manual/assets/outofscope.png b/assets/images/outofscope-8a9cea775fdf647124f23cddb08d6846.png
similarity index 100%
rename from docs/3-manual/assets/outofscope.png
rename to assets/images/outofscope-8a9cea775fdf647124f23cddb08d6846.png
diff --git a/docs/3-manual/assets/overlap.png b/assets/images/overlap-1bf5a733cd04a7598fdf3644a25c05b5.png
similarity index 100%
rename from docs/3-manual/assets/overlap.png
rename to assets/images/overlap-1bf5a733cd04a7598fdf3644a25c05b5.png
diff --git a/docs/3-manual/assets/public.png b/assets/images/public-8b1fa29d5d37f7c3e865cd2ae3eeb182.png
similarity index 100%
rename from docs/3-manual/assets/public.png
rename to assets/images/public-8b1fa29d5d37f7c3e865cd2ae3eeb182.png
diff --git a/docs/3-manual/assets/resize.gif b/assets/images/resize-13d45108723feae17389574b0651a68b.gif
similarity index 100%
rename from docs/3-manual/assets/resize.gif
rename to assets/images/resize-13d45108723feae17389574b0651a68b.gif
diff --git a/docs/3-manual/assets/run.gif b/assets/images/run-897522dbafb257cf7348fb9a4dd7baab.gif
similarity index 100%
rename from docs/3-manual/assets/run.gif
rename to assets/images/run-897522dbafb257cf7348fb9a4dd7baab.gif
diff --git a/docs/3-manual/assets/scope-separate.png b/assets/images/scope-separate-5db34e46f35d5f17a97add6c0e6cd6ba.png
similarity index 100%
rename from docs/3-manual/assets/scope-separate.png
rename to assets/images/scope-separate-5db34e46f35d5f17a97add6c0e6cd6ba.png
diff --git a/docs/4-kernel-ffi/assets/simple-loop.png b/assets/images/simple-loop-e2cf9ee030b5dbd4412e111a3eb7f525.png
similarity index 100%
rename from docs/4-kernel-ffi/assets/simple-loop.png
rename to assets/images/simple-loop-e2cf9ee030b5dbd4412e111a3eb7f525.png
diff --git a/docs/3-manual/assets/toolbar.png b/assets/images/toolbar-2861119c0bda2476c3a34ba6df2be97d.png
similarity index 100%
rename from docs/3-manual/assets/toolbar.png
rename to assets/images/toolbar-2861119c0bda2476c3a34ba6df2be97d.png
diff --git a/static/img/tree.png b/assets/images/tree-4452d976fcfab2605d51a4d522e87827.png
similarity index 100%
rename from static/img/tree.png
rename to assets/images/tree-4452d976fcfab2605d51a4d522e87827.png
diff --git a/assets/js/0058b4c6.9feff474.js b/assets/js/0058b4c6.9feff474.js
new file mode 100644
index 0000000..4c39400
--- /dev/null
+++ b/assets/js/0058b4c6.9feff474.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[849],{6164:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/docs/intro","docId":"intro","unlisted":false},{"type":"link","label":"User Manual","href":"/docs/manual/","docId":"manual/README","unlisted":false},{"type":"link","label":"Kernel-FFI","href":"/docs/kernel-ffi/","docId":"kernel-ffi/README","unlisted":false},{"type":"link","label":"Videos","href":"/docs/video","docId":"video","unlisted":false},{"type":"link","label":"Screenshots","href":"/docs/press/","docId":"press/README","unlisted":false},{"type":"category","label":"Reference","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Legal","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Privacy Policy","href":"/docs/Reference/Legal/privacy-policy","docId":"Reference/Legal/privacy-policy","unlisted":false}]}]}]},"docs":{"intro":{"id":"intro","title":"Introduction","description":"CodePod.io is an open-source canvas-based coding IDE that","sidebar":"tutorialSidebar"},"kernel-ffi/README":{"id":"kernel-ffi/README","title":"Kernel-FFI","description":"Overview","sidebar":"tutorialSidebar"},"manual/README":{"id":"manual/README","title":"User Manual","description":"Try it at https://test.codepod.io","sidebar":"tutorialSidebar"},"press/README":{"id":"press/README","title":"Screenshots","description":"This document contains screenshots and gallery assets to give you an overall","sidebar":"tutorialSidebar"},"Reference/Legal/privacy-policy":{"id":"Reference/Legal/privacy-policy","title":"Privacy Policy","description":"At CodePod Inc., we take the privacy of our users very seriously. This Privacy","sidebar":"tutorialSidebar"},"video":{"id":"video","title":"Videos","description":"Introduction and Basic Tutorial in 5 minutes","sidebar":"tutorialSidebar"}}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/01a85c17.2ec89ec6.js b/assets/js/01a85c17.2ec89ec6.js
new file mode 100644
index 0000000..2ae5f0f
--- /dev/null
+++ b/assets/js/01a85c17.2ec89ec6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[209],{4187:(e,t,a)=>{a.d(t,{in:()=>c,OU:()=>_,Ki:()=>k,kJ:()=>b,x:()=>l,e7:()=>m,J_:()=>f,Gx:()=>A});var s=a(6372),n=a(8930),i=a(9224),r=a(216);function l(){const e=(0,i.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=s.createContext(null);function c(e){let{children:t,content:a,isBlogPostPage:n=!1}=e;const i=function(e){let{content:t,isBlogPostPage:a}=e;return(0,s.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:n});return(0,r.jsx)(o.Provider,{value:i,children:t})}function m(){const e=(0,s.useContext)(o);if(null===e)throw new n.dV("BlogPostProvider");return e}var d=a(5924),u=a(2727);const g=e=>new Date(e).toISOString();function h(e){const t=e.map(x);return{author:1===t.length?t[0]:t}}function p(e,t,a){return e?{image:j({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function b(e){const{siteConfig:t}=(0,u.A)(),{withBaseUrl:a}=(0,d.hH)(),{metadata:{blogDescription:s,blogTitle:n,permalink:i}}=e,r=`${t.url}${i}`;return{"@context":"https://schema.org","@type":"Blog","@id":r,mainEntityOfPage:r,headline:n,description:s,blogPost:e.items.map((e=>function(e,t,a){const{assets:s,frontMatter:n,metadata:i}=e,{date:r,title:l,description:o,lastUpdatedAt:c}=i,m=s.image??n.image,d=n.keywords??[],u=`${t.url}${i.permalink}`,b=c?g(c):void 0;return{"@type":"BlogPosting","@id":u,mainEntityOfPage:u,url:u,headline:l,name:l,description:o,datePublished:r,...b?{dateModified:b}:{},...h(i.authors),...p(m,a,l),...d?{keywords:d}:{}}}(e.content,t,a)))}}function f(){const e=l(),{assets:t,metadata:a}=m(),{siteConfig:s}=(0,u.A)(),{withBaseUrl:n}=(0,d.hH)(),{date:i,title:r,description:o,frontMatter:c,lastUpdatedAt:b}=a,f=t.image??c.image,x=c.keywords??[],j=b?g(b):void 0,v=`${s.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":v,mainEntityOfPage:v,url:v,headline:r,name:r,description:o,datePublished:i,...j?{dateModified:j}:{},...h(a.authors),...p(f,n,r),...x?{keywords:x}:{},isPartOf:{"@type":"Blog","@id":`${s.url}${e.blogBasePath}`,name:e.blogTitle}}}function x(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function j(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}var v=a(9551),N=a(4079),C=a(7660),y=a(6583);function A(e){const{pathname:t}=(0,v.zy)();return(0,s.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,y.ys)(e.permalink,t))}(e,t)))),[e,t])}function k(e){const t=(0,C.$z)(e,(e=>`${new Date(e.date).getFullYear()}`)),a=Object.entries(t);return a.reverse(),a}function _(e){let{items:t,ulClassName:a,liClassName:s,linkClassName:n,linkActiveClassName:i}=e;return(0,r.jsx)("ul",{className:a,children:t.map((e=>(0,r.jsx)("li",{className:s,children:(0,r.jsx)(N.A,{isNavLink:!0,to:e.permalink,className:n,activeClassName:i,children:e.title})},e.permalink)))})}},3028:(e,t,a)=>{a.d(t,{A:()=>G});var s=a(6372),n=a(3394),i=a(9228),r=a(5307),l=a(9517),o=a(4187),c=a(7584),m=a(5402),d=a(216);function u(e){let{year:t,yearGroupHeadingClassName:a,children:s}=e;return(0,d.jsxs)("div",{role:"group",children:[(0,d.jsx)(m.A,{as:"h3",className:a,children:t}),s]})}function g(e){let{items:t,yearGroupHeadingClassName:a,ListComponent:s}=e;if((0,c.p)().blog.sidebar.groupByYear){const e=(0,o.Ki)(t);return(0,d.jsx)(d.Fragment,{children:e.map((e=>{let[t,n]=e;return(0,d.jsx)(u,{year:t,yearGroupHeadingClassName:a,children:(0,d.jsx)(s,{items:n})},t)}))})}return(0,d.jsx)(s,{items:t})}const h=(0,s.memo)(g),p="sidebar_ahTV",b="sidebarItemTitle_agTL",f="sidebarItemList_QbBH",x="sidebarItem_BW5o",j="sidebarItemLink_dnm5",v="sidebarItemLinkActive_v95i",N="yearGroupHeading_NLA5",C=e=>{let{items:t}=e;return(0,d.jsx)(o.OU,{items:t,ulClassName:(0,n.A)(f,"clean-list"),liClassName:x,linkClassName:j,linkActiveClassName:v})};function y(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,d.jsx)("aside",{className:"col col--3",children:(0,d.jsxs)("nav",{className:(0,n.A)(p,"thin-scrollbar"),"aria-label":(0,l.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,d.jsx)("div",{className:(0,n.A)(b,"margin-bottom--md"),children:t.title}),(0,d.jsx)(h,{items:a,ListComponent:C,yearGroupHeadingClassName:N})]})})}const A=(0,s.memo)(y);var k=a(3330);const _="yearGroupHeading__Yb8",P=e=>{let{items:t}=e;return(0,d.jsx)(o.OU,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function w(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,d.jsx)(h,{items:a,ListComponent:P,yearGroupHeadingClassName:_})}function B(e){return(0,d.jsx)(k.GX,{component:w,props:e})}const L=(0,s.memo)(B);function U(e){let{sidebar:t}=e;const a=(0,r.l)();return t?.items.length?"mobile"===a?(0,d.jsx)(L,{sidebar:t}):(0,d.jsx)(A,{sidebar:t}):null}function G(e){const{sidebar:t,toc:a,children:s,...r}=e,l=t&&t.items.length>0;return(0,d.jsx)(i.A,{...r,children:(0,d.jsx)("div",{className:"container margin-vert--lg",children:(0,d.jsxs)("div",{className:"row",children:[(0,d.jsx)(U,{sidebar:t}),(0,d.jsx)("main",{className:(0,n.A)("col",{"col--7":l,"col--9 col--offset-1":!l}),children:s}),a&&(0,d.jsx)("div",{className:"col col--2",children:a})]})})})}},9653:(e,t,a)=>{a.r(t),a.d(t,{default:()=>b});a(6372);var s=a(3394),n=a(9517);const i=()=>(0,n.T)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});var r=a(2571),l=a(9657),o=a(3028),c=a(7732),m=a(5402);const d={tag:"tag_W3Mp"};var u=a(216);function g(e){let{letterEntry:t}=e;return(0,u.jsxs)("article",{children:[(0,u.jsx)(m.A,{as:"h2",id:t.letter,children:t.letter}),(0,u.jsx)("ul",{className:"padding--none",children:t.tags.map((e=>(0,u.jsx)("li",{className:d.tag,children:(0,u.jsx)(c.A,{...e})},e.permalink)))}),(0,u.jsx)("hr",{})]})}function h(e){let{tags:t}=e;const a=function(e){const t={};return Object.values(e).forEach((e=>{const a=function(e){return e[0].toUpperCase()}(e.label);t[a]??=[],t[a].push(e)})),Object.entries(t).sort(((e,t)=>{let[a]=e,[s]=t;return a.localeCompare(s)})).map((e=>{let[t,a]=e;return{letter:t,tags:a.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}(t);return(0,u.jsx)("section",{className:"margin-vert--lg",children:a.map((e=>(0,u.jsx)(g,{letterEntry:e},e.letter)))})}var p=a(2465);function b(e){let{tags:t,sidebar:a}=e;const n=i();return(0,u.jsxs)(r.e3,{className:(0,s.A)(l.G.wrapper.blogPages,l.G.page.blogTagsListPage),children:[(0,u.jsx)(r.be,{title:n}),(0,u.jsx)(p.A,{tag:"blog_tags_list"}),(0,u.jsxs)(o.A,{sidebar:a,children:[(0,u.jsx)(m.A,{as:"h1",children:n}),(0,u.jsx)(h,{tags:t})]})]})}},7732:(e,t,a)=>{a.d(t,{A:()=>l});a(6372);var s=a(3394),n=a(4079);const i={tag:"tag_U7q9",tagRegular:"tagRegular_Ly5Y",tagWithCount:"tagWithCount_jTFr"};var r=a(216);function l(e){let{permalink:t,label:a,count:l,description:o}=e;return(0,r.jsxs)(n.A,{href:t,title:o,className:(0,s.A)(i.tag,l?i.tagWithCount:i.tagRegular),children:[a,l&&(0,r.jsx)("span",{children:l})]})}}}]);
\ No newline at end of file
diff --git a/assets/js/17896441.b2230785.js b/assets/js/17896441.b2230785.js
new file mode 100644
index 0000000..e396e15
--- /dev/null
+++ b/assets/js/17896441.b2230785.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[401],{4936:(e,t,n)=>{n.d(t,{A:()=>c});n(6372);var s=n(3394),a=n(9558),i=n(9657),l=n(2447),o=n(216);function r(e){let{className:t}=e;return(0,o.jsx)(l.A,{type:"caution",title:(0,o.jsx)(a.Rc,{}),className:(0,s.A)(t,i.G.common.unlistedBanner),children:(0,o.jsx)(a.Uh,{})})}function c(e){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(a.AE,{}),(0,o.jsx)(r,{...e})]})}},9411:(e,t,n)=>{n.d(t,{A:()=>d});n(6372);var s=n(3394),a=n(9558),i=n(9657),l=n(2447),o=n(216);function r(e){let{className:t}=e;return(0,o.jsx)(l.A,{type:"caution",title:(0,o.jsx)(a.Yh,{}),className:(0,s.A)(t,i.G.common.draftBanner),children:(0,o.jsx)(a.TT,{})})}var c=n(4936);function d(e){let{metadata:t}=e;const{unlisted:n,frontMatter:s}=t;return(0,o.jsxs)(o.Fragment,{children:[(n||s.unlisted)&&(0,o.jsx)(c.A,{}),s.draft&&(0,o.jsx)(r,{})]})}},521:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ae});var s=n(6372),a=n(2571),i=n(8930),l=n(216);const o=s.createContext(null);function r(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,l.jsx)(o.Provider,{value:a,children:t})}function c(){const e=(0,s.useContext)(o);if(null===e)throw new i.dV("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=c();return(0,l.jsx)(a.be,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(3394),m=n(5307),h=n(9517),v=n(2020);function b(e){const{previous:t,next:n}=e;return(0,l.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,h.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,l.jsx)(v.A,{...t,subLabel:(0,l.jsx)(h.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,l.jsx)(v.A,{...n,subLabel:(0,l.jsx)(h.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function x(){const{metadata:e}=c();return(0,l.jsx)(b,{previous:e.previous,next:e.next})}var g=n(2727),f=n(4079),p=n(6524),j=n(9657),A=n(4527),L=n(3186);const N={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,l.jsx)(h.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,l.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,l.jsx)(h.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,l.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function C(e){const t=N[e.versionMetadata.banner];return(0,l.jsx)(t,{...e})}function _(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,l.jsx)(h.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,l.jsx)("b",{children:(0,l.jsx)(f.A,{to:n,onClick:s,children:(0,l.jsx)(h.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function T(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:s}}=(0,g.A)(),{pluginId:a}=(0,p.vT)({failfast:!0}),{savePreferredVersionName:i}=(0,A.g1)(a),{latestDocSuggestion:o,latestVersionSuggestion:r}=(0,p.HW)(a),c=o??(d=r).docs.find((e=>e.id===d.mainDocId));var d;return(0,l.jsxs)("div",{className:(0,u.A)(t,j.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,l.jsx)("div",{children:(0,l.jsx)(C,{siteTitle:s,versionMetadata:n})}),(0,l.jsx)("div",{className:"margin-top--md",children:(0,l.jsx)(_,{versionLabel:r.label,to:c.path,onClick:()=>i(r.name)})})]})}function k(e){let{className:t}=e;const n=(0,L.r)();return n.banner?(0,l.jsx)(T,{className:t,versionMetadata:n}):null}function H(e){let{className:t}=e;const n=(0,L.r)();return n.badge?(0,l.jsx)("span",{className:(0,u.A)(t,j.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(h.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}var y=n(8800),M=n(3149);function w(){const{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,tags:a}=e,i=a.length>0,o=!!(t||n||s);return i||o?(0,l.jsxs)("footer",{className:(0,u.A)(j.G.docs.docFooter,"docusaurus-mt-lg"),children:[i&&(0,l.jsx)("div",{className:(0,u.A)("row margin-top--sm",j.G.docs.docFooterTagsRow),children:(0,l.jsx)("div",{className:"col",children:(0,l.jsx)(y.A,{tags:a})})}),o&&(0,l.jsx)(M.A,{className:(0,u.A)("margin-top--sm",j.G.docs.docFooterEditMetaRow),editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s})]}):null}var B=n(6068),I=n(2797);const E={tocCollapsibleButton:"tocCollapsibleButton_l_De",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_misi"};function O(e){let{collapsed:t,...n}=e;return(0,l.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn",E.tocCollapsibleButton,!t&&E.tocCollapsibleButtonExpanded,n.className),children:(0,l.jsx)(h.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const V={tocCollapsible:"tocCollapsible_g3Pk",tocCollapsibleContent:"tocCollapsibleContent_2xAB",tocCollapsibleExpanded:"tocCollapsibleExpanded_Q5QS"};function S(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:i,toggleCollapsed:o}=(0,B.u)({initialState:!0});return(0,l.jsxs)("div",{className:(0,u.A)(V.tocCollapsible,!i&&V.tocCollapsibleExpanded,n),children:[(0,l.jsx)(O,{collapsed:i,onClick:o}),(0,l.jsx)(B.N,{lazy:!0,className:V.tocCollapsibleContent,collapsed:i,children:(0,l.jsx)(I.A,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const R={tocMobile:"tocMobile_Oik5"};function G(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(S,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.A)(j.G.docs.docTocMobile,R.tocMobile)})}var U=n(4378);function P(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(U.A,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:j.G.docs.docTocDesktop})}var F=n(5402),D=n(9231);function W(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return(0,l.jsxs)("div",{className:(0,u.A)(j.G.docs.docMarkdown,"markdown"),children:[n&&(0,l.jsx)("header",{children:(0,l.jsx)(F.A,{as:"h1",children:n})}),(0,l.jsx)(D.A,{children:t})]})}var q=n(6231),z=n(6583),Q=n(5924);function Y(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const $={breadcrumbHomeIcon:"breadcrumbHomeIcon_o9NM"};function J(){const e=(0,Q.Ay)("/");return(0,l.jsx)("li",{className:"breadcrumbs__item",children:(0,l.jsx)(f.A,{"aria-label":(0,h.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,l.jsx)(Y,{className:$.breadcrumbHomeIcon})})})}const K={breadcrumbsContainer:"breadcrumbsContainer_SsQS"};function X(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,l.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,l.jsx)(f.A,{className:a,href:n,itemProp:"item",children:(0,l.jsx)("span",{itemProp:"name",children:t})}):(0,l.jsx)("span",{className:a,children:t})}function Z(e){let{children:t,active:n,index:s,addMicrodata:a}=e;return(0,l.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,u.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,l.jsx)("meta",{itemProp:"position",content:String(s+1)})]})}function ee(){const e=(0,q.OF)(),t=(0,z.Dt)();return e?(0,l.jsx)("nav",{className:(0,u.A)(j.G.docs.docBreadcrumbs,K.breadcrumbsContainer),"aria-label":(0,h.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,l.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,l.jsx)(J,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,l.jsx)(Z,{active:s,index:n,addMicrodata:!!a,children:(0,l.jsx)(X,{href:a,isLast:s,children:t.label})},n)}))]})}):null}var te=n(9411);const ne={docItemContainer:"docItemContainer_stJn",docItemCol:"docItemCol_lWa8"};function se(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=c(),n=(0,m.l)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,l.jsx)(G,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,l.jsx)(P,{})}}(),{metadata:s}=c();return(0,l.jsxs)("div",{className:"row",children:[(0,l.jsxs)("div",{className:(0,u.A)("col",!n.hidden&&ne.docItemCol),children:[(0,l.jsx)(te.A,{metadata:s}),(0,l.jsx)(k,{}),(0,l.jsxs)("div",{className:ne.docItemContainer,children:[(0,l.jsxs)("article",{children:[(0,l.jsx)(ee,{}),(0,l.jsx)(H,{}),n.mobile,(0,l.jsx)(W,{children:t}),(0,l.jsx)(w,{})]}),(0,l.jsx)(x,{})]})]}),n.desktop&&(0,l.jsx)("div",{className:"col col--3",children:n.desktop})]})}function ae(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,l.jsx)(r,{content:e.content,children:(0,l.jsxs)(a.e3,{className:t,children:[(0,l.jsx)(d,{}),(0,l.jsx)(se,{children:(0,l.jsx)(n,{})})]})})}},2020:(e,t,n)=>{n.d(t,{A:()=>l});n(6372);var s=n(3394),a=n(4079),i=n(216);function l(e){const{permalink:t,title:n,subLabel:l,isNext:o}=e;return(0,i.jsxs)(a.A,{className:(0,s.A)("pagination-nav__link",o?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[l&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:l}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}},4378:(e,t,n)=>{n.d(t,{A:()=>c});n(6372);var s=n(3394),a=n(2797);const i={tableOfContents:"tableOfContents_LGHO",docItemContainer:"docItemContainer_qawi"};var l=n(216);const o="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,l.jsx)("div",{className:(0,s.A)(i.tableOfContents,"thin-scrollbar",t),children:(0,l.jsx)(a.A,{...n,linkClassName:o,linkActiveClassName:r})})}},2797:(e,t,n)=>{n.d(t,{A:()=>b});var s=n(6372),a=n(7584);function i(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function l(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=l({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function o(e){const t=e.getBoundingClientRect();return t.top===t.bottom?o(e.parentNode):t}function r(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>o(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=c();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:i,maxHeadingLevel:l}=e;function o(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),o=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:i,maxHeadingLevel:l}),c=r(o,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",o),document.addEventListener("resize",o),o(),()=>{document.removeEventListener("scroll",o),document.removeEventListener("resize",o)}}),[e,n])}var u=n(4079),m=n(216);function h(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.A,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const v=s.memo(h);function b(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:o="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:c,maxHeadingLevel:u,...h}=e;const b=(0,a.p)(),x=c??b.tableOfContents.minHeadingLevel,g=u??b.tableOfContents.maxHeadingLevel,f=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>l({toc:i(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:x,maxHeadingLevel:g});return d((0,s.useMemo)((()=>{if(o&&r)return{linkClassName:o,linkActiveClassName:r,minHeadingLevel:x,maxHeadingLevel:g}}),[o,r,x,g])),(0,m.jsx)(v,{toc:f,className:n,linkClassName:o,...h})}},7732:(e,t,n)=>{n.d(t,{A:()=>o});n(6372);var s=n(3394),a=n(4079);const i={tag:"tag_U7q9",tagRegular:"tagRegular_Ly5Y",tagWithCount:"tagWithCount_jTFr"};var l=n(216);function o(e){let{permalink:t,label:n,count:o,description:r}=e;return(0,l.jsxs)(a.A,{href:t,title:r,className:(0,s.A)(i.tag,o?i.tagWithCount:i.tagRegular),children:[n,o&&(0,l.jsx)("span",{children:o})]})}},8800:(e,t,n)=>{n.d(t,{A:()=>r});n(6372);var s=n(3394),a=n(9517),i=n(7732);const l={tags:"tags_tg_p",tag:"tag_njed"};var o=n(216);function r(e){let{tags:t}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("b",{children:(0,o.jsx)(a.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,o.jsx)("ul",{className:(0,s.A)(l.tags,"padding--none","margin-left--sm"),children:t.map((e=>(0,o.jsx)("li",{className:l.tag,children:(0,o.jsx)(i.A,{...e})},e.permalink)))})]})}},9558:(e,t,n)=>{n.d(t,{AE:()=>r,Rc:()=>l,TT:()=>d,Uh:()=>o,Yh:()=>c});n(6372);var s=n(9517),a=n(2869),i=n(216);function l(){return(0,i.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function o(){return(0,i.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function r(){return(0,i.jsx)(a.A,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,i.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,i.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]);
\ No newline at end of file
diff --git a/assets/js/1dea6ca3.5ba7c560.js b/assets/js/1dea6ca3.5ba7c560.js
new file mode 100644
index 0000000..fa7d611
--- /dev/null
+++ b/assets/js/1dea6ca3.5ba7c560.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[407],{6067:t=>{t.exports=JSON.parse('{"author":{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","github":"https://github.com/yangshun"},"imageURL":"https://github.com/yangshun.png","key":"yangshun","count":2},"listMetadata":{"permalink":"/blog/authors/yangshun","page":1,"postsPerPage":10,"totalPages":1,"totalCount":2,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/1df93b7f.c786c478.js b/assets/js/1df93b7f.c786c478.js
new file mode 100644
index 0000000..9b6390f
--- /dev/null
+++ b/assets/js/1df93b7f.c786c478.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[583],{8373:(e,i,r)=>{r.r(i),r.d(i,{default:()=>f});var t=r(4079),n=r(2727),o=r(9228),s=r(5402),a=r(6372),l=r(216);function c(){const{siteConfig:e}=(0,n.A)();return(0,l.jsx)("header",{style:{padding:"4rem 0",textAlign:"center",position:"relative",overflow:"hidden"},children:(0,l.jsxs)("div",{className:"container",style:{display:"flex",flexDirection:"column",alignItems:"center"},children:[(0,l.jsx)(s.A,{as:"h1",style:{fontSize:"3rem"},children:"Canvas-based Scalable Interactive Coding"}),(0,l.jsx)("p",{style:{fontSize:"1.5rem",maxWidth:"50rem"},children:"CodePod.io is an open-source canvas-based coding IDE that helps programmers develop large, production-ready projects faster by presenting interactive coding (e.g., Jupyter) on a hierarchical, scoped, 2D canvas."}),(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"center",gap:"1.5rem"},children:[(0,l.jsx)(t.A,{href:"/login",style:{borderRadius:"0.375rem",backgroundColor:"#6366F1",padding:"0.375rem 0.875rem",fontSize:"1rem",fontWeight:600,lineHeight:"1.75rem",color:"#fff",boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)"},children:"Try it online"}),(0,l.jsxs)(t.A,{href:"/docs/manual",style:{fontSize:"1rem",fontWeight:600,lineHeight:"1.75rem",color:"#4B5563"},children:["Read the manual ",(0,l.jsx)("span",{"aria-hidden":"true",children:"\u2192"})]}),(0,l.jsxs)("a",{href:"https://arxiv.org/abs/2301.02410",target:"_blank",style:{fontSize:"1rem",fontWeight:600,lineHeight:"1.75rem",color:"#4B5563"},children:["Read our paper ",(0,l.jsx)("span",{"aria-hidden":"true",children:"\u2192"})]})]}),(0,l.jsx)("iframe",{style:{marginTop:"4rem",width:"60%",aspectRatio:16/9},src:"https://www.youtube.com/embed/M0t2zxSrF6Q",title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerPolicy:"strict-origin-when-cross-origin",allowFullScreen:!0}),(0,l.jsx)("div",{style:{marginTop:"4rem"},children:(0,l.jsx)("div",{style:{borderRadius:"1rem",backgroundColor:"rgba(0, 0, 0, 0.05)",padding:"0.5rem",boxShadow:"inset 0 1px 2px 0 rgba(0, 0, 0, 0.1)"},children:(0,l.jsx)("img",{src:"/img/google-docs-example.png",alt:"App screenshot",style:{borderRadius:"0.5rem",boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.1)"}})})})]})})}function d(){return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"row",justifyContent:"space-around",gap:"2rem"},className:"container",children:[(0,l.jsxs)("div",{style:{display:"flex",flex:1,flexDirection:"column",alignItems:"center"},children:[(0,l.jsx)("h2",{children:"Why"}),(0,l.jsxs)("div",{children:["Codepod provides the interactive coding experience popularized by Jupyter, but with scalability and production-readiness. ",(0,l.jsx)("br",{}),"Users can still incrementally build up code by trying out a small code snippet each time. But they would not be overwhelmed by the great number of code snippets as the projects grow."]})]}),(0,l.jsxs)("div",{style:{display:"flex",flex:1,flexDirection:"column",alignItems:"center"},children:[(0,l.jsx)("h2",{children:"How"}),(0,l.jsxs)("div",{children:["CodePod offers freeform coding on a hierarchical 2D canvas to spatially and semantically modularize code.",(0,l.jsx)("br",{}),"Code snippets can be inserted anywhere on the canvas, and can be hierarchically organized into modules. In this way, Codepod allows managing large amounts of code without using files."]})]}),(0,l.jsxs)("div",{style:{display:"flex",flex:1,flexDirection:"column",alignItems:"center"},children:[(0,l.jsx)("h2",{children:"So What"}),(0,l.jsx)("div",{children:"With Codepod, interactive programming is no longer limited to small-scale prototyping or demonstrative projects. Not only can one remain fast in prototyping, but also quick in prototype-to-product conversion as code is modularized rather than intermingled as in Jupyter."})]})]})}function h(){return(0,l.jsx)("div",{children:(0,l.jsx)("div",{style:{flexGrow:1,width:"80%",marginLeft:"auto",marginRight:"auto",justifyContent:"center"},children:(0,l.jsx)("a",{href:"/img/graph_based_LDA.png",children:(0,l.jsx)("img",{src:"/img/graph_based_LDA.png",alt:"Product screenshot"})})})})}function p(){return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"row",justifyContent:"space-around",gap:"2rem"},className:"container",children:[(0,l.jsxs)("div",{style:{display:"flex",flex:1,flexDirection:"column",alignItems:"center"},children:[(0,l.jsx)("h2",{children:"Open Source"}),(0,l.jsxs)("div",{children:["CodePod is available as open-source software. You can find our"," ",(0,l.jsx)("a",{href:"https://github.com/codepod-io/codepod",target:"_blank",children:"source code"})," ","on GitHub."]})]}),(0,l.jsxs)("div",{style:{display:"flex",flex:1,flexDirection:"column",alignItems:"center"},children:[(0,l.jsx)("h2",{children:"Zoom in and out your code"}),(0,l.jsx)("div",{children:"In CodePod, you can zoom out to see the big picture, as well as zoom in to a line. Just a swipe or scroll. No more going up and down the folder hierarchy and close and open a series of files or tabs."})]}),(0,l.jsxs)("div",{style:{display:"flex",flex:1,flexDirection:"column",alignItems:"center"},children:[(0,l.jsx)("h2",{children:"Any language, and any domain"}),(0,l.jsx)("div",{children:"Codepod's dream is to expand REPL or the interactive or exploratory coding experience from Data Science and Machine Learning (dominated by Python), to any domain and any programming language."})]})]})}function m(){return(0,l.jsxs)("div",{style:{display:"flex",gap:"2rem"},children:[(0,l.jsx)("img",{src:"/img/hebi-paris.jpeg",alt:"",style:{width:"10rem",height:"10rem",borderRadius:"1rem",objectFit:"cover"}}),(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,l.jsx)("h3",{style:{margin:0},children:"Hebi Li"}),(0,l.jsx)("div",{style:{fontSize:"1rem",lineHeight:"1.75rem",color:"#4B5563"},children:"CEO, co-founder"}),(0,l.jsxs)("div",{style:{marginTop:"1rem",fontSize:"1rem",lineHeight:"1.75rem",color:"#4B5563",maxWidth:"20rem"},children:["Hebi is an ex-Google-Brainer and an ex-ByteDancer.",(0,l.jsx)("a",{href:"https://lihebi.com",children:"https://lihebi.com"})]})]})]})}function x(){return(0,l.jsxs)("div",{style:{display:"flex",gap:"2rem"},children:[(0,l.jsx)("img",{src:"/img/forrest.jpg",alt:"",style:{width:"10rem",height:"10rem",borderRadius:"1rem",objectFit:"cover"}}),(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,l.jsx)("h3",{style:{margin:0},children:"Forrest Bao"}),(0,l.jsx)("div",{style:{fontSize:"1rem",lineHeight:"1.75rem",color:"#4B5563"},children:"CPO, co-founder"}),(0,l.jsxs)("div",{style:{marginTop:"1rem",fontSize:"1rem",lineHeight:"1.75rem",color:"#4B5563",maxWidth:"20rem"},children:["Forrest is an AI veteran and series entrepreneur.",(0,l.jsx)("a",{href:"https://forrestbao.github.io",className:"text-sky-500 hover:text-sky-600",children:"https://forrestbao.github.io"})]})]})]})}function u(){return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"2rem"},children:[(0,l.jsx)("h1",{children:"Meet our team"}),(0,l.jsx)("div",{style:{fontSize:"1.5rem",maxWidth:"50rem",color:"#4B5563"},children:"Our team is based in the SF Bay Area. We\u2019re a dynamic group of individuals who are passionate about what we do."}),(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"row"},children:[(0,l.jsx)(m,{}),(0,l.jsx)(x,{})]})]})}function g(){const[e,i]=(0,a.useState)(!1);return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",padding:" 4rem 0",backgroundColor:"#f3f4f6",alignItems:"center"},children:[(0,l.jsx)("h2",{children:"Contact Us"}),(0,l.jsxs)("div",{style:{maxWidth:"50rem"},children:["For discussion or issue reporting, please open an issue or discussion in our GitHub repo. For general contact, please contact us at"," ",(0,l.jsxs)("span",{onClick:async()=>{try{await navigator.clipboard.writeText("contact@codepod.io"),i(!0),setTimeout((()=>i(!1)),2e3)}catch(e){console.error("Failed to copy email: ",e)}},style:{color:"#6366F1",cursor:"pointer",textDecoration:"none",position:"relative",display:"inline-flex",alignItems:"center",gap:"0.25rem",transition:"opacity 0.2s, text-decoration 0.2s",opacity:.8},onMouseEnter:e=>{e.currentTarget.style.opacity="1",e.currentTarget.style.textDecoration="underline"},onMouseLeave:e=>{e.currentTarget.style.opacity="0.8",e.currentTarget.style.textDecoration="none"},children:["contact@codepod.io",(0,l.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,l.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,l.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),e&&(0,l.jsx)("span",{style:{position:"absolute",top:"-2rem",left:"50%",transform:"translateX(-50%)",backgroundColor:"#10B981",color:"white",padding:"0.25rem 0.5rem",borderRadius:"0.25rem",fontSize:"0.875rem",whiteSpace:"nowrap",zIndex:10},children:"Copied to clipboard!"})]})]})]})}function y(){return(0,l.jsx)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",gap:"2rem"},children:(0,l.jsx)("iframe",{style:{width:"40%",aspectRatio:16/9},src:"https://www.youtube.com/embed/06yr8FTTxtI",title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerPolicy:"strict-origin-when-cross-origin",allowFullScreen:!0})})}function f(){const{siteConfig:e}=(0,n.A)();return(0,l.jsxs)(o.A,{title:"",description:`${e.tagline}`,children:[(0,l.jsx)(c,{}),(0,l.jsxs)("main",{style:{display:"flex",flexDirection:"column",gap:"4rem"},children:[(0,l.jsx)(d,{}),(0,l.jsx)(y,{}),(0,l.jsx)(h,{}),(0,l.jsx)(p,{}),(0,l.jsx)(u,{}),(0,l.jsx)(g,{})]})]})}}}]);
\ No newline at end of file
diff --git a/assets/js/1f391b9e.4e8a76b6.js b/assets/js/1f391b9e.4e8a76b6.js
new file mode 100644
index 0000000..552426c
--- /dev/null
+++ b/assets/js/1f391b9e.4e8a76b6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[61],{4936:(e,n,t)=>{t.d(n,{A:()=>o});t(6372);var i=t(3394),a=t(9558),s=t(9657),l=t(2447),r=t(216);function c(e){let{className:n}=e;return(0,r.jsx)(l.A,{type:"caution",title:(0,r.jsx)(a.Rc,{}),className:(0,i.A)(n,s.G.common.unlistedBanner),children:(0,r.jsx)(a.Uh,{})})}function o(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.AE,{}),(0,r.jsx)(c,{...e})]})}},9411:(e,n,t)=>{t.d(n,{A:()=>d});t(6372);var i=t(3394),a=t(9558),s=t(9657),l=t(2447),r=t(216);function c(e){let{className:n}=e;return(0,r.jsx)(l.A,{type:"caution",title:(0,r.jsx)(a.Yh,{}),className:(0,i.A)(n,s.G.common.draftBanner),children:(0,r.jsx)(a.TT,{})})}var o=t(4936);function d(e){let{metadata:n}=e;const{unlisted:t,frontMatter:i}=n;return(0,r.jsxs)(r.Fragment,{children:[(t||i.unlisted)&&(0,r.jsx)(o.A,{}),i.draft&&(0,r.jsx)(c,{})]})}},1228:(e,n,t)=>{t.r(n),t.d(n,{default:()=>f});t(6372);var i=t(3394),a=t(2571),s=t(9657),l=t(9228),r=t(9231),c=t(4378),o=t(9411),d=t(3149);const m={mdxPageWrapper:"mdxPageWrapper_Xq9B"};var u=t(216);function f(e){const{content:n}=e,{metadata:t,assets:f}=n,{title:h,editUrl:v,description:x,frontMatter:g,lastUpdatedBy:p,lastUpdatedAt:j}=t,{keywords:A,wrapperClassName:b,hide_table_of_contents:L}=g,N=f.image??g.image,H=!!(v||j||p);return(0,u.jsx)(a.e3,{className:(0,i.A)(b??s.G.wrapper.mdxPages,s.G.page.mdxPage),children:(0,u.jsxs)(l.A,{children:[(0,u.jsx)(a.be,{title:h,description:x,keywords:A,image:N}),(0,u.jsx)("main",{className:"container container--fluid margin-vert--lg",children:(0,u.jsxs)("div",{className:(0,i.A)("row",m.mdxPageWrapper),children:[(0,u.jsxs)("div",{className:(0,i.A)("col",!L&&"col--8"),children:[(0,u.jsx)(o.A,{metadata:t}),(0,u.jsx)("article",{children:(0,u.jsx)(r.A,{children:(0,u.jsx)(n,{})})}),H&&(0,u.jsx)(d.A,{className:(0,i.A)("margin-top--sm",s.G.pages.pageFooterEditMetaRow),editUrl:v,lastUpdatedAt:j,lastUpdatedBy:p})]}),!L&&n.toc.length>0&&(0,u.jsx)("div",{className:"col col--2",children:(0,u.jsx)(c.A,{toc:n.toc,minHeadingLevel:g.toc_min_heading_level,maxHeadingLevel:g.toc_max_heading_level})})]})})]})})}},4378:(e,n,t)=>{t.d(n,{A:()=>o});t(6372);var i=t(3394),a=t(2797);const s={tableOfContents:"tableOfContents_LGHO",docItemContainer:"docItemContainer_qawi"};var l=t(216);const r="table-of-contents__link toc-highlight",c="table-of-contents__link--active";function o(e){let{className:n,...t}=e;return(0,l.jsx)("div",{className:(0,i.A)(s.tableOfContents,"thin-scrollbar",n),children:(0,l.jsx)(a.A,{...t,linkClassName:r,linkActiveClassName:c})})}},2797:(e,n,t)=>{t.d(n,{A:()=>v});var i=t(6372),a=t(7584);function s(e){const n=e.map((e=>({...e,parentIndex:-1,children:[]}))),t=Array(7).fill(-1);n.forEach(((e,n)=>{const i=t.slice(2,e.level);e.parentIndex=Math.max(...i),t[e.level]=n}));const i=[];return n.forEach((e=>{const{parentIndex:t,...a}=e;t>=0?n[t].children.push(a):i.push(a)})),i}function l(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:i}=e;return n.flatMap((e=>{const n=l({toc:e.children,minHeadingLevel:t,maxHeadingLevel:i});return function(e){return e.level>=t&&e.level<=i}(e)?[{...e,children:n}]:n}))}function r(e){const n=e.getBoundingClientRect();return n.top===n.bottom?r(e.parentNode):n}function c(e,n){let{anchorTopOffset:t}=n;const i=e.find((e=>r(e).top>=t));if(i){return function(e){return e.top>0&&e.bottom{e.current=n?0:document.querySelector(".navbar").clientHeight}),[n]),e}function d(e){const n=(0,i.useRef)(void 0),t=o();(0,i.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:i,linkActiveClassName:a,minHeadingLevel:s,maxHeadingLevel:l}=e;function r(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(i),r=function(e){let{minHeadingLevel:n,maxHeadingLevel:t}=e;const i=[];for(let a=n;a<=t;a+=1)i.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(i.join()))}({minHeadingLevel:s,maxHeadingLevel:l}),o=c(r,{anchorTopOffset:t.current}),d=e.find((e=>o&&o.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,t){t?(n.current&&n.current!==e&&n.current.classList.remove(a),e.classList.add(a),n.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",r),document.addEventListener("resize",r),r(),()=>{document.removeEventListener("scroll",r),document.removeEventListener("resize",r)}}),[e,t])}var m=t(4079),u=t(216);function f(e){let{toc:n,className:t,linkClassName:i,isChild:a}=e;return n.length?(0,u.jsx)("ul",{className:a?void 0:t,children:n.map((e=>(0,u.jsxs)("li",{children:[(0,u.jsx)(m.A,{to:`#${e.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,u.jsx)(f,{isChild:!0,toc:e.children,className:t,linkClassName:i})]},e.id)))}):null}const h=i.memo(f);function v(e){let{toc:n,className:t="table-of-contents table-of-contents__left-border",linkClassName:r="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:o,maxHeadingLevel:m,...f}=e;const v=(0,a.p)(),x=o??v.tableOfContents.minHeadingLevel,g=m??v.tableOfContents.maxHeadingLevel,p=function(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:a}=e;return(0,i.useMemo)((()=>l({toc:s(n),minHeadingLevel:t,maxHeadingLevel:a})),[n,t,a])}({toc:n,minHeadingLevel:x,maxHeadingLevel:g});return d((0,i.useMemo)((()=>{if(r&&c)return{linkClassName:r,linkActiveClassName:c,minHeadingLevel:x,maxHeadingLevel:g}}),[r,c,x,g])),(0,u.jsx)(h,{toc:p,className:t,linkClassName:r,...f})}},9558:(e,n,t)=>{t.d(n,{AE:()=>c,Rc:()=>l,TT:()=>d,Uh:()=>r,Yh:()=>o});t(6372);var i=t(9517),a=t(2869),s=t(216);function l(){return(0,s.jsx)(i.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,s.jsx)(i.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,s.jsx)(a.A,{children:(0,s.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function o(){return(0,s.jsx)(i.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,s.jsx)(i.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]);
\ No newline at end of file
diff --git a/assets/js/23.1700307a.js b/assets/js/23.1700307a.js
new file mode 100644
index 0000000..5a7493c
--- /dev/null
+++ b/assets/js/23.1700307a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[23],{4187:(e,t,a)=>{a.d(t,{in:()=>c,OU:()=>C,Ki:()=>A,kJ:()=>f,x:()=>l,e7:()=>m,J_:()=>x,Gx:()=>_});var n=a(6372),s=a(8930),r=a(9224),i=a(216);function l(){const e=(0,r.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=n.createContext(null);function c(e){let{children:t,content:a,isBlogPostPage:s=!1}=e;const r=function(e){let{content:t,isBlogPostPage:a}=e;return(0,n.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:s});return(0,i.jsx)(o.Provider,{value:r,children:t})}function m(){const e=(0,n.useContext)(o);if(null===e)throw new s.dV("BlogPostProvider");return e}var u=a(5924),h=a(2727);const d=e=>new Date(e).toISOString();function g(e){const t=e.map(v);return{author:1===t.length?t[0]:t}}function p(e,t,a){return e?{image:b({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function f(e){const{siteConfig:t}=(0,h.A)(),{withBaseUrl:a}=(0,u.hH)(),{metadata:{blogDescription:n,blogTitle:s,permalink:r}}=e,i=`${t.url}${r}`;return{"@context":"https://schema.org","@type":"Blog","@id":i,mainEntityOfPage:i,headline:s,description:n,blogPost:e.items.map((e=>function(e,t,a){const{assets:n,frontMatter:s,metadata:r}=e,{date:i,title:l,description:o,lastUpdatedAt:c}=r,m=n.image??s.image,u=s.keywords??[],h=`${t.url}${r.permalink}`,f=c?d(c):void 0;return{"@type":"BlogPosting","@id":h,mainEntityOfPage:h,url:h,headline:l,name:l,description:o,datePublished:i,...f?{dateModified:f}:{},...g(r.authors),...p(m,a,l),...u?{keywords:u}:{}}}(e.content,t,a)))}}function x(){const e=l(),{assets:t,metadata:a}=m(),{siteConfig:n}=(0,h.A)(),{withBaseUrl:s}=(0,u.hH)(),{date:r,title:i,description:o,frontMatter:c,lastUpdatedAt:f}=a,x=t.image??c.image,v=c.keywords??[],b=f?d(f):void 0,j=`${n.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":j,mainEntityOfPage:j,url:j,headline:i,name:i,description:o,datePublished:r,...b?{dateModified:b}:{},...g(a.authors),...p(x,s,i),...v?{keywords:v}:{},isPartOf:{"@type":"Blog","@id":`${n.url}${e.blogBasePath}`,name:e.blogTitle}}}function v(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function b(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}var j=a(9551),w=a(4079),N=a(7660),k=a(6583);function _(e){const{pathname:t}=(0,j.zy)();return(0,n.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,k.ys)(e.permalink,t))}(e,t)))),[e,t])}function A(e){const t=(0,N.$z)(e,(e=>`${new Date(e.date).getFullYear()}`)),a=Object.entries(t);return a.reverse(),a}function C(e){let{items:t,ulClassName:a,liClassName:n,linkClassName:s,linkActiveClassName:r}=e;return(0,i.jsx)("ul",{className:a,children:t.map((e=>(0,i.jsx)("li",{className:n,children:(0,i.jsx)(w.A,{isNavLink:!0,to:e.permalink,className:s,activeClassName:r,children:e.title})},e.permalink)))})}},8042:(e,t,a)=>{a.d(t,{A:()=>b});a(6372);var n=a(3394),s=a(4079),r=a(216);const i="githubSvg_MBbH";const l="xSvg_ProJ";const o=function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,r.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,r.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),(0,r.jsx)("path",{d:"M3.6 9h16.8"}),(0,r.jsx)("path",{d:"M3.6 15h16.8"}),(0,r.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),(0,r.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]})},c={authorSocials:"authorSocials_CXKp",authorSocialLink:"authorSocialLink_i5Rw",authorSocialIcon:"authorSocialIcon_wQE9"},m={twitter:{Icon:function(e){return(0,r.jsx)("svg",{viewBox:"0 0 256 209",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:(0,r.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,r.jsx)("svg",{viewBox:"0 0 256 250",width:"1em",height:"1em",...e,className:(0,n.A)(e.className,i),xmlns:"http://www.w3.org/2000/svg",style:{"--dark":"#000","--light":"#fff"},preserveAspectRatio:"xMidYMid",children:(0,r.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,r.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,r.jsx)("svg",{width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...e,children:(0,r.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",...e,className:(0,n.A)(e.className,l),style:{"--dark":"#000","--light":"#fff"},children:(0,r.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"}};function u(e){let{platform:t,link:a}=e;const{Icon:i,label:l}=m[u=t]??{Icon:o,label:u};var u;return(0,r.jsx)(s.A,{className:c.authorSocialLink,href:a,title:l,children:(0,r.jsx)(i,{className:(0,n.A)(c.authorSocialLink)})})}function h(e){let{author:t}=e;const a=Object.entries(t.socials??{});return(0,r.jsx)("div",{className:c.authorSocials,children:a.map((e=>{let[t,a]=e;return(0,r.jsx)(u,{platform:t,link:a},t)}))})}var d=a(5402);const g={authorImage:"authorImage_FP6B","author-as-h1":"author-as-h1_kmtj","author-as-h2":"author-as-h2_RbLT",authorDetails:"authorDetails_m2zI",authorName:"authorName_QBaK",authorTitle:"authorTitle_LnKb",authorBlogPostCount:"authorBlogPostCount_mQdb"};function p(e){return e.href?(0,r.jsx)(s.A,{...e}):(0,r.jsx)(r.Fragment,{children:e.children})}function f(e){let{title:t}=e;return(0,r.jsx)("small",{className:g.authorTitle,title:t,children:t})}function x(e){let{name:t,as:a}=e;return a?(0,r.jsx)(d.A,{as:a,className:g.authorName,children:t}):(0,r.jsx)("span",{className:g.authorName,children:t})}function v(e){let{count:t}=e;return(0,r.jsx)("span",{className:(0,n.A)(g.authorBlogPostCount),children:t})}function b(e){let{as:t,author:a,className:s,count:i}=e;const{name:l,title:o,url:c,imageURL:m,email:u,page:d}=a,b=d?.permalink||c||u&&`mailto:${u}`||void 0;return(0,r.jsxs)("div",{className:(0,n.A)("avatar margin-bottom--sm",s,g[`author-as-${t}`]),children:[m&&(0,r.jsx)(p,{href:b,className:"avatar__photo-link",children:(0,r.jsx)("img",{className:(0,n.A)("avatar__photo",g.authorImage),src:m,alt:l})}),(l||o)&&(0,r.jsxs)("div",{className:(0,n.A)("avatar__intro",g.authorDetails),children:[(0,r.jsxs)("div",{className:"avatar__name",children:[l&&(0,r.jsx)(p,{href:b,children:(0,r.jsx)(x,{name:l,as:t})}),void 0!==i&&(0,r.jsx)(v,{count:i})]}),!!o&&(0,r.jsx)(f,{title:o}),(0,r.jsx)(h,{author:a})]})]})}},3028:(e,t,a)=>{a.d(t,{A:()=>I});var n=a(6372),s=a(3394),r=a(9228),i=a(5307),l=a(9517),o=a(4187),c=a(7584),m=a(5402),u=a(216);function h(e){let{year:t,yearGroupHeadingClassName:a,children:n}=e;return(0,u.jsxs)("div",{role:"group",children:[(0,u.jsx)(m.A,{as:"h3",className:a,children:t}),n]})}function d(e){let{items:t,yearGroupHeadingClassName:a,ListComponent:n}=e;if((0,c.p)().blog.sidebar.groupByYear){const e=(0,o.Ki)(t);return(0,u.jsx)(u.Fragment,{children:e.map((e=>{let[t,s]=e;return(0,u.jsx)(h,{year:t,yearGroupHeadingClassName:a,children:(0,u.jsx)(n,{items:s})},t)}))})}return(0,u.jsx)(n,{items:t})}const g=(0,n.memo)(d),p="sidebar_ahTV",f="sidebarItemTitle_agTL",x="sidebarItemList_QbBH",v="sidebarItem_BW5o",b="sidebarItemLink_dnm5",j="sidebarItemLinkActive_v95i",w="yearGroupHeading_NLA5",N=e=>{let{items:t}=e;return(0,u.jsx)(o.OU,{items:t,ulClassName:(0,s.A)(x,"clean-list"),liClassName:v,linkClassName:b,linkActiveClassName:j})};function k(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,u.jsx)("aside",{className:"col col--3",children:(0,u.jsxs)("nav",{className:(0,s.A)(p,"thin-scrollbar"),"aria-label":(0,l.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,u.jsx)("div",{className:(0,s.A)(f,"margin-bottom--md"),children:t.title}),(0,u.jsx)(g,{items:a,ListComponent:N,yearGroupHeadingClassName:w})]})})}const _=(0,n.memo)(k);var A=a(3330);const C="yearGroupHeading__Yb8",M=e=>{let{items:t}=e;return(0,u.jsx)(o.OU,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function y(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,u.jsx)(g,{items:a,ListComponent:M,yearGroupHeadingClassName:C})}function B(e){return(0,u.jsx)(A.GX,{component:y,props:e})}const P=(0,n.memo)(B);function L(e){let{sidebar:t}=e;const a=(0,i.l)();return t?.items.length?"mobile"===a?(0,u.jsx)(P,{sidebar:t}):(0,u.jsx)(_,{sidebar:t}):null}function I(e){const{sidebar:t,toc:a,children:n,...i}=e,l=t&&t.items.length>0;return(0,u.jsx)(r.A,{...i,children:(0,u.jsx)("div",{className:"container margin-vert--lg",children:(0,u.jsxs)("div",{className:"row",children:[(0,u.jsx)(L,{sidebar:t}),(0,u.jsx)("main",{className:(0,s.A)("col",{"col--7":l,"col--9 col--offset-1":!l}),children:n}),a&&(0,u.jsx)("div",{className:"col col--2",children:a})]})})})}},2051:(e,t,a)=>{a.d(t,{W:()=>c});var n=a(6372),s=a(2727);const r=["zero","one","two","few","many","other"];function i(e){return r.filter((t=>e.includes(t)))}const l={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,s.A)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:i(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),l}}),[e])}function c(){const e=o();return{selectMessage:(t,a)=>function(e,t,a){const n=e.split("|");if(1===n.length)return n[0];n.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const s=a.select(t),r=a.pluralForms.indexOf(s);return n[Math.min(r,n.length-1)]}(a,t,e)}}}}]);
\ No newline at end of file
diff --git a/assets/js/3217192f.7953237d.js b/assets/js/3217192f.7953237d.js
new file mode 100644
index 0000000..2a778c8
--- /dev/null
+++ b/assets/js/3217192f.7953237d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[462],{8174:s=>{s.exports=JSON.parse('{"tag":{"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description","allTagsPath":"/blog/tags","count":3,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/docusaurus","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/33fc5bb8.f4082112.js b/assets/js/33fc5bb8.f4082112.js
new file mode 100644
index 0000000..c7eda9d
--- /dev/null
+++ b/assets/js/33fc5bb8.f4082112.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[867],{6312:(e,t,a)=>{a.r(t),a.d(t,{default:()=>b});a(6372);var s=a(3394),n=a(2571),r=a(9657),l=a(4883),i=a(4079),o=a(4187),c=a(3028),d=a(7099),g=a(2465),u=a(7446),h=a(8042),m=a(216);function p(e){let{author:t}=e;const a=(0,l.wI)(t);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(n.be,{title:a}),(0,m.jsx)(g.A,{tag:"blog_authors_posts"})]})}function x(){const{authorsListPath:e}=(0,o.x)();return(0,m.jsx)(i.A,{href:e,children:(0,m.jsx)(l.np,{})})}function j(e){let{author:t,items:a,sidebar:s,listMetadata:n}=e;return(0,m.jsxs)(c.A,{sidebar:s,children:[(0,m.jsxs)("header",{className:"margin-bottom--xl",children:[(0,m.jsx)(h.A,{as:"h1",author:t}),t.description&&(0,m.jsx)("p",{children:t.description}),(0,m.jsx)(x,{})]}),0===a.length?(0,m.jsx)("p",{children:(0,m.jsx)(l.Y4,{})}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("hr",{}),(0,m.jsx)(u.A,{items:a}),(0,m.jsx)(d.A,{metadata:n})]})]})}function b(e){return(0,m.jsxs)(n.e3,{className:(0,s.A)(r.G.wrapper.blogPages,r.G.page.blogAuthorsPostsPage),children:[(0,m.jsx)(p,{...e}),(0,m.jsx)(j,{...e})]})}},7099:(e,t,a)=>{a.d(t,{A:()=>l});a(6372);var s=a(9517),n=a(2020),r=a(216);function l(e){const{metadata:t}=e,{previousPage:a,nextPage:l}=t;return(0,r.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[a&&(0,r.jsx)(n.A,{permalink:a,title:(0,r.jsx)(s.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),l&&(0,r.jsx)(n.A,{permalink:l,title:(0,r.jsx)(s.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},3913:(e,t,a)=>{a.d(t,{A:()=>U});a(6372);var s=a(3394),n=a(4187),r=a(216);function l(e){let{children:t,className:a}=e;return(0,r.jsx)("article",{className:a,children:t})}var i=a(4079);const o={title:"title_bOR3"};function c(e){let{className:t}=e;const{metadata:a,isBlogPostPage:l}=(0,n.e7)(),{permalink:c,title:d}=a,g=l?"h1":"h2";return(0,r.jsx)(g,{className:(0,s.A)(o.title,t),children:l?d:(0,r.jsx)(i.A,{to:c,children:d})})}var d=a(9517),g=a(2051),u=a(4504);const h={container:"container_NCC6"};function m(e){let{readingTime:t}=e;const a=function(){const{selectMessage:e}=(0,g.W)();return t=>{const a=Math.ceil(t);return e(a,(0,d.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:a}))}}();return(0,r.jsx)(r.Fragment,{children:a(t)})}function p(e){let{date:t,formattedDate:a}=e;return(0,r.jsx)("time",{dateTime:t,children:a})}function x(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function j(e){let{className:t}=e;const{metadata:a}=(0,n.e7)(),{date:l,readingTime:i}=a,o=(0,u.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,s.A)(h.container,"margin-vert--md",t),children:[(0,r.jsx)(p,{date:l,formattedDate:(c=l,o.format(new Date(c)))}),void 0!==i&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(x,{}),(0,r.jsx)(m,{readingTime:i})]})]});var c}var b=a(8042);const A={authorCol:"authorCol_RPjB",imageOnlyAuthorRow:"imageOnlyAuthorRow_F2QD",imageOnlyAuthorCol:"imageOnlyAuthorCol_y5No"};function f(e){let{className:t}=e;const{metadata:{authors:a},assets:l}=(0,n.e7)();if(0===a.length)return null;const i=a.every((e=>{let{name:t}=e;return!t})),o=1===a.length;return(0,r.jsx)("div",{className:(0,s.A)("margin-top--md margin-bottom--sm",i?A.imageOnlyAuthorRow:"row",t),children:a.map(((e,t)=>(0,r.jsx)("div",{className:(0,s.A)(!i&&(o?"col col--12":"col col--6"),i?A.imageOnlyAuthorCol:A.authorCol),children:(0,r.jsx)(b.A,{author:{...e,imageURL:l.authorsImageUrls[t]??e.imageURL}})},t)))})}function v(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(c,{}),(0,r.jsx)(j,{}),(0,r.jsx)(f,{})]})}var N=a(5155),T=a(9231);function w(e){let{children:t,className:a}=e;const{isBlogPostPage:l}=(0,n.e7)();return(0,r.jsx)("div",{id:l?N.LU:void 0,className:(0,s.A)("markdown",a),children:(0,r.jsx)(T.A,{children:t})})}var _=a(9657),P=a(3149),y=a(8800);function k(){return(0,r.jsx)("b",{children:(0,r.jsx)(d.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function R(e){const{blogPostTitle:t,...a}=e;return(0,r.jsx)(i.A,{"aria-label":(0,d.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...a,children:(0,r.jsx)(k,{})})}function C(){const{metadata:e,isBlogPostPage:t}=(0,n.e7)(),{tags:a,title:l,editUrl:i,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,g=!t&&o,u=a.length>0;if(!(u||g||i))return null;if(t){const e=!!(i||d||c);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[u&&(0,r.jsx)("div",{className:(0,s.A)("row","margin-top--sm",_.G.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(y.A,{tags:a})})}),e&&(0,r.jsx)(P.A,{className:(0,s.A)("margin-top--sm",_.G.blog.blogFooterEditMetaRow),editUrl:i,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[u&&(0,r.jsx)("div",{className:(0,s.A)("col",{"col--9":g}),children:(0,r.jsx)(y.A,{tags:a})}),g&&(0,r.jsx)("div",{className:(0,s.A)("col text--right",{"col--3":u}),children:(0,r.jsx)(R,{blogPostTitle:l,to:e.permalink})})]})}function U(e){let{children:t,className:a}=e;const i=function(){const{isBlogPostPage:e}=(0,n.e7)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(l,{className:(0,s.A)(i,a),children:[(0,r.jsx)(v,{}),(0,r.jsx)(w,{children:t}),(0,r.jsx)(C,{})]})}},7446:(e,t,a)=>{a.d(t,{A:()=>l});a(6372);var s=a(4187),n=a(3913),r=a(216);function l(e){let{items:t,component:a=n.A}=e;return(0,r.jsx)(r.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,r.jsx)(s.in,{content:t,children:(0,r.jsx)(a,{children:(0,r.jsx)(t,{})})},t.metadata.permalink)}))})}},2020:(e,t,a)=>{a.d(t,{A:()=>l});a(6372);var s=a(3394),n=a(4079),r=a(216);function l(e){const{permalink:t,title:a,subLabel:l,isNext:i}=e;return(0,r.jsxs)(n.A,{className:(0,s.A)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[l&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:l}),(0,r.jsx)("div",{className:"pagination-nav__label",children:a})]})}},7732:(e,t,a)=>{a.d(t,{A:()=>i});a(6372);var s=a(3394),n=a(4079);const r={tag:"tag_U7q9",tagRegular:"tagRegular_Ly5Y",tagWithCount:"tagWithCount_jTFr"};var l=a(216);function i(e){let{permalink:t,label:a,count:i,description:o}=e;return(0,l.jsxs)(n.A,{href:t,title:o,className:(0,s.A)(r.tag,i?r.tagWithCount:r.tagRegular),children:[a,i&&(0,l.jsx)("span",{children:i})]})}},8800:(e,t,a)=>{a.d(t,{A:()=>o});a(6372);var s=a(3394),n=a(9517),r=a(7732);const l={tags:"tags_tg_p",tag:"tag_njed"};var i=a(216);function o(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(n.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,s.A)(l.tags,"padding--none","margin-left--sm"),children:t.map((e=>(0,i.jsx)("li",{className:l.tag,children:(0,i.jsx)(r.A,{...e})},e.permalink)))})]})}},4883:(e,t,a)=>{a.d(t,{Y4:()=>g,ZD:()=>i,np:()=>d,uz:()=>c,wI:()=>o});a(6372);var s=a(9517),n=a(2051),r=a(216);function l(){const{selectMessage:e}=(0,n.W)();return t=>e(t,(0,s.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function i(e){const t=l();return(0,s.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function o(e){const t=l();return(0,s.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:t(e.count),authorName:e.name||e.key})}const c=()=>(0,s.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function d(){return(0,r.jsx)(s.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function g(){return(0,r.jsx)(s.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}}}]);
\ No newline at end of file
diff --git a/assets/js/34b338d8.48b2237e.js b/assets/js/34b338d8.48b2237e.js
new file mode 100644
index 0000000..2683efb
--- /dev/null
+++ b/assets/js/34b338d8.48b2237e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[522],{1666:(e,o,t)=>{t.r(o),t.d(o,{default:()=>n});var i=t(2727),r=t(9228),d=t(216);function n(){const{siteConfig:e}=(0,i.A)();return(0,d.jsx)(r.A,{title:"Login",description:"Login to CodePod",children:(0,d.jsxs)("main",{style:{marginTop:"100px",marginLeft:"auto",marginRight:"auto",display:"flex",flexDirection:"column",alignItems:"center",gap:"20px",maxWidth:"600px"},children:[(0,d.jsx)("h1",{children:"Try CodePod on the cloud"}),(0,d.jsx)("a",{href:"https://test.codepod.io",target:"_blank",style:{borderRadius:"0.375rem",backgroundColor:"#6366F1",padding:"0.375rem 0.875rem",fontSize:"1rem",fontWeight:600,lineHeight:"1.75rem",color:"#fff",boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)"},children:"Try CodePod Online"}),(0,d.jsxs)("div",{style:{},children:["This is a test server, and"," ",(0,d.jsx)("span",{style:{fontWeight:"bold"},children:"data will not be preserved"})," ","to our official release."]}),(0,d.jsxs)("div",{style:{color:"gray",marginTop:"20px"},children:["Looking for the previous version of CodePod? You can find it at"," ",(0,d.jsx)("a",{href:"https://old-app.codepod.io",target:"_blank",style:{color:"black"},children:"old-app.codepod.io (deprecated)"}),". Note that this version is deprecated and the"," ",(0,d.jsx)("span",{style:{fontWeight:"bold"},children:"data is not guaranteed to be preserved"}),"."]})]})})}}}]);
\ No newline at end of file
diff --git a/assets/js/36994c47.156691d2.js b/assets/js/36994c47.156691d2.js
new file mode 100644
index 0000000..82eed6e
--- /dev/null
+++ b/assets/js/36994c47.156691d2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[858],{3135:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/393be207.8e240b99.js b/assets/js/393be207.8e240b99.js
new file mode 100644
index 0000000..e9376fd
--- /dev/null
+++ b/assets/js/393be207.8e240b99.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[134],{6575:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>p,default:()=>l,frontMatter:()=>s,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"type":"mdx","permalink":"/markdown-page","source":"@site/src/pages/markdown-page.md","title":"Markdown page example","description":"You don\'t need React to write simple standalone pages.","frontMatter":{"title":"Markdown page example"},"unlisted":false}');var o=n(216),r=n(2737);const s={title:"Markdown page example"},p="Markdown page example",c={},d=[];function i(e){const t={h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"markdown-page-example",children:"Markdown page example"})}),"\n",(0,o.jsx)(t.p,{children:"You don't need React to write simple standalone pages."})]})}function l(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(i,{...e})}):i(e)}},2737:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>p});var a=n(6372);const o={},r=a.createContext(o);function s(e){const t=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),a.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/39ed2102.8cb6de56.js b/assets/js/39ed2102.8cb6de56.js
new file mode 100644
index 0000000..ab17656
--- /dev/null
+++ b/assets/js/39ed2102.8cb6de56.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[597],{4583:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"video","title":"Videos","description":"Introduction and Basic Tutorial in 5 minutes","source":"@site/docs/7-video.md","sourceDirName":".","slug":"/video","permalink":"/docs/video","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":7,"frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Kernel-FFI","permalink":"/docs/kernel-ffi/"},"next":{"title":"Screenshots","permalink":"/docs/press/"}}');var n=i(216),o=i(2737);const s={},a="Videos",c={},l=[{value:"Introduction and Basic Tutorial in 5 minutes",id:"introduction-and-basic-tutorial-in-5-minutes",level:3},{value:"Detailed Tutorial on a real project in 20 minutes",id:"detailed-tutorial-on-a-real-project-in-20-minutes",level:3}];function d(e){const t={h1:"h1",h3:"h3",header:"header",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"videos",children:"Videos"})}),"\n",(0,n.jsx)(t.h3,{id:"introduction-and-basic-tutorial-in-5-minutes",children:"Introduction and Basic Tutorial in 5 minutes"}),"\n",(0,n.jsx)("iframe",{style:{width:"80%",aspectRatio:16/9},src:"https://www.youtube.com/embed/M0t2zxSrF6Q",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerpolicy:"strict-origin-when-cross-origin",allowfullscreen:!0}),"\n",(0,n.jsx)(t.h3,{id:"detailed-tutorial-on-a-real-project-in-20-minutes",children:"Detailed Tutorial on a real project in 20 minutes"}),"\n",(0,n.jsx)("iframe",{style:{width:"80%",aspectRatio:16/9},src:"https://www.youtube.com/embed/06yr8FTTxtI",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerpolicy:"strict-origin-when-cross-origin",allowfullscreen:!0})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},2737:(e,t,i)=>{i.d(t,{R:()=>s,x:()=>a});var r=i(6372);const n={},o=r.createContext(n);function s(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/3a2db09e.471f2bd2.js b/assets/js/3a2db09e.471f2bd2.js
new file mode 100644
index 0000000..b244f76
--- /dev/null
+++ b/assets/js/3a2db09e.471f2bd2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[121],{8070:e=>{e.exports=JSON.parse('{"tags":[{"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description","count":3},{"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description","count":1},{"label":"Hola","permalink":"/blog/tags/hola","description":"Hola tag description","count":1}]}')}}]);
\ No newline at end of file
diff --git a/assets/js/498c2da1.a657396e.js b/assets/js/498c2da1.a657396e.js
new file mode 100644
index 0000000..7a5adab
--- /dev/null
+++ b/assets/js/498c2da1.a657396e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[189],{2162:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>o,contentTitle:()=>l,default:()=>u,frontMatter:()=>t,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"kernel-ffi/README","title":"Kernel-FFI","description":"Overview","source":"@site/docs/4-kernel-ffi/README.md","sourceDirName":"4-kernel-ffi","slug":"/kernel-ffi/","permalink":"/docs/kernel-ffi/","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"User Manual","permalink":"/docs/manual/"},"next":{"title":"Videos","permalink":"/docs/video"}}');var s=i(216),a=i(2737);const t={},l="Kernel-FFI",o={},c=[{value:"Overview",id:"overview",level:2},{value:"What is Kernel-FFI?",id:"what-is-kernel-ffi",level:2},{value:"Key Features",id:"key-features",level:3},{value:"Supported Languages",id:"supported-languages",level:2},{value:"Dynamic Languages",id:"dynamic-languages",level:3},{value:"Static Languages",id:"static-languages",level:3},{value:"Usage in CodePod",id:"usage-in-codepod",level:2},{value:"How It Works",id:"how-it-works",level:2},{value:"1. Automatic Discovery",id:"1-automatic-discovery",level:3},{value:"2. Transparent Transformation",id:"2-transparent-transformation",level:3},{value:"3. Seamless Execution",id:"3-seamless-execution",level:3},{value:"Remote Object Reference",id:"remote-object-reference",level:2},{value:"Advanced Features",id:"advanced-features",level:2},{value:"Object-Oriented Programming",id:"object-oriented-programming",level:3},{value:"Recursive Calls",id:"recursive-calls",level:3},{value:"Type Safety",id:"type-safety",level:3},{value:"Architecture",id:"architecture",level:2},{value:"Communication Model",id:"communication-model",level:3},{value:"Client and Host examples",id:"client-and-host-examples",level:2},{value:"Python",id:"python",level:3},{value:"C++",id:"c",level:3},{value:"C#",id:"c-1",level:3},{value:"Go",id:"go",level:3},{value:"Julia",id:"julia",level:3},{value:"Ruby",id:"ruby",level:3},{value:"Racket",id:"racket",level:3},{value:"Rust",id:"rust",level:3},{value:"Typescript/Javascript",id:"typescriptjavascript",level:3},{value:"Conclusion",id:"conclusion",level:2}];function d(n){const e={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...n.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"kernel-ffi",children:"Kernel-FFI"})}),"\n",(0,s.jsx)(e.h2,{id:"overview",children:"Overview"}),"\n",(0,s.jsx)(e.p,{children:"Kernel-FFI is a transparent, language-agnostic framework that enables seamless cross-language function calls and object manipulation within interactive notebooks. It allows you to call functions, access variables, and work with objects across different programming languages as if they were native to your current language."}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"kernel-ffi-intro",src:i(1177).A+"",width:"2524",height:"1750"})}),"\n",(0,s.jsxs)(e.p,{children:["For technical details, please refer to the following paper:\nHebi Li, Forrest Sheng Bao, Qi Xiao, and Jin Tian. ",(0,s.jsx)(e.em,{children:'"Kernel-FFI: Transparent Foreign Function Interfaces for Interactive Notebooks"'}),", arXiv preprint arXiv:2507.23205 (2025) ",(0,s.jsx)(e.a,{href:"https://arxiv.org/abs/2507.23205",children:"https://arxiv.org/abs/2507.23205"})]}),"\n",(0,s.jsx)(e.h2,{id:"what-is-kernel-ffi",children:"What is Kernel-FFI?"}),"\n",(0,s.jsx)(e.p,{children:"Kernel-FFI solves the challenge of multi-language development in interactive environments like Jupyter Notebooks. Traditional approaches require extensive manual configuration, boilerplate code, and often lack support for modern programming constructs like object-oriented programming and recursive calls."}),"\n",(0,s.jsx)(e.h3,{id:"key-features",children:"Key Features"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Transparent Cross-Language Calls"}),": Call functions in other languages as if they were native"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Object-Oriented Programming Support"}),": Create and manipulate objects across language boundaries"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"No Boilerplate Code"}),": Automatic source-level transformation eliminates manual bindings"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Interactive Development"}),": Works seamlessly with Jupyter's dynamic, exploratory programming model"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Language Agnostic"}),": Supports multiple programming languages with different paradigms"]}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"supported-languages",children:"Supported Languages"}),"\n",(0,s.jsx)(e.p,{children:"Kernel-FFI supports a wide range of programming languages:"}),"\n",(0,s.jsx)(e.h3,{id:"dynamic-languages",children:"Dynamic Languages"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Python"}),": Data science, machine learning, web development"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"JavaScript/TypeScript"}),": Web frontend/backend, Node.js applications"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Julia"}),": Scientific computing, multiple dispatch"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Ruby"}),": Web development (Rails), metaprogramming"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Racket"}),": Functional programming, DSLs"]}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"static-languages",children:"Static Languages"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Rust"}),": Memory safety, systems programming"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Go"}),": Cloud services, microservices"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"C++"}),": Systems programming, performance-critical applications"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"C#"}),": .NET ecosystem, Windows development"]}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"usage-in-codepod",children:"Usage in CodePod"}),"\n",(0,s.jsx)(e.p,{children:"Kernel-FFI can be directly used in CodePod. Just create pods of different languages, and call each other as if they are native!"}),"\n",(0,s.jsx)("img",{src:i(8231).A,alt:"unified-framework",width:"600"}),"\n",(0,s.jsx)(e.h2,{id:"how-it-works",children:"How It Works"}),"\n",(0,s.jsx)("img",{src:i(4780).A,alt:"simple-loop",width:"800"}),"\n",(0,s.jsx)(e.h3,{id:"1-automatic-discovery",children:"1. Automatic Discovery"}),"\n",(0,s.jsx)(e.p,{children:"Kernel-FFI automatically discovers and maintains a registry of programming constructs (functions, classes, variables) defined in each kernel. As you add, modify, or remove code, the registry updates to reflect the current state."}),"\n",(0,s.jsx)(e.h3,{id:"2-transparent-transformation",children:"2. Transparent Transformation"}),"\n",(0,s.jsx)(e.p,{children:"When you use a function or object from another language, Kernel-FFI automatically transforms your code into an intermediate representation that can be executed across language boundaries."}),"\n",(0,s.jsx)(e.h3,{id:"3-seamless-execution",children:"3. Seamless Execution"}),"\n",(0,s.jsx)(e.p,{children:"The transformed code is executed in the target language kernel, and results are automatically converted back to your native language format."}),"\n",(0,s.jsx)(e.h2,{id:"remote-object-reference",children:"Remote Object Reference"}),"\n",(0,s.jsx)("img",{src:i(5788).A,alt:"objRefSequence",width:"800"}),"\n",(0,s.jsx)(e.h2,{id:"advanced-features",children:"Advanced Features"}),"\n",(0,s.jsx)(e.h3,{id:"object-oriented-programming",children:"Object-Oriented Programming"}),"\n",(0,s.jsx)(e.p,{children:"Kernel-FFI supports full OOP across languages:"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Object Instantiation"}),": Create objects in one language and use them in another"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Method Calls"}),": Call methods on foreign objects transparently"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"State Management"}),": Maintain object state across language boundaries"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Automatic Cleanup"}),": Resources are automatically managed"]}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"recursive-calls",children:"Recursive Calls"}),"\n",(0,s.jsx)(e.p,{children:"Support for complex multi-language workflows:"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Non-blocking Communication"}),": Side-channel communication prevents blocking"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Recursive Function Calls"}),": Functions can call back to other languages"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Asynchronous Support"}),": Handle async operations across languages"]}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"type-safety",children:"Type Safety"}),"\n",(0,s.jsx)(e.p,{children:"Maintains type safety across different language paradigms:"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Dynamic Languages"}),": Runtime type checking and conversion"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Static Languages"}),": Compile-time type information preservation"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Automatic Serialization"}),": Handles complex data structures"]}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"architecture",children:"Architecture"}),"\n",(0,s.jsx)(e.p,{children:"Kernel-FFI uses a three-layer architecture:"}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Source Analysis"}),": Parses and identifies cross-language usage patterns"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Intermediate Representation"}),": Converts operations to language-agnostic format"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Target Execution"}),": Generates and executes code in target languages"]}),"\n"]}),"\n",(0,s.jsx)(e.h3,{id:"communication-model",children:"Communication Model"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Jupyter Protocol"}),": Leverages existing Jupyter messaging"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Side-Channel"}),": HTTP-based communication for non-blocking operations"]}),"\n",(0,s.jsxs)(e.li,{children:[(0,s.jsx)(e.strong,{children:"Object Store"}),": Global registry for managing cross-language objects"]}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"client-and-host-examples",children:"Client and Host examples"}),"\n",(0,s.jsx)(e.h3,{id:"python",children:"Python"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-py",children:"\n# Python\n\n\ndef foo(x):\n return x+1\n\na1 = 23\n\nclass B1:\n def __init__(self, v1):\n self.v1 = v1\n def m1(self, v2):\n return self.v1 + v2\n\nb1 = B1(4)\nb1.m1(3)\n\ndef fObjArg(x):\n return x.v1 + 1\n\ndef fObjRet(x):\n return B1(x)\n\n\n\n# ------------------------------------------------------\n# Client code\n# ------------------------------------------------------\n\nfoo(3) + 1\na1 + 1\nb1.m1(9)\n\nb2 = B1(5)\nb2.m1(8)\n\nfObjArg(b2)\nfObjArg(b1)\nfObjArg(fObjRet(3))\n\n\n"})}),"\n",(0,s.jsx)(e.h3,{id:"c",children:"C++"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-cpp",children:'\n\nint foo(int x) {\n return x + 1;\n}\nint a1 = 23;\nclass B1 {\nprivate:\n int v1;\npublic:\n B1(int v) : v1(v) {}\n int m1(int v2) {\n return v1 + v2;\n }\n};\nB1 b1(4);\nb1.m1(3);\nint fObjArg(B1 x) {\n return x.m1(0) + 1;\n}\nB1 fObjRet(int x) {\n return B1(x);\n}\n\n\n// ------------------------------------------------------\n// Client for paper\n// ------------------------------------------------------\n\nfoo(3).get() + 1\na1.get() + 1\nb1.m1(2).get() + 1\n\nauto b2 = B1(3)\nb2.call("m1")(8)\n\nfObjArg(b1)\nfObjArg(b2)\nfObjArg(fObjRet(3))\n\n\n'})}),"\n",(0,s.jsx)(e.h3,{id:"c-1",children:"C#"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-csharp",children:"\n\nint foo(int x) {\n return x + 1;\n}\nint a1 = 23;\nclass B1 {\n private int v1;\n public B1(int v1) {\n this.v1 = v1;\n }\n public int m1(int v2) {\n return v1 + v2;\n }\n}\nvar b1 = new B1(4);\nb1.m1(9);\nint fObjArg(B1 x) {\n return x.m1(0) + 1;\n}\ndynamic fObjRet(int x) {\n return new B1(x);\n}\n\n\n// ------------------------------------------------------\n// Client code\n// ------------------------------------------------------\n\nfoo(3)\na1 + 1\nb1.m1(9)\n\nvar b2 = new B1(5);\nb2.m1(8)\n\nfObjArg(b2)\nfObjArg(b1)\nfObjArg(fObjRet(3))\n\n\n"})}),"\n",(0,s.jsx)(e.h3,{id:"go",children:"Go"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-go",children:'\n\nfunc foo(x int) int {\n\treturn x + 1\n}\nvar a1 = 23\n\ntype B1 struct {\n\tv1 int\n}\nfunc (b *B1) m1(v2 int) int {\n\treturn b.v1 + v2\n}\n\nb1 := B1{v1: 4}\nb1.m1(3)\n\nfunc fObjArg(x B1) int {\n\treturn x.v1 + 1\n}\nfunc fObjRet(x int) B1 {\n\treturn B1{v1: x}\n}\n\n// ------------------------------------------------------\n// Client code for paper\n// ------------------------------------------------------\n\nfoo(3)\nfoo(3).(float64) + 1\na1\na1.(float64) + 1\nb1.m1(3)\nb2,err := B1(5)\nb2.Method("m1")(5)\n\nfObjArg(b2)\nfObjArg(b1)\nfObjArg(fObjRet(3))\n\n\n\n'})}),"\n",(0,s.jsx)(e.h3,{id:"julia",children:"Julia"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-julia",children:"\n\nfunction foo(x)\n return x+5\nend\na1 = 23\n\nmutable struct B1\n v1::Int\nend\nb1 = B1(12)\nfunction m1(b::B1, v2)\n return b.v1 + v2\nend\nb1 = B1(4)\nm1(b1, 3)\n\nfunction fObjArg(x::B1)\n return x.v1 + 1\nend\nfunction fObjRet(x)\n return B1(x)\nend\n\n# ------------------------------------------------------\n# Client code\n# ------------------------------------------------------\n\nfoo(3)\na1 + 8\nb1.m1(9)\n\nb2 = B1(8)\nb2.m1(9)\n\nfObjArg(b2)\nfObjArg(b1)\nfObjArg(fObjRet(3))\n\n"})}),"\n",(0,s.jsx)(e.h3,{id:"ruby",children:"Ruby"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-rb",children:"# ------------------------------------------------------\n# Host code\n# ------------------------------------------------------\n\ndef foo(x)\n x + 1\nend\na1 = 23\nclass B1\n def initialize(v1)\n @v1 = v1\n end\n\n def m1(v2)\n @v1 + v2\n end\nend\nb1 = B1.new(4)\nb1.m1(3)\ndef fObjArg(x)\n x.m1(0) + 1\nend\ndef fObjRet(x)\n B1.new(x)\nend\n\n# ------------------------------------------------------\n# Client code\n# ------------------------------------------------------\n\n\nfoo(3)\na1\nb1.m1(4)\n\nb2 = B1(5)\nb2.m1(3)\n\nfObjArg(b2)\nfObjArg(b1)\nfObjArg(fObjRet(3))\n\n"})}),"\n",(0,s.jsx)(e.h3,{id:"racket",children:"Racket"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-scheme",children:'\n(define-syntax (define-class stx)\n (syntax-case stx ()\n [(_ class-name (fields ...) body ...)\n (with-syntax ([make-name (datum->syntax #\'class-name\n (string->symbol\n (format "make-~a" (syntax-e #\'class-name))))])\n #\'(begin\n (define class-name\n (class object%\n (init-field fields ...)\n (super-new)\n body ...))\n (define (make-name fields ...)\n (new class-name [fields fields] ...))))]))\n\n; ------------------------------------------------------\n; Host code\n; ------------------------------------------------------\n\n\n(define (foo x)\n (+ x 1))\n\n(define a1 23)\n\n(define-class B1 (v1)\n (define/public (m1 v2)\n (+ v1 v2)))\n\n(define b1 (make-B1 10))\n\n(send b1 m1 5)\n\n(define (fObjArg x)\n (+ (send x m1 0) 1))\n\n(define (fObjRet x)\n (make-B1 x))\n\n\n\n\n; ------------------------------------------------------\n; Client code\n; ------------------------------------------------------\n\n(foo 1)\n(+ a1 2)\n((send b1 call "m1") 2)\n\n(define b2 (B1 3))\n((send b2 call "m1") 3)\n\n(fObjArg b2)\n(fObjArg b1)\n(fObjArg (fObjRet 3))\n\n'})}),"\n",(0,s.jsx)(e.h3,{id:"rust",children:"Rust"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-rs",children:'\n\nfn foo(x: i32) -> i32 {\n x + 1\n}\nlet a1 = 23;\n#[derive(Debug, Clone)]\nstruct B1 {\n v1: i32,\n}\nimpl B1 {\n fn new(v1: i32) -> Self {\n Self { v1 }}\n fn m1(&self, v2: i32) -> i32 {\n self.v1 + v2 }}\nlet b1 = B1::new(4);\nb1.m1(3)\nfn fObjArg(x: B1) -> i32 {\n x.v1 + 1\n}\nfn fObjRet(x: i32) -> B1 {\n B1::new(x)\n}\n\n\n// ------------------------------------------------------\n// Client code for paper\n// ------------------------------------------------------\n\nfoo(3)\nfoo(3).as_i64().unwrap()+1\na1.as_i64().unwrap() + 1\n\nb1.m1(8)\nlet b2 = B1(5);\nb2.call_method("m1",\n vec![Value::from(3)])\n\nfObjArg(b2)\nfObjArg(b1)\nfObjArg(fObjRet(3))\n\n\n\n\n'})}),"\n",(0,s.jsx)(e.h3,{id:"typescriptjavascript",children:"Typescript/Javascript"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-ts",children:"// ------------------------------------------------------------\n// Host code\n// ------------------------------------------------------------\n\nfunction foo(x) {\n return x + 4;\n}\nconst a1 = 2;\nclass B1 {\n v1;\n constructor(v1) {\n this.v1 = v1;\n }\n m1(x) {\n return x + this.v1;\n }\n}\nconst b1 = new B1(2);\nb1.m1(3);\nfunction fObjArg(x) {\n return x.v1 + 1;\n}\nfunction fObjRet(x) {\n return new B1(x);\n}\n\n// ------------------------------------------------------------\n// Client code for paper\n// ------------------------------------------------------------\n\nawait foo(3);\n1 + (await a1) + 2;\nawait b1.m1(8);\n\nconst b2 = await new B1(9);\nawait b2.m1(19);\n\nawait fObjArg(b2);\nawait fObjArg(await b1);\nawait fObjArg(await fObjRet(10));\n\n// end\n"})}),"\n",(0,s.jsx)(e.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,s.jsx)(e.p,{children:"Kernel-FFI represents a significant advancement in multi-language development for interactive environments. By providing transparent, language-agnostic cross-language function calls, it enables developers to leverage the strengths of different programming languages without the traditional overhead of FFI setup and maintenance."}),"\n",(0,s.jsx)(e.p,{children:"Whether you're working on data science projects that benefit from multiple language ecosystems, building web applications that span frontend and backend languages, or developing systems that require both high-level expressiveness and low-level performance, Kernel-FFI provides the tools you need to work seamlessly across language boundaries."})]})}function u(n={}){const{wrapper:e}={...(0,a.R)(),...n.components};return e?(0,s.jsx)(e,{...n,children:(0,s.jsx)(d,{...n})}):d(n)}},8231:(n,e,i)=>{i.d(e,{A:()=>r});const r=i.p+"assets/images/codepod-unified-framework-6f5583f94a24e8b0177705b8547b42f4.png"},5788:(n,e,i)=>{i.d(e,{A:()=>r});const r=i.p+"assets/images/objRefSequence-b1d9c04fa68c095851a91725aca21a7d.png"},4780:(n,e,i)=>{i.d(e,{A:()=>r});const r=i.p+"assets/images/simple-loop-e2cf9ee030b5dbd4412e111a3eb7f525.png"},1177:(n,e,i)=>{i.d(e,{A:()=>r});const r=i.p+"assets/images/kernel-ffi-intro-fcd6e2603db2ad082487a03265fc9c8f.png"},2737:(n,e,i)=>{i.d(e,{R:()=>t,x:()=>l});var r=i(6372);const s={},a=r.createContext(s);function t(n){const e=r.useContext(a);return r.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function l(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:t(n.components),r.createElement(a.Provider,{value:e},n.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/59362658.b2e563d4.js b/assets/js/59362658.b2e563d4.js
new file mode 100644
index 0000000..4768188
--- /dev/null
+++ b/assets/js/59362658.b2e563d4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[325],{1160:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var o=s(1632),n=s(216),r=s(2737);const a={slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},i=void 0,l={authorsImageUrls:[void 0]},c=[];function u(t){const e={a:"a",admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,r.R)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(e.p,{children:["Blog posts support ",(0,n.jsx)(e.a,{href:"https://docusaurus.io/docs/markdown-features",children:"Docusaurus Markdown features"}),", such as ",(0,n.jsx)(e.a,{href:"https://mdxjs.com/",children:"MDX"}),"."]}),"\n",(0,n.jsx)(e.admonition,{type:"tip",children:(0,n.jsx)(e.p,{children:"Use the power of React to create interactive blog posts."})}),"\n","\n",(0,n.jsx)(e.p,{children:"For example, use JSX to create an interactive button:"}),"\n",(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:"language-js",children:"\n"})}),"\n",(0,n.jsx)("button",{onClick:()=>alert("button clicked!"),children:"Click me!"})]})}function p(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(u,{...t})}):u(t)}},2737:(t,e,s)=>{s.d(e,{R:()=>a,x:()=>i});var o=s(6372);const n={},r=o.createContext(n);function a(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:a(t.components),o.createElement(r.Provider,{value:e},t.children)}},1632:t=>{t.exports=JSON.parse('{"permalink":"/blog/mdx-blog-post","source":"@site/blog/2021-08-01-mdx-blog-post.mdx","title":"MDX Blog Post","description":"Blog posts support Docusaurus Markdown features, such as MDX.","date":"2021-08-01T00:00:00.000Z","tags":[{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.235,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"slug":"mdx-blog-post","title":"MDX Blog Post","authors":["slorber"],"tags":["docusaurus"]},"unlisted":false,"nextItem":{"title":"Long Blog Post","permalink":"/blog/long-blog-post"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/5e90a9b3.d575076a.js b/assets/js/5e90a9b3.d575076a.js
new file mode 100644
index 0000000..6789489
--- /dev/null
+++ b/assets/js/5e90a9b3.d575076a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[25],{7134:a=>{a.exports=JSON.parse('{"tag":{"label":"Hola","permalink":"/blog/tags/hola","description":"Hola tag description","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/hola","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/5e95c892.e9c5e186.js b/assets/js/5e95c892.e9c5e186.js
new file mode 100644
index 0000000..3356828
--- /dev/null
+++ b/assets/js/5e95c892.e9c5e186.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[647],{1167:(e,s,r)=>{r.r(s),r.d(s,{default:()=>l});r(6372);var t=r(3394),u=r(2571),a=r(9657),c=r(2803),n=r(9228),i=r(216);function l(e){return(0,i.jsx)(u.e3,{className:(0,t.A)(a.G.wrapper.docsPages),children:(0,i.jsx)(n.A,{children:(0,c.v)(e.route.routes)})})}}}]);
\ No newline at end of file
diff --git a/assets/js/621db11d.6f564acb.js b/assets/js/621db11d.6f564acb.js
new file mode 100644
index 0000000..09af347
--- /dev/null
+++ b/assets/js/621db11d.6f564acb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[212],{8794:(t,e,s)=>{s.r(e),s.d(e,{default:()=>m});s(6372);var o=s(3394),a=s(2571),r=s(9657),n=s(4883),l=s(3028),u=s(2465),i=s(5402),h=s(8042);const c={authorListItem:"authorListItem_qh2f"};var g=s(216);function p(t){let{author:e}=t;return(0,g.jsx)("li",{className:c.authorListItem,children:(0,g.jsx)(h.A,{as:"h2",author:e,count:e.count})})}function d(t){let{authors:e}=t;return(0,g.jsx)("section",{className:(0,o.A)("margin-vert--lg",c.authorsListSection),children:(0,g.jsx)("ul",{children:e.map((t=>(0,g.jsx)(p,{author:t},t.key)))})})}function m(t){let{authors:e,sidebar:s}=t;const h=(0,n.uz)();return(0,g.jsxs)(a.e3,{className:(0,o.A)(r.G.wrapper.blogPages,r.G.page.blogAuthorsListPage),children:[(0,g.jsx)(a.be,{title:h}),(0,g.jsx)(u.A,{tag:"blog_authors_list"}),(0,g.jsxs)(l.A,{sidebar:s,children:[(0,g.jsx)(i.A,{as:"h1",children:h}),(0,g.jsx)(d,{authors:e})]})]})}},4883:(t,e,s)=>{s.d(e,{Y4:()=>c,ZD:()=>l,np:()=>h,uz:()=>i,wI:()=>u});s(6372);var o=s(9517),a=s(2051),r=s(216);function n(){const{selectMessage:t}=(0,a.W)();return e=>t(e,(0,o.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:e}))}function l(t){const e=n();return(0,o.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:e(t.count),tagName:t.label})}function u(t){const e=n();return(0,o.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:e(t.count),authorName:t.name||t.key})}const i=()=>(0,o.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function h(){return(0,r.jsx)(o.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function c(){return(0,r.jsx)(o.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}}}]);
\ No newline at end of file
diff --git a/assets/js/6875c492.4db44d17.js b/assets/js/6875c492.4db44d17.js
new file mode 100644
index 0000000..4ec2d35
--- /dev/null
+++ b/assets/js/6875c492.4db44d17.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[813],{7099:(e,t,n)=>{n.d(t,{A:()=>r});n(6372);var a=n(9517),s=n(2020),i=n(216);function r(e){const{metadata:t}=e,{previousPage:n,nextPage:r}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,a.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,i.jsx)(s.A,{permalink:n,title:(0,i.jsx)(a.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),r&&(0,i.jsx)(s.A,{permalink:r,title:(0,i.jsx)(a.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},3913:(e,t,n)=>{n.d(t,{A:()=>C});n(6372);var a=n(3394),s=n(4187),i=n(216);function r(e){let{children:t,className:n}=e;return(0,i.jsx)("article",{className:n,children:t})}var l=n(4079);const o={title:"title_bOR3"};function c(e){let{className:t}=e;const{metadata:n,isBlogPostPage:r}=(0,s.e7)(),{permalink:c,title:d}=n,g=r?"h1":"h2";return(0,i.jsx)(g,{className:(0,a.A)(o.title,t),children:r?d:(0,i.jsx)(l.A,{to:c,children:d})})}var d=n(9517),g=n(2051),u=n(4504);const h={container:"container_NCC6"};function m(e){let{readingTime:t}=e;const n=function(){const{selectMessage:e}=(0,g.W)();return t=>{const n=Math.ceil(t);return e(n,(0,d.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,i.jsx)(i.Fragment,{children:n(t)})}function p(e){let{date:t,formattedDate:n}=e;return(0,i.jsx)("time",{dateTime:t,children:n})}function x(){return(0,i.jsx)(i.Fragment,{children:" \xb7 "})}function j(e){let{className:t}=e;const{metadata:n}=(0,s.e7)(),{date:r,readingTime:l}=n,o=(0,u.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,i.jsxs)("div",{className:(0,a.A)(h.container,"margin-vert--md",t),children:[(0,i.jsx)(p,{date:r,formattedDate:(c=r,o.format(new Date(c)))}),void 0!==l&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x,{}),(0,i.jsx)(m,{readingTime:l})]})]});var c}var b=n(8042);const f={authorCol:"authorCol_RPjB",imageOnlyAuthorRow:"imageOnlyAuthorRow_F2QD",imageOnlyAuthorCol:"imageOnlyAuthorCol_y5No"};function A(e){let{className:t}=e;const{metadata:{authors:n},assets:r}=(0,s.e7)();if(0===n.length)return null;const l=n.every((e=>{let{name:t}=e;return!t})),o=1===n.length;return(0,i.jsx)("div",{className:(0,a.A)("margin-top--md margin-bottom--sm",l?f.imageOnlyAuthorRow:"row",t),children:n.map(((e,t)=>(0,i.jsx)("div",{className:(0,a.A)(!l&&(o?"col col--12":"col col--6"),l?f.imageOnlyAuthorCol:f.authorCol),children:(0,i.jsx)(b.A,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t)))})}function v(){return(0,i.jsxs)("header",{children:[(0,i.jsx)(c,{}),(0,i.jsx)(j,{}),(0,i.jsx)(A,{})]})}var T=n(5155),N=n(9231);function w(e){let{children:t,className:n}=e;const{isBlogPostPage:r}=(0,s.e7)();return(0,i.jsx)("div",{id:r?T.LU:void 0,className:(0,a.A)("markdown",n),children:(0,i.jsx)(N.A,{children:t})})}var y=n(9657),_=n(3149),P=n(8800);function k(){return(0,i.jsx)("b",{children:(0,i.jsx)(d.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function R(e){const{blogPostTitle:t,...n}=e;return(0,i.jsx)(l.A,{"aria-label":(0,d.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,i.jsx)(k,{})})}function U(){const{metadata:e,isBlogPostPage:t}=(0,s.e7)(),{tags:n,title:r,editUrl:l,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,g=!t&&o,u=n.length>0;if(!(u||g||l))return null;if(t){const e=!!(l||d||c);return(0,i.jsxs)("footer",{className:"docusaurus-mt-lg",children:[u&&(0,i.jsx)("div",{className:(0,a.A)("row","margin-top--sm",y.G.blog.blogFooterEditMetaRow),children:(0,i.jsx)("div",{className:"col",children:(0,i.jsx)(P.A,{tags:n})})}),e&&(0,i.jsx)(_.A,{className:(0,a.A)("margin-top--sm",y.G.blog.blogFooterEditMetaRow),editUrl:l,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,i.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[u&&(0,i.jsx)("div",{className:(0,a.A)("col",{"col--9":g}),children:(0,i.jsx)(P.A,{tags:n})}),g&&(0,i.jsx)("div",{className:(0,a.A)("col text--right",{"col--3":u}),children:(0,i.jsx)(R,{blogPostTitle:r,to:e.permalink})})]})}function C(e){let{children:t,className:n}=e;const l=function(){const{isBlogPostPage:e}=(0,s.e7)();return e?void 0:"margin-bottom--xl"}();return(0,i.jsxs)(r,{className:(0,a.A)(l,n),children:[(0,i.jsx)(v,{}),(0,i.jsx)(w,{children:t}),(0,i.jsx)(U,{})]})}},7446:(e,t,n)=>{n.d(t,{A:()=>r});n(6372);var a=n(4187),s=n(3913),i=n(216);function r(e){let{items:t,component:n=s.A}=e;return(0,i.jsx)(i.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,i.jsx)(a.in,{content:t,children:(0,i.jsx)(n,{children:(0,i.jsx)(t,{})})},t.metadata.permalink)}))})}},1275:(e,t,n)=>{n.r(t),n.d(t,{default:()=>b});n(6372);var a=n(3394),s=n(9517),i=n(2571),r=n(9657),l=n(4883),o=n(4079),c=n(3028),d=n(7099),g=n(2465),u=n(7446),h=n(4936),m=n(5402),p=n(216);function x(e){let{tag:t}=e;const n=(0,l.ZD)(t);return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(i.be,{title:n,description:t.description}),(0,p.jsx)(g.A,{tag:"blog_tags_posts"})]})}function j(e){let{tag:t,items:n,sidebar:a,listMetadata:i}=e;const r=(0,l.ZD)(t);return(0,p.jsxs)(c.A,{sidebar:a,children:[t.unlisted&&(0,p.jsx)(h.A,{}),(0,p.jsxs)("header",{className:"margin-bottom--xl",children:[(0,p.jsx)(m.A,{as:"h1",children:r}),t.description&&(0,p.jsx)("p",{children:t.description}),(0,p.jsx)(o.A,{href:t.allTagsPath,children:(0,p.jsx)(s.A,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,p.jsx)(u.A,{items:n}),(0,p.jsx)(d.A,{metadata:i})]})}function b(e){return(0,p.jsxs)(i.e3,{className:(0,a.A)(r.G.wrapper.blogPages,r.G.page.blogTagPostListPage),children:[(0,p.jsx)(x,{...e}),(0,p.jsx)(j,{...e})]})}},4936:(e,t,n)=>{n.d(t,{A:()=>c});n(6372);var a=n(3394),s=n(9558),i=n(9657),r=n(2447),l=n(216);function o(e){let{className:t}=e;return(0,l.jsx)(r.A,{type:"caution",title:(0,l.jsx)(s.Rc,{}),className:(0,a.A)(t,i.G.common.unlistedBanner),children:(0,l.jsx)(s.Uh,{})})}function c(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.AE,{}),(0,l.jsx)(o,{...e})]})}},2020:(e,t,n)=>{n.d(t,{A:()=>r});n(6372);var a=n(3394),s=n(4079),i=n(216);function r(e){const{permalink:t,title:n,subLabel:r,isNext:l}=e;return(0,i.jsxs)(s.A,{className:(0,a.A)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[r&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:r}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}},7732:(e,t,n)=>{n.d(t,{A:()=>l});n(6372);var a=n(3394),s=n(4079);const i={tag:"tag_U7q9",tagRegular:"tagRegular_Ly5Y",tagWithCount:"tagWithCount_jTFr"};var r=n(216);function l(e){let{permalink:t,label:n,count:l,description:o}=e;return(0,r.jsxs)(s.A,{href:t,title:o,className:(0,a.A)(i.tag,l?i.tagWithCount:i.tagRegular),children:[n,l&&(0,r.jsx)("span",{children:l})]})}},8800:(e,t,n)=>{n.d(t,{A:()=>o});n(6372);var a=n(3394),s=n(9517),i=n(7732);const r={tags:"tags_tg_p",tag:"tag_njed"};var l=n(216);function o(e){let{tags:t}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("b",{children:(0,l.jsx)(s.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,l.jsx)("ul",{className:(0,a.A)(r.tags,"padding--none","margin-left--sm"),children:t.map((e=>(0,l.jsx)("li",{className:r.tag,children:(0,l.jsx)(i.A,{...e})},e.permalink)))})]})}},4883:(e,t,n)=>{n.d(t,{Y4:()=>g,ZD:()=>l,np:()=>d,uz:()=>c,wI:()=>o});n(6372);var a=n(9517),s=n(2051),i=n(216);function r(){const{selectMessage:e}=(0,s.W)();return t=>e(t,(0,a.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function l(e){const t=r();return(0,a.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function o(e){const t=r();return(0,a.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:t(e.count),authorName:e.name||e.key})}const c=()=>(0,a.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function d(){return(0,i.jsx)(a.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function g(){return(0,i.jsx)(a.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}},9558:(e,t,n)=>{n.d(t,{AE:()=>o,Rc:()=>r,TT:()=>d,Uh:()=>l,Yh:()=>c});n(6372);var a=n(9517),s=n(2869),i=n(216);function r(){return(0,i.jsx)(a.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,i.jsx)(a.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,i.jsx)(s.A,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,i.jsx)(a.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,i.jsx)(a.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]);
\ No newline at end of file
diff --git a/assets/js/73664a40.f958ad50.js b/assets/js/73664a40.f958ad50.js
new file mode 100644
index 0000000..fa5036a
--- /dev/null
+++ b/assets/js/73664a40.f958ad50.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[972],{6289:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>m,contentTitle:()=>r,default:()=>a,frontMatter:()=>u,metadata:()=>t,toc:()=>l});var t=i(5802),o=i(216),n=i(2737);const u={slug:"long-blog-post",title:"Long Blog Post",authors:"yangshun",tags:["hello","docusaurus"]},r=void 0,m={authorsImageUrls:[void 0]},l=[];function c(e){const s={code:"code",p:"p",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:"This is the summary of a very long blog post,"}),"\n",(0,o.jsxs)(s.p,{children:["Use a ",(0,o.jsx)(s.code,{children:"\x3c!--"})," ",(0,o.jsx)(s.code,{children:"truncate"})," ",(0,o.jsx)(s.code,{children:"--\x3e"})," comment to limit blog post size in the list view."]}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"})]})}function a(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},2737:(e,s,i)=>{i.d(s,{R:()=>u,x:()=>r});var t=i(6372);const o={},n=t.createContext(o);function u(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:u(e.components),t.createElement(n.Provider,{value:s},e.children)}},5802:e=>{e.exports=JSON.parse('{"permalink":"/blog/long-blog-post","source":"@site/blog/2019-05-29-long-blog-post.md","title":"Long Blog Post","description":"This is the summary of a very long blog post,","date":"2019-05-29T00:00:00.000Z","tags":[{"inline":false,"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":2.06,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","github":"https://github.com/yangshun"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"long-blog-post","title":"Long Blog Post","authors":"yangshun","tags":["hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"MDX Blog Post","permalink":"/blog/mdx-blog-post"},"nextItem":{"title":"First Blog Post","permalink":"/blog/first-blog-post"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/791.9e0d04cf.js b/assets/js/791.9e0d04cf.js
new file mode 100644
index 0000000..0397fe5
--- /dev/null
+++ b/assets/js/791.9e0d04cf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[791],{2569:(e,t,i)=>{i.d(t,{A:()=>a});i(6372);var n=i(3394),s=i(9517),o=i(5402),r=i(216);function a(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,n.A)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(s.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},4791:(e,t,i)=>{i.r(t),i.d(t,{default:()=>l});i(6372);var n=i(9517),s=i(2571),o=i(9228),r=i(2569),a=i(216);function l(){const e=(0,n.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.be,{title:e}),(0,a.jsx)(o.A,{children:(0,a.jsx)(r.A,{})})]})}}}]);
\ No newline at end of file
diff --git a/assets/js/7fad74e8.244a86c4.js b/assets/js/7fad74e8.244a86c4.js
new file mode 100644
index 0000000..9d29b09
--- /dev/null
+++ b/assets/js/7fad74e8.244a86c4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[569],{8919:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>a,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"Reference/Legal/privacy-policy","title":"Privacy Policy","description":"At CodePod Inc., we take the privacy of our users very seriously. This Privacy","source":"@site/docs/Reference/Legal/privacy-policy.md","sourceDirName":"Reference/Legal","slug":"/Reference/Legal/privacy-policy","permalink":"/docs/Reference/Legal/privacy-policy","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Screenshots","permalink":"/docs/press/"}}');var r=n(216),i=n(2737);const a={},s="Privacy Policy",c={},l=[];function u(e){const o={a:"a",h1:"h1",header:"header",p:"p",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.header,{children:(0,r.jsx)(o.h1,{id:"privacy-policy",children:"Privacy Policy"})}),"\n",(0,r.jsx)(o.p,{children:"At CodePod Inc., we take the privacy of our users very seriously. This Privacy\nPolicy outlines the types of information we collect, how we use it, and the\nmeasures we take to protect it. By using our SaaS app, you agree to the terms of\nthis Privacy Policy."}),"\n",(0,r.jsx)(o.p,{children:"Information Collection and Use"}),"\n",(0,r.jsx)(o.p,{children:"We collect personal information such as name, email address, and billing\ninformation when you create an account and purchase a subscription.\nAdditionally, we collect information related to your use of our SaaS app,\nincluding the code you write and the data you store within the app. This\ninformation is used to provide you with a personalized experience, improve the\nfunctionality of our SaaS app, and to better understand how our app is being\nused."}),"\n",(0,r.jsx)(o.p,{children:"Data Retention"}),"\n",(0,r.jsx)(o.p,{children:"We retain the personal information you provide us for as long as your account is\nactive or as needed to provide you with services. If you close your account, we\nwill delete your personal information within a reasonable time period, unless we\nare required by law to retain it."}),"\n",(0,r.jsx)(o.p,{children:"Data Security"}),"\n",(0,r.jsx)(o.p,{children:"We take extensive measures to protect the personal information of our users,\nincluding the use of secure servers and encryption for sensitive data. Access to\npersonal information is limited to authorized employees who need it in order to\nperform their job duties."}),"\n",(0,r.jsx)(o.p,{children:"Cookies and Tracking Technologies"}),"\n",(0,r.jsx)(o.p,{children:"We use cookies and other tracking technologies to provide you with a more\npersonalized experience on our SaaS app. These technologies may collect\ninformation about your use of our SaaS app, such as the pages you visit and the\ncontent you view. You may choose to disable cookies in your browser, but please\nnote that this may limit your ability to use certain features of our SaaS app."}),"\n",(0,r.jsx)(o.p,{children:"Sharing of Information"}),"\n",(0,r.jsx)(o.p,{children:"We do not share your personal information with third parties except as required\nby law or in response to a valid request from a government or law enforcement\nagency. We may also share your personal information with third-party service\nproviders who assist us in providing the services offered by our SaaS app."}),"\n",(0,r.jsx)(o.p,{children:"Changes to Privacy Policy"}),"\n",(0,r.jsx)(o.p,{children:"We may update this Privacy Policy from time to time to reflect changes in our\npractices or to comply with legal requirements. Any changes will be posted on\nthis page and will become effective upon posting. Your continued use of our SaaS\napp after any changes have been made constitutes your acceptance of the new\nPrivacy Policy."}),"\n",(0,r.jsx)(o.p,{children:"Contact Us"}),"\n",(0,r.jsxs)(o.p,{children:["If you have any questions or concerns about our Privacy Policy or the handling\nof your personal information, please contact us at ",(0,r.jsx)(o.a,{href:"mailto:contact@codepod.io",children:"contact@codepod.io"}),"."]})]})}function p(e={}){const{wrapper:o}={...(0,i.R)(),...e.components};return o?(0,r.jsx)(o,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},2737:(e,o,n)=>{n.d(o,{R:()=>a,x:()=>s});var t=n(6372);const r={},i=t.createContext(r);function a(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function s(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/814f3328.6fb44799.js b/assets/js/814f3328.6fb44799.js
new file mode 100644
index 0000000..1e7d8d7
--- /dev/null
+++ b/assets/js/814f3328.6fb44799.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[472],{5513:e=>{e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"MDX Blog Post","permalink":"/blog/mdx-blog-post","unlisted":false,"date":"2021-08-01T00:00:00.000Z"},{"title":"Long Blog Post","permalink":"/blog/long-blog-post","unlisted":false,"date":"2019-05-29T00:00:00.000Z"},{"title":"First Blog Post","permalink":"/blog/first-blog-post","unlisted":false,"date":"2019-05-28T00:00:00.000Z"}]}')}}]);
\ No newline at end of file
diff --git a/assets/js/8717b14a.687499a1.js b/assets/js/8717b14a.687499a1.js
new file mode 100644
index 0000000..7370ec4
--- /dev/null
+++ b/assets/js/8717b14a.687499a1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[694],{6595:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>i,contentTitle:()=>a,default:()=>g,frontMatter:()=>r,metadata:()=>n,toc:()=>u});var n=o(5802),s=o(216),l=o(2737);const r={slug:"long-blog-post",title:"Long Blog Post",authors:"yangshun",tags:["hello","docusaurus"]},a=void 0,i={authorsImageUrls:[void 0]},u=[];function c(t){const e={code:"code",p:"p",...(0,l.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"This is the summary of a very long blog post,"}),"\n",(0,s.jsxs)(e.p,{children:["Use a ",(0,s.jsx)(e.code,{children:"\x3c!--"})," ",(0,s.jsx)(e.code,{children:"truncate"})," ",(0,s.jsx)(e.code,{children:"--\x3e"})," comment to limit blog post size in the list view."]})]})}function g(t={}){const{wrapper:e}={...(0,l.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},2737:(t,e,o)=>{o.d(e,{R:()=>r,x:()=>a});var n=o(6372);const s={},l=n.createContext(s);function r(t){const e=n.useContext(l);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:r(t.components),n.createElement(l.Provider,{value:e},t.children)}},5802:t=>{t.exports=JSON.parse('{"permalink":"/blog/long-blog-post","source":"@site/blog/2019-05-29-long-blog-post.md","title":"Long Blog Post","description":"This is the summary of a very long blog post,","date":"2019-05-29T00:00:00.000Z","tags":[{"inline":false,"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":2.06,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","github":"https://github.com/yangshun"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"long-blog-post","title":"Long Blog Post","authors":"yangshun","tags":["hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"MDX Blog Post","permalink":"/blog/mdx-blog-post"},"nextItem":{"title":"First Blog Post","permalink":"/blog/first-blog-post"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/925b3f96.ffd88311.js b/assets/js/925b3f96.ffd88311.js
new file mode 100644
index 0000000..01dc4b8
--- /dev/null
+++ b/assets/js/925b3f96.ffd88311.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[609],{4542:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>g,frontMatter:()=>a,metadata:()=>o,toc:()=>u});var o=s(2421),n=s(216),r=s(2737);const a={slug:"first-blog-post",title:"First Blog Post",authors:["slorber","yangshun"],tags:["hola","docusaurus"]},i=void 0,l={authorsImageUrls:[void 0,void 0]},u=[];function c(t){const e={p:"p",...(0,r.R)(),...t.components};return(0,n.jsx)(e.p,{children:"Lorem ipsum dolor sit amet..."})}function g(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(c,{...t})}):c(t)}},2737:(t,e,s)=>{s.d(e,{R:()=>a,x:()=>i});var o=s(6372);const n={},r=o.createContext(n);function a(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:a(t.components),o.createElement(r.Provider,{value:e},t.children)}},2421:t=>{t.exports=JSON.parse('{"permalink":"/blog/first-blog-post","source":"@site/blog/2019-05-28-first-blog-post.md","title":"First Blog Post","description":"Lorem ipsum dolor sit amet...","date":"2019-05-28T00:00:00.000Z","tags":[{"inline":false,"label":"Hola","permalink":"/blog/tags/hola","description":"Hola tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.135,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","github":"https://github.com/yangshun"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"first-blog-post","title":"First Blog Post","authors":["slorber","yangshun"],"tags":["hola","docusaurus"]},"unlisted":false,"prevItem":{"title":"Long Blog Post","permalink":"/blog/long-blog-post"}}')}}]);
\ No newline at end of file
diff --git a/assets/js/987.70918890.js b/assets/js/987.70918890.js
new file mode 100644
index 0000000..573bef9
--- /dev/null
+++ b/assets/js/987.70918890.js
@@ -0,0 +1 @@
+(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[987],{2447:(e,t,n)=>{"use strict";n.d(t,{A:()=>U});var s=n(6372),o=n(216);function c(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),c=t.filter((e=>e!==n)),a=n?.props.children;return{mdxAdmonitionTitle:a,rest:c.length>0?(0,o.jsx)(o.Fragment,{children:c}):null}}(e.children),c=e.title??t;return{...e,...c&&{title:c},children:n}}var a=n(3394),r=n(9517),i=n(9657);const l="admonition_dqL5",d="admonitionHeading_EtZU",u="admonitionIcon_Iznr",m="admonitionContent_JkkO";function h(e){let{type:t,className:n,children:s}=e;return(0,o.jsx)("div",{className:(0,a.A)(i.G.common.admonition,i.G.common.admonitionType(t),l,n),children:s})}function p(e){let{icon:t,title:n}=e;return(0,o.jsxs)("div",{className:d,children:[(0,o.jsx)("span",{className:u,children:t}),n]})}function f(e){let{children:t}=e;return t?(0,o.jsx)("div",{className:m,children:t}):null}function x(e){const{type:t,icon:n,title:s,children:c,className:a}=e;return(0,o.jsxs)(h,{type:t,className:a,children:[s||n?(0,o.jsx)(p,{title:s,icon:n}):null,(0,o.jsx)(f,{children:c})]})}function j(e){return(0,o.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const g={icon:(0,o.jsx)(j,{}),title:(0,o.jsx)(r.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function b(e){return(0,o.jsx)(x,{...g,...e,className:(0,a.A)("alert alert--secondary",e.className),children:e.children})}function v(e){return(0,o.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const y={icon:(0,o.jsx)(v,{}),title:(0,o.jsx)(r.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function N(e){return(0,o.jsx)(x,{...y,...e,className:(0,a.A)("alert alert--success",e.className),children:e.children})}function A(e){return(0,o.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const k={icon:(0,o.jsx)(A,{}),title:(0,o.jsx)(r.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function B(e){return(0,o.jsx)(x,{...k,...e,className:(0,a.A)("alert alert--info",e.className),children:e.children})}function w(e){return(0,o.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const C={icon:(0,o.jsx)(w,{}),title:(0,o.jsx)(r.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function E(e){return(0,o.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const T={icon:(0,o.jsx)(E,{}),title:(0,o.jsx)(r.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const L={icon:(0,o.jsx)(w,{}),title:(0,o.jsx)(r.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const _={...{note:b,tip:N,info:B,warning:function(e){return(0,o.jsx)(x,{...C,...e,className:(0,a.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,o.jsx)(x,{...T,...e,className:(0,a.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,o.jsx)(b,{title:"secondary",...e}),important:e=>(0,o.jsx)(B,{title:"important",...e}),success:e=>(0,o.jsx)(N,{title:"success",...e}),caution:function(e){return(0,o.jsx)(x,{...L,...e,className:(0,a.A)("alert alert--warning",e.className),children:e.children})}}};function U(e){const t=c(e),n=(s=t.type,_[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),_.info));var s;return(0,o.jsx)(n,{...t})}},3149:(e,t,n)=>{"use strict";n.d(t,{A:()=>x});n(6372);var s=n(3394),o=n(9517),c=n(9657),a=n(4079);const r={iconEdit:"iconEdit__pEu"};var i=n(216);function l(e){let{className:t,...n}=e;return(0,i.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.A)(r.iconEdit,t),"aria-hidden":"true",...n,children:(0,i.jsx)("g",{children:(0,i.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,i.jsxs)(a.A,{to:t,className:c.G.common.editThisPage,children:[(0,i.jsx)(l,{}),(0,i.jsx)(o.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var u=n(4504);function m(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=(0,u.i)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,i.jsx)(o.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,i.jsx)("b",{children:(0,i.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,i.jsx)(o.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,i.jsx)("b",{children:t})},children:" by {user}"})}function p(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,i.jsxs)("span",{className:c.G.common.lastUpdated,children:[(0,i.jsx)(o.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,i.jsx)(m,{lastUpdatedAt:t}):"",byUser:n?(0,i.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const f={lastUpdated:"lastUpdated_XdRs"};function x(e){let{className:t,editUrl:n,lastUpdatedAt:o,lastUpdatedBy:c}=e;return(0,i.jsxs)("div",{className:(0,s.A)("row",t),children:[(0,i.jsx)("div",{className:"col",children:n&&(0,i.jsx)(d,{editUrl:n})}),(0,i.jsx)("div",{className:(0,s.A)("col",f.lastUpdated),children:(o||c)&&(0,i.jsx)(p,{lastUpdatedAt:o,lastUpdatedBy:c})})]})}},9231:(e,t,n)=>{"use strict";n.d(t,{A:()=>me});var s=n(6372),o=n(2737),c=n(2869),a=n(7382),r=n(3394),i=n(3967),l=n(7584);function d(){const{prism:e}=(0,l.p)(),{colorMode:t}=(0,i.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var u=n(9657),m=n(4809),h=n.n(m);const p=/title=(?["'])(?Codestin Search App
+
+
+
+
+
+