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/pr-preview/pr-33/assets/css/styles.182ff793.css b/pr-preview/pr-33/assets/css/styles.182ff793.css
new file mode 100644
index 0000000..94bea9f
--- /dev/null
+++ b/pr-preview/pr-33/assets/css/styles.182ff793.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_gllP,html{-webkit-tap-highlight-color:transparent}.clean-list,.containsTaskList_mC6p,.details_lb9f>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:#3c8f49;--ifm-color-primary-dark:#348742;--ifm-color-primary-darker:#227935;--ifm-color-primary-darkest:#0c6a27;--ifm-color-primary-light:#449750;--ifm-color-primary-lighter:#54a65e;--ifm-color-primary-lightest:#63b66c;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.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{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;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);text-rendering:optimizelegibility}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_NmtK,.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]){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_EoeP .wordWrapButtonIcon_Bwma{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_Gvgb,.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);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)}.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);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_Tfdd: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)}.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);text-decoration:none}.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_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_BuS1>:last-child,.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_MEMb,[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{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_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>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);text-decoration:none}.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);text-decoration:none}.announcementBarContent_xLdY,.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);text-decoration:none}.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{-webkit-appearance:none;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:.9rem;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__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;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);text-decoration:none}.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,.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_mC6p>li)>.containsTaskList_mC6p{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:#54c164;--ifm-color-primary-dark:#4bb95d;--ifm-color-primary-darker:#39a94e;--ifm-color-primary-darkest:#259a40;--ifm-color-primary-light:#5cc96b;--ifm-color-primary-lighter:#6dd97a;--ifm-color-primary-lightest:#7eea89;--docusaurus-highlighted-code-line-bg:#0000004d}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.skipToContent_fXgn{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_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit;text-decoration:underline}.announcementBar_mb4j{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)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.dropdownNavbarItemMobile_S0Fm{cursor:pointer}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}@supports selector(:has(*)){.navbarSearchContainer_Bca1:not(:has(>*)){display:none}}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{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_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH 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}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P: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_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{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_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx 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__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx 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_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{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_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>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_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--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_ev3q{height:auto}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Rf37 svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.heroBanner_c70D{background-color:#fff;color:#242526;overflow:hidden;padding:4rem 0;position:relative;text-align:center}[data-theme=dark] .heroBanner_c70D{background-color:#1b1b1d;color:#fff}.buttons_lHLg{gap:1rem;justify-content:center}.buttons_lHLg,.features_t9lD{align-items:center;display:flex}.features_t9lD{padding:2rem 0;width:100%}.featureSvg_GfXr{height:200px;width:200px}.tableOfContentsInline_prmo ul{font-size:medium;list-style-type:disc;padding-top:0}.backToTopButton_sjWU{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_sjWU: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_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.docSidebarContainer_YfHR,.sidebarLogo_isFc{display:none}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{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);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{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_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);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_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!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_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.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_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media screen and (max-width:996px){.heroBanner_c70D{padding:2rem}}@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}}@media (hover:hover){.backToTopButton_sjWU: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_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}}
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/images/10_example_icos_1-dfd756f376bb5d10243c21305079e9a0.png b/pr-preview/pr-33/assets/images/10_example_icos_1-dfd756f376bb5d10243c21305079e9a0.png
new file mode 100644
index 0000000..dc507ca
Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_1-dfd756f376bb5d10243c21305079e9a0.png differ
diff --git a/pr-preview/pr-33/assets/images/10_example_icos_2-92faa23841aab2cf015ebb7e45592c0a.png b/pr-preview/pr-33/assets/images/10_example_icos_2-92faa23841aab2cf015ebb7e45592c0a.png
new file mode 100644
index 0000000..c144487
Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_2-92faa23841aab2cf015ebb7e45592c0a.png differ
diff --git a/pr-preview/pr-33/assets/images/10_example_icos_3-3ca2107fcfce9f518e07e37a11f02cbc.png b/pr-preview/pr-33/assets/images/10_example_icos_3-3ca2107fcfce9f518e07e37a11f02cbc.png
new file mode 100644
index 0000000..0a14c4e
Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_3-3ca2107fcfce9f518e07e37a11f02cbc.png differ
diff --git a/pr-preview/pr-33/assets/images/10_example_icos_4-9a167161c4a417bd3830c5016235defe.png b/pr-preview/pr-33/assets/images/10_example_icos_4-9a167161c4a417bd3830c5016235defe.png
new file mode 100644
index 0000000..3942827
Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_4-9a167161c4a417bd3830c5016235defe.png differ
diff --git a/pr-preview/pr-33/assets/images/10_example_icos_5-f68f4cf4630c8121e18c4668712de35b.png b/pr-preview/pr-33/assets/images/10_example_icos_5-f68f4cf4630c8121e18c4668712de35b.png
new file mode 100644
index 0000000..60b3689
Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_5-f68f4cf4630c8121e18c4668712de35b.png differ
diff --git a/pr-preview/pr-33/assets/images/10_example_icos_6-56f55278365a743200e329065ed13ab9.png b/pr-preview/pr-33/assets/images/10_example_icos_6-56f55278365a743200e329065ed13ab9.png
new file mode 100644
index 0000000..e8b6a2a
Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_6-56f55278365a743200e329065ed13ab9.png differ
diff --git a/pr-preview/pr-33/assets/images/10_example_icos_7-d1fe9d5169e4477b7ea5134ccd8523a7.png b/pr-preview/pr-33/assets/images/10_example_icos_7-d1fe9d5169e4477b7ea5134ccd8523a7.png
new file mode 100644
index 0000000..59c8195
Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_7-d1fe9d5169e4477b7ea5134ccd8523a7.png differ
diff --git a/pr-preview/pr-33/assets/images/1_starting_point-1b110d23ba5b4ff9058c445d475aa549.png b/pr-preview/pr-33/assets/images/1_starting_point-1b110d23ba5b4ff9058c445d475aa549.png
new file mode 100644
index 0000000..c6ca93f
Binary files /dev/null and b/pr-preview/pr-33/assets/images/1_starting_point-1b110d23ba5b4ff9058c445d475aa549.png differ
diff --git a/pr-preview/pr-33/assets/images/2_signin_1-17934bc19db36bfefa4da380ca635a21.png b/pr-preview/pr-33/assets/images/2_signin_1-17934bc19db36bfefa4da380ca635a21.png
new file mode 100644
index 0000000..ac5c8db
Binary files /dev/null and b/pr-preview/pr-33/assets/images/2_signin_1-17934bc19db36bfefa4da380ca635a21.png differ
diff --git a/pr-preview/pr-33/assets/images/2_signin_2-ebba53247893ccb0fc59cb3152944882.png b/pr-preview/pr-33/assets/images/2_signin_2-ebba53247893ccb0fc59cb3152944882.png
new file mode 100644
index 0000000..b5ddef9
Binary files /dev/null and b/pr-preview/pr-33/assets/images/2_signin_2-ebba53247893ccb0fc59cb3152944882.png differ
diff --git a/pr-preview/pr-33/assets/images/2_signin_3-6ec134e26bc8fb371877820d74c62e8d.png b/pr-preview/pr-33/assets/images/2_signin_3-6ec134e26bc8fb371877820d74c62e8d.png
new file mode 100644
index 0000000..7b30e9d
Binary files /dev/null and b/pr-preview/pr-33/assets/images/2_signin_3-6ec134e26bc8fb371877820d74c62e8d.png differ
diff --git a/pr-preview/pr-33/assets/images/3_pick_vre_1-9df30abd2081134175b86a445fe0829e.png b/pr-preview/pr-33/assets/images/3_pick_vre_1-9df30abd2081134175b86a445fe0829e.png
new file mode 100644
index 0000000..4ffeb0e
Binary files /dev/null and b/pr-preview/pr-33/assets/images/3_pick_vre_1-9df30abd2081134175b86a445fe0829e.png differ
diff --git a/pr-preview/pr-33/assets/images/3_pick_vre_2-6a2be3dd99dffeb5b3db14690688c841.png b/pr-preview/pr-33/assets/images/3_pick_vre_2-6a2be3dd99dffeb5b3db14690688c841.png
new file mode 100644
index 0000000..8a41e89
Binary files /dev/null and b/pr-preview/pr-33/assets/images/3_pick_vre_2-6a2be3dd99dffeb5b3db14690688c841.png differ
diff --git a/pr-preview/pr-33/assets/images/4_start_vre_1-fa90be6957ed13821a0de360075e6dba.png b/pr-preview/pr-33/assets/images/4_start_vre_1-fa90be6957ed13821a0de360075e6dba.png
new file mode 100644
index 0000000..6430d52
Binary files /dev/null and b/pr-preview/pr-33/assets/images/4_start_vre_1-fa90be6957ed13821a0de360075e6dba.png differ
diff --git a/pr-preview/pr-33/assets/images/4_start_vre_2-860c5476324f633dcf4100a873912e68.png b/pr-preview/pr-33/assets/images/4_start_vre_2-860c5476324f633dcf4100a873912e68.png
new file mode 100644
index 0000000..4947418
Binary files /dev/null and b/pr-preview/pr-33/assets/images/4_start_vre_2-860c5476324f633dcf4100a873912e68.png differ
diff --git a/pr-preview/pr-33/assets/images/5_naavre_interface-441fe6fcba0c3cac6eb3a9294e33d740.png b/pr-preview/pr-33/assets/images/5_naavre_interface-441fe6fcba0c3cac6eb3a9294e33d740.png
new file mode 100644
index 0000000..279f363
Binary files /dev/null and b/pr-preview/pr-33/assets/images/5_naavre_interface-441fe6fcba0c3cac6eb3a9294e33d740.png differ
diff --git a/pr-preview/pr-33/assets/images/6_create_notebook_1-a664a6b8752037a1526d70af3b472608.png b/pr-preview/pr-33/assets/images/6_create_notebook_1-a664a6b8752037a1526d70af3b472608.png
new file mode 100644
index 0000000..914f044
Binary files /dev/null and b/pr-preview/pr-33/assets/images/6_create_notebook_1-a664a6b8752037a1526d70af3b472608.png differ
diff --git a/pr-preview/pr-33/assets/images/6_create_notebook_3-d72aa74930792849072e0f58f8baaa94.png b/pr-preview/pr-33/assets/images/6_create_notebook_3-d72aa74930792849072e0f58f8baaa94.png
new file mode 100644
index 0000000..ae2ef5f
Binary files /dev/null and b/pr-preview/pr-33/assets/images/6_create_notebook_3-d72aa74930792849072e0f58f8baaa94.png differ
diff --git a/pr-preview/pr-33/assets/images/7_containerize_1-bd16d7f6c8b37901799803b31d8f43d8.png b/pr-preview/pr-33/assets/images/7_containerize_1-bd16d7f6c8b37901799803b31d8f43d8.png
new file mode 100644
index 0000000..040dcae
Binary files /dev/null and b/pr-preview/pr-33/assets/images/7_containerize_1-bd16d7f6c8b37901799803b31d8f43d8.png differ
diff --git a/pr-preview/pr-33/assets/images/7_containerize_2-474fcecd41fba6dfe2bb8a0c0c609655.png b/pr-preview/pr-33/assets/images/7_containerize_2-474fcecd41fba6dfe2bb8a0c0c609655.png
new file mode 100644
index 0000000..611d2f1
Binary files /dev/null and b/pr-preview/pr-33/assets/images/7_containerize_2-474fcecd41fba6dfe2bb8a0c0c609655.png differ
diff --git a/pr-preview/pr-33/assets/images/7_containerize_3-98601ebf55684e1981bdbcd166fce713.png b/pr-preview/pr-33/assets/images/7_containerize_3-98601ebf55684e1981bdbcd166fce713.png
new file mode 100644
index 0000000..317ac83
Binary files /dev/null and b/pr-preview/pr-33/assets/images/7_containerize_3-98601ebf55684e1981bdbcd166fce713.png differ
diff --git a/pr-preview/pr-33/assets/images/7_containerize_4-7ea22f6fe34fb97eca2a1774cfded046.png b/pr-preview/pr-33/assets/images/7_containerize_4-7ea22f6fe34fb97eca2a1774cfded046.png
new file mode 100644
index 0000000..c5fce14
Binary files /dev/null and b/pr-preview/pr-33/assets/images/7_containerize_4-7ea22f6fe34fb97eca2a1774cfded046.png differ
diff --git a/pr-preview/pr-33/assets/images/7_containerize_5-bc28ba8919cf261c65bf0dcde6124f4b.png b/pr-preview/pr-33/assets/images/7_containerize_5-bc28ba8919cf261c65bf0dcde6124f4b.png
new file mode 100644
index 0000000..e681707
Binary files /dev/null and b/pr-preview/pr-33/assets/images/7_containerize_5-bc28ba8919cf261c65bf0dcde6124f4b.png differ
diff --git a/pr-preview/pr-33/assets/images/7_containerize_6-1aa99944ddebc8b3184fae6f6846c343.png b/pr-preview/pr-33/assets/images/7_containerize_6-1aa99944ddebc8b3184fae6f6846c343.png
new file mode 100644
index 0000000..6ff914e
Binary files /dev/null and b/pr-preview/pr-33/assets/images/7_containerize_6-1aa99944ddebc8b3184fae6f6846c343.png differ
diff --git a/pr-preview/pr-33/assets/images/8_workflow_1-82f1c05dbde9ed77051bc60e19147d7a.png b/pr-preview/pr-33/assets/images/8_workflow_1-82f1c05dbde9ed77051bc60e19147d7a.png
new file mode 100644
index 0000000..ea31662
Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_1-82f1c05dbde9ed77051bc60e19147d7a.png differ
diff --git a/pr-preview/pr-33/assets/images/8_workflow_2-ad01915453712124333b1d29f020e6da.png b/pr-preview/pr-33/assets/images/8_workflow_2-ad01915453712124333b1d29f020e6da.png
new file mode 100644
index 0000000..39a9ea8
Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_2-ad01915453712124333b1d29f020e6da.png differ
diff --git a/pr-preview/pr-33/assets/images/8_workflow_3-63858b38db719a237f033958ed1c502a.png b/pr-preview/pr-33/assets/images/8_workflow_3-63858b38db719a237f033958ed1c502a.png
new file mode 100644
index 0000000..8de2c51
Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_3-63858b38db719a237f033958ed1c502a.png differ
diff --git a/pr-preview/pr-33/assets/images/8_workflow_4-2ab00df5660a327b2cacee40b87f5e2c.png b/pr-preview/pr-33/assets/images/8_workflow_4-2ab00df5660a327b2cacee40b87f5e2c.png
new file mode 100644
index 0000000..40b792d
Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_4-2ab00df5660a327b2cacee40b87f5e2c.png differ
diff --git a/pr-preview/pr-33/assets/images/8_workflow_5-63ceed268a7e397dcfbc280ce762f8d2.png b/pr-preview/pr-33/assets/images/8_workflow_5-63ceed268a7e397dcfbc280ce762f8d2.png
new file mode 100644
index 0000000..c8c9926
Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_5-63ceed268a7e397dcfbc280ce762f8d2.png differ
diff --git a/pr-preview/pr-33/assets/images/8_workflow_6-f952bb9e4996148268200a64e6f48667.png b/pr-preview/pr-33/assets/images/8_workflow_6-f952bb9e4996148268200a64e6f48667.png
new file mode 100644
index 0000000..6c9147d
Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_6-f952bb9e4996148268200a64e6f48667.png differ
diff --git a/pr-preview/pr-33/assets/images/8_workflow_7-1a5130804476bb0b7fe41aca3eb450a1.png b/pr-preview/pr-33/assets/images/8_workflow_7-1a5130804476bb0b7fe41aca3eb450a1.png
new file mode 100644
index 0000000..fad47ea
Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_7-1a5130804476bb0b7fe41aca3eb450a1.png differ
diff --git a/pr-preview/pr-33/assets/images/8_workflow_8-90737f51cc92f99f8de181955ae7f2d5.png b/pr-preview/pr-33/assets/images/8_workflow_8-90737f51cc92f99f8de181955ae7f2d5.png
new file mode 100644
index 0000000..17c0b20
Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_8-90737f51cc92f99f8de181955ae7f2d5.png differ
diff --git a/pr-preview/pr-33/assets/images/8_workflow_9-0766f26eff5f67192e624d842261d351.png b/pr-preview/pr-33/assets/images/8_workflow_9-0766f26eff5f67192e624d842261d351.png
new file mode 100644
index 0000000..1b99ef2
Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_9-0766f26eff5f67192e624d842261d351.png differ
diff --git a/pr-preview/pr-33/assets/images/9_argo_1-d4408b9bb320806c8a666c2c2b009e17.png b/pr-preview/pr-33/assets/images/9_argo_1-d4408b9bb320806c8a666c2c2b009e17.png
new file mode 100644
index 0000000..e2ca3ec
Binary files /dev/null and b/pr-preview/pr-33/assets/images/9_argo_1-d4408b9bb320806c8a666c2c2b009e17.png differ
diff --git a/pr-preview/pr-33/assets/images/NaaVRE_development_cycle.drawio-59df28395fc82e2a20828d19ed19c9bf.png b/pr-preview/pr-33/assets/images/NaaVRE_development_cycle.drawio-59df28395fc82e2a20828d19ed19c9bf.png
new file mode 100644
index 0000000..61efee6
Binary files /dev/null and b/pr-preview/pr-33/assets/images/NaaVRE_development_cycle.drawio-59df28395fc82e2a20828d19ed19c9bf.png differ
diff --git a/pr-preview/pr-33/assets/images/RAVRE_overview_image.drawio-7ac7d3ef8815412e82d21dcfd1ce9303.png b/pr-preview/pr-33/assets/images/RAVRE_overview_image.drawio-7ac7d3ef8815412e82d21dcfd1ce9303.png
new file mode 100644
index 0000000..cec173a
Binary files /dev/null and b/pr-preview/pr-33/assets/images/RAVRE_overview_image.drawio-7ac7d3ef8815412e82d21dcfd1ce9303.png differ
diff --git a/pr-preview/pr-33/assets/images/RAVRE_sequence_diagram.drawio-4a34b6ca8e0a8d5e143d1bdeae4eea6a.png b/pr-preview/pr-33/assets/images/RAVRE_sequence_diagram.drawio-4a34b6ca8e0a8d5e143d1bdeae4eea6a.png
new file mode 100644
index 0000000..d293cbc
Binary files /dev/null and b/pr-preview/pr-33/assets/images/RAVRE_sequence_diagram.drawio-4a34b6ca8e0a8d5e143d1bdeae4eea6a.png differ
diff --git a/pr-preview/pr-33/assets/images/Timeline.drawio-827411ef3e2aaf388dbccfa0a2894c7d.png b/pr-preview/pr-33/assets/images/Timeline.drawio-827411ef3e2aaf388dbccfa0a2894c7d.png
new file mode 100644
index 0000000..35e78a1
Binary files /dev/null and b/pr-preview/pr-33/assets/images/Timeline.drawio-827411ef3e2aaf388dbccfa0a2894c7d.png differ
diff --git a/pr-preview/pr-33/assets/images/cells_catalog_1-a51b936375c6df189c4274dd3bd1dc1e.png b/pr-preview/pr-33/assets/images/cells_catalog_1-a51b936375c6df189c4274dd3bd1dc1e.png
new file mode 100644
index 0000000..44e6c97
Binary files /dev/null and b/pr-preview/pr-33/assets/images/cells_catalog_1-a51b936375c6df189c4274dd3bd1dc1e.png differ
diff --git a/pr-preview/pr-33/assets/images/component_containerizer_1-89c4b8403bcbe4f53cd7462fa2359bc8.png b/pr-preview/pr-33/assets/images/component_containerizer_1-89c4b8403bcbe4f53cd7462fa2359bc8.png
new file mode 100644
index 0000000..f798b1c
Binary files /dev/null and b/pr-preview/pr-33/assets/images/component_containerizer_1-89c4b8403bcbe4f53cd7462fa2359bc8.png differ
diff --git a/pr-preview/pr-33/assets/images/component_containerizer_conf_1-9ce69c703a7b780adbfb968e37a56d77.png b/pr-preview/pr-33/assets/images/component_containerizer_conf_1-9ce69c703a7b780adbfb968e37a56d77.png
new file mode 100644
index 0000000..4f456c4
Binary files /dev/null and b/pr-preview/pr-33/assets/images/component_containerizer_conf_1-9ce69c703a7b780adbfb968e37a56d77.png differ
diff --git a/pr-preview/pr-33/assets/images/component_containerizer_secrets-fa5034d13a114e33e66e16e35e087b8c.png b/pr-preview/pr-33/assets/images/component_containerizer_secrets-fa5034d13a114e33e66e16e35e087b8c.png
new file mode 100644
index 0000000..735aad7
Binary files /dev/null and b/pr-preview/pr-33/assets/images/component_containerizer_secrets-fa5034d13a114e33e66e16e35e087b8c.png differ
diff --git a/pr-preview/pr-33/assets/images/experimenter_manager_7-763d9157a11a2992221f6d75ea44ceb6.png b/pr-preview/pr-33/assets/images/experimenter_manager_7-763d9157a11a2992221f6d75ea44ceb6.png
new file mode 100644
index 0000000..2839b16
Binary files /dev/null and b/pr-preview/pr-33/assets/images/experimenter_manager_7-763d9157a11a2992221f6d75ea44ceb6.png differ
diff --git a/pr-preview/pr-33/assets/images/n-a-a-vre_interface_1-441fe6fcba0c3cac6eb3a9294e33d740.png b/pr-preview/pr-33/assets/images/n-a-a-vre_interface_1-441fe6fcba0c3cac6eb3a9294e33d740.png
new file mode 100644
index 0000000..279f363
Binary files /dev/null and b/pr-preview/pr-33/assets/images/n-a-a-vre_interface_1-441fe6fcba0c3cac6eb3a9294e33d740.png differ
diff --git a/pr-preview/pr-33/assets/images/notebook_search_1-681830ef694b98c4459e6b81f371a063.png b/pr-preview/pr-33/assets/images/notebook_search_1-681830ef694b98c4459e6b81f371a063.png
new file mode 100644
index 0000000..beee8bd
Binary files /dev/null and b/pr-preview/pr-33/assets/images/notebook_search_1-681830ef694b98c4459e6b81f371a063.png differ
diff --git a/pr-preview/pr-33/assets/images/notebook_search_2-b9fcd1a2f6ebc23b30bea2223be70f89.png b/pr-preview/pr-33/assets/images/notebook_search_2-b9fcd1a2f6ebc23b30bea2223be70f89.png
new file mode 100644
index 0000000..497252c
Binary files /dev/null and b/pr-preview/pr-33/assets/images/notebook_search_2-b9fcd1a2f6ebc23b30bea2223be70f89.png differ
diff --git a/pr-preview/pr-33/assets/images/notebook_search_3-287346427ffbd78c94acb5548293c412.png b/pr-preview/pr-33/assets/images/notebook_search_3-287346427ffbd78c94acb5548293c412.png
new file mode 100644
index 0000000..4377059
Binary files /dev/null and b/pr-preview/pr-33/assets/images/notebook_search_3-287346427ffbd78c94acb5548293c412.png differ
diff --git a/pr-preview/pr-33/assets/images/types_detector_R_1-b19f7fe3fdaa02457287720d910dae87.png b/pr-preview/pr-33/assets/images/types_detector_R_1-b19f7fe3fdaa02457287720d910dae87.png
new file mode 100644
index 0000000..0a35016
Binary files /dev/null and b/pr-preview/pr-33/assets/images/types_detector_R_1-b19f7fe3fdaa02457287720d910dae87.png differ
diff --git a/pr-preview/pr-33/assets/images/types_detector_R_2-523f954a8bea3823c70d8193ab767a42.png b/pr-preview/pr-33/assets/images/types_detector_R_2-523f954a8bea3823c70d8193ab767a42.png
new file mode 100644
index 0000000..e06975f
Binary files /dev/null and b/pr-preview/pr-33/assets/images/types_detector_R_2-523f954a8bea3823c70d8193ab767a42.png differ
diff --git a/pr-preview/pr-33/assets/js/11047fcd.99060a74.js b/pr-preview/pr-33/assets/js/11047fcd.99060a74.js
new file mode 100644
index 0000000..c106308
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/11047fcd.99060a74.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[708],{7666:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>u,contentTitle:()=>a,default:()=>h,frontMatter:()=>n,metadata:()=>l,toc:()=>p});var o=t(5893),i=t(1151),s=t(2457);const n={sidebar_position:1,title:"Core developer"},a=void 0,l={id:"readiness_levels/Virtual_lab_roles/Core_developer",title:"Core developer",description:"Core developers create the content of the new virtual lab, being steered by the golden users.",source:"@site/docs/readiness_levels/Virtual_lab_roles/Core_developer.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Core_developer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Core_developer.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Core developer"},sidebar:"tutorialSidebar",previous:{title:"Virtual lab coordinator",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator"},next:{title:"Virtual research environment development and operations (VRE DevOps) engineer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps"}},u={},p=[];function d(e){const r={li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return s||c("Responsibilities",!1),s.L1CoreDeveloper||c("Responsibilities.L1CoreDeveloper",!0),s.L2CoreDeveloper||c("Responsibilities.L2CoreDeveloper",!0),s.L3CoreDeveloper||c("Responsibilities.L3CoreDeveloper",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.p,{children:"Core developers create the content of the new virtual lab, being steered by the golden users."}),"\n",(0,o.jsx)(r.p,{children:"The core developers have the following responsibilities per level:"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsxs)(r.li,{children:["L1: ",(0,o.jsx)(s.L1CoreDeveloper,{})]}),"\n",(0,o.jsxs)(r.li,{children:["L2: ",(0,o.jsx)(s.L2CoreDeveloper,{})]}),"\n",(0,o.jsxs)(r.li,{children:["L3&4: ",(0,o.jsx)(s.L3CoreDeveloper,{})]}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,i.a)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}function c(e,r){throw new Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,r,t)=>{t.r(r),t.d(r,{L0CommunitySupporter:()=>o,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>i,L1Coordinator:()=>v,L1CoreDeveloper:()=>w,L1DevOps:()=>L,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>D,L1Reviewer:()=>k,L2CommunitySupporter:()=>s,L2Coordinator:()=>b,L2CoreDeveloper:()=>y,L2DevOps:()=>C,L2GoldenUser:()=>p,L2InfrastructureSupporter:()=>S,L2Trainer:()=>R,L2VREResearcher:()=>P,L3CommunitySupporter:()=>n,L3Coordinator:()=>m,L3CoreDeveloper:()=>_,L3GoldenUser:()=>d,L3InfrastructureSupporter:()=>V,L3SteeringBoard:()=>U,L3Trainer:()=>j,L3UserSupporter:()=>I,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>x,L4GoldenUser:()=>h,L4InfrastructureSupporter:()=>E,L4SteeringBoard:()=>G,L4UserSupporter:()=>T});const o=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",i=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",s=()=>"Finds potential silver users to take part in the trainings in the next phase.",n=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",p=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",d=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",h=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",b=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",m=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",C=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",w=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",_=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",D=()=>"Advises and provides the infrastructure for the virtual lab.",S=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",V=()=>"Ensures the infrastructure can support the training sessions.",E=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",R=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",j=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",P=()=>"Potentially publishes a technical paper in addition to the domain paper.",U=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",G=()=>"Coordinates the further development of the virtual lab with a scientific vision.",I=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",T=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,r,t)=>{t.d(r,{Z:()=>a,a:()=>n});var o=t(7294);const i={},s=o.createContext(i);function n(e){const r=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),o.createElement(s.Provider,{value:r},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/17896441.9c3e9041.js b/pr-preview/pr-33/assets/js/17896441.9c3e9041.js
new file mode 100644
index 0000000..c586058
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/17896441.9c3e9041.js
@@ -0,0 +1 @@
+(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[918],{2730:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>Mt});var s=n(7294),a=n(1944),o=n(902),i=n(5893);const l=s.createContext(null);function c(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,i.jsx)(l.Provider,{value:a,children:t})}function r(){const e=(0,s.useContext)(l);if(null===e)throw new o.i6("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=r();return(0,i.jsx)(a.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(512),m=n(7524),h=n(5999),p=n(9960);function f(e){const{permalink:t,title:n,subLabel:s,isNext:a}=e;return(0,i.jsxs)(p.Z,{className:(0,u.Z)("pagination-nav__link",a?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[s&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}function x(e){const{previous:t,next:n}=e;return(0,i.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,h.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,i.jsx)(f,{...t,subLabel:(0,i.jsx)(h.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,i.jsx)(f,{...n,subLabel:(0,i.jsx)(h.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function b(){const{metadata:e}=r();return(0,i.jsx)(x,{previous:e.previous,next:e.next})}var g=n(2263),j=n(143),v=n(5281),N=n(373),C=n(4477);const k={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,i.jsx)(h.Z,{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,i.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,i.jsx)(h.Z,{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,i.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function L(e){const t=k[e.versionMetadata.banner];return(0,i.jsx)(t,{...e})}function y(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,i.jsx)(h.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,i.jsx)("b",{children:(0,i.jsx)(p.Z,{to:n,onClick:s,children:(0,i.jsx)(h.Z,{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 _(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:s}}=(0,g.Z)(),{pluginId:a}=(0,j.gA)({failfast:!0}),{savePreferredVersionName:o}=(0,N.J)(a),{latestDocSuggestion:l,latestVersionSuggestion:c}=(0,j.Jo)(a),r=l??(d=c).docs.find((e=>e.id===d.mainDocId));var d;return(0,i.jsxs)("div",{className:(0,u.Z)(t,v.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,i.jsx)("div",{children:(0,i.jsx)(L,{siteTitle:s,versionMetadata:n})}),(0,i.jsx)("div",{className:"margin-top--md",children:(0,i.jsx)(y,{versionLabel:c.label,to:r.path,onClick:()=>o(c.name)})})]})}function w(e){let{className:t}=e;const n=(0,C.E)();return n.banner?(0,i.jsx)(_,{className:t,versionMetadata:n}):null}function B(e){let{className:t}=e;const n=(0,C.E)();return n.badge?(0,i.jsx)("span",{className:(0,u.Z)(t,v.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,i.jsx)(h.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}function Z(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return(0,i.jsx)(h.Z,{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:new Date(1e3*t).toISOString(),children:n})})},children:" on {date}"})}function T(e){let{lastUpdatedBy:t}=e;return(0,i.jsx)(h.Z,{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 E(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:s}=e;return(0,i.jsxs)("span",{className:v.k.common.lastUpdated,children:[(0,i.jsx)(h.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?(0,i.jsx)(Z,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:s?(0,i.jsx)(T,{lastUpdatedBy:s}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const H={iconEdit:"iconEdit_Z9Sw"};function A(e){let{className:t,...n}=e;return(0,i.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,u.Z)(H.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 I(e){let{editUrl:t}=e;return(0,i.jsxs)(p.Z,{to:t,className:v.k.common.editThisPage,children:[(0,i.jsx)(A,{}),(0,i.jsx)(h.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}const M={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function S(e){let{permalink:t,label:n,count:s}=e;return(0,i.jsxs)(p.Z,{href:t,className:(0,u.Z)(M.tag,s?M.tagWithCount:M.tagRegular),children:[n,s&&(0,i.jsx)("span",{children:s})]})}const U={tags:"tags_jXut",tag:"tag_QGVx"};function z(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(h.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,u.Z)(U.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:n}=e;return(0,i.jsx)("li",{className:U.tag,children:(0,i.jsx)(S,{label:t,permalink:n})},n)}))})]})}const V={lastUpdated:"lastUpdated_vwxv"};function R(e){return(0,i.jsx)("div",{className:(0,u.Z)(v.k.docs.docFooterTagsRow,"row margin-bottom--sm"),children:(0,i.jsx)("div",{className:"col",children:(0,i.jsx)(z,{...e})})})}function O(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,formattedLastUpdatedAt:a}=e;return(0,i.jsxs)("div",{className:(0,u.Z)(v.k.docs.docFooterEditMetaRow,"row"),children:[(0,i.jsx)("div",{className:"col",children:t&&(0,i.jsx)(I,{editUrl:t})}),(0,i.jsx)("div",{className:(0,u.Z)("col",V.lastUpdated),children:(n||s)&&(0,i.jsx)(E,{lastUpdatedAt:n,formattedLastUpdatedAt:a,lastUpdatedBy:s})})]})}function P(){const{metadata:e}=r(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:s,lastUpdatedBy:a,tags:o}=e,l=o.length>0,c=!!(t||n||a);return l||c?(0,i.jsxs)("footer",{className:(0,u.Z)(v.k.docs.docFooter,"docusaurus-mt-lg"),children:[l&&(0,i.jsx)(R,{tags:o}),c&&(0,i.jsx)(O,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:a,formattedLastUpdatedAt:s})]}):null}var $=n(6043),D=n(3743);const W={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function F(e){let{collapsed:t,...n}=e;return(0,i.jsx)("button",{type:"button",...n,className:(0,u.Z)("clean-btn",W.tocCollapsibleButton,!t&&W.tocCollapsibleButtonExpanded,n.className),children:(0,i.jsx)(h.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const q={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function G(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:o,toggleCollapsed:l}=(0,$.u)({initialState:!0});return(0,i.jsxs)("div",{className:(0,u.Z)(q.tocCollapsible,!o&&q.tocCollapsibleExpanded,n),children:[(0,i.jsx)(F,{collapsed:o,onClick:l}),(0,i.jsx)($.z,{lazy:!0,className:q.tocCollapsibleContent,collapsed:o,children:(0,i.jsx)(D.Z,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const J={tocMobile:"tocMobile_ITEo"};function Y(){const{toc:e,frontMatter:t}=r();return(0,i.jsx)(G,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.Z)(v.k.docs.docTocMobile,J.tocMobile)})}const Q={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"},X="table-of-contents__link toc-highlight",K="table-of-contents__link--active";function ee(e){let{className:t,...n}=e;return(0,i.jsx)("div",{className:(0,u.Z)(Q.tableOfContents,"thin-scrollbar",t),children:(0,i.jsx)(D.Z,{...n,linkClassName:X,linkActiveClassName:K})})}function te(){const{toc:e,frontMatter:t}=r();return(0,i.jsx)(ee,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:v.k.docs.docTocDesktop})}var ne=n(2503),se=n(1151),ae=n(5742),oe=n(2389),ie=n(2949),le=n(6668);function ce(){const{prism:e}=(0,le.L)(),{colorMode:t}=(0,ie.I)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var re=n(7594),de=n.n(re);const ue=/title=(?["'])(?.*?)\1/,me=/\{(?[\d,-]+)\}/,he={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"},lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""}};function pe(e,t){const n=e.map((e=>{const{start:n,end:s}=he[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function fe(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:o}=t;if(o&&me.test(o)){const e=o.match(me).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=de()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const i=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return pe(["js","jsBlock"],t);case"jsx":case"tsx":return pe(["js","jsBlock","jsx"],t);case"html":return pe(["js","jsBlock","html"],t);case"python":case"py":case"bash":return pe(["bash"],t);case"markdown":case"md":return pe(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return pe(["tex"],t);case"lua":case"haskell":case"sql":return pe(["lua"],t);case"wasm":return pe(["wasm"],t);default:return pe(Object.keys(he).filter((e=>!["lua","wasm","tex","latex","matlab"].includes(e))),t)}}(s,a),l=n.split("\n"),c=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),r=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;hvoid 0!==e));r[t]?c[r[t]].range+=`${h},`:d[t]?c[d[t]].start=h:u[t]&&(c[u[t]].range+=`${c[u[t]].start}-${h-1},`),l.splice(h,1)}n=l.join("\n");const m={};return Object.entries(c).forEach((e=>{let[t,{range:n}]=e;de()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const xe={codeBlockContainer:"codeBlockContainer_Ckt0"};function be(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const o=t[s];o&&"string"==typeof a&&(n[o]=a)})),n}(ce());return(0,i.jsx)(t,{...n,style:s,className:(0,u.Z)(n.className,xe.codeBlockContainer,v.k.common.codeBlock)})}const ge={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function je(e){let{children:t,className:n}=e;return(0,i.jsx)(be,{as:"pre",tabIndex:0,className:(0,u.Z)(ge.codeBlockStandalone,"thin-scrollbar",n),children:(0,i.jsx)("code",{className:ge.codeBlockLines,children:t})})}const ve={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Ne(e,t){const[n,a]=(0,s.useState)(),i=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{i()}),[i]),function(e,t,n){void 0===n&&(n=ve);const a=(0,o.zX)(t),i=(0,o.Ql)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,i),()=>t.disconnect()}),[e,a,i])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),i())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var Ce=n(2573);const ke={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function Le(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const l=a({line:t,className:(0,u.Z)(n,s&&ke.codeLine)}),c=t.map(((e,t)=>(0,i.jsx)("span",{...o({token:e,key:t})},t)));return(0,i.jsxs)("span",{...l,children:[s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:ke.codeLineNumber}),(0,i.jsx)("span",{className:ke.codeLineContent,children:c})]}):c,(0,i.jsx)("br",{})]})}function ye(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function _e(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const we={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function Be(e){let{code:t,className:n}=e;const[a,o]=(0,s.useState)(!1),l=(0,s.useRef)(void 0),c=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const o=document.getSelection(),i=o.rangeCount>0&&o.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let l=!1;try{l=document.execCommand("copy")}catch{}s.remove(),i&&(o.removeAllRanges(),o.addRange(i)),a&&a.focus()}(t),o(!0),l.current=window.setTimeout((()=>{o(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),(0,i.jsx)("button",{type:"button","aria-label":a?(0,h.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,h.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,h.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,u.Z)("clean-btn",n,we.copyButton,a&&we.copyButtonCopied),onClick:c,children:(0,i.jsxs)("span",{className:we.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(ye,{className:we.copyButtonIcon}),(0,i.jsx)(_e,{className:we.copyButtonSuccessIcon})]})})}function Ze(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const Te={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function Ee(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,h.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:n,className:(0,u.Z)("clean-btn",t,s&&Te.wordWrapButtonEnabled),"aria-label":a,title:a,children:(0,i.jsx)(Ze,{className:Te.wordWrapButtonIcon,"aria-hidden":"true"})})}function He(e){let{children:t,className:n="",metastring:a,title:o,showLineNumbers:l,language:c}=e;const{prism:{defaultLanguage:r,magicComments:d}}=(0,le.L)(),m=function(e){return e?.toLowerCase()}(c??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??r),h=ce(),p=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),o=(0,s.useRef)(null),i=(0,s.useCallback)((()=>{const n=o.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),l=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,n=e>t||o.current.querySelector("code").hasAttribute("style");a(n)}),[o]);return Ne(o,l),(0,s.useEffect)((()=>{l()}),[e,l]),(0,s.useEffect)((()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)})),[l]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:n,toggle:i}}(),f=function(e){return e?.match(ue)?.groups.title??""}(a)||o,{lineClassNames:x,code:b}=fe(t,{metastring:a,language:m,magicComments:d}),g=l??function(e){return Boolean(e?.includes("showLineNumbers"))}(a);return(0,i.jsxs)(be,{as:"div",className:(0,u.Z)(n,m&&!n.includes(`language-${m}`)&&`language-${m}`),children:[f&&(0,i.jsx)("div",{className:ge.codeBlockTitle,children:f}),(0,i.jsxs)("div",{className:ge.codeBlockContent,children:[(0,i.jsx)(Ce.y$,{theme:h,code:b,language:m??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:o}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:p.codeBlockRef,className:(0,u.Z)(t,ge.codeBlock,"thin-scrollbar"),style:n,children:(0,i.jsx)("code",{className:(0,u.Z)(ge.codeBlockLines,g&&ge.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,i.jsx)(Le,{line:e,getLineProps:a,getTokenProps:o,classNames:x[t],showLineNumbers:g},t)))})})}}),(0,i.jsxs)("div",{className:ge.buttonGroup,children:[(p.isEnabled||p.isCodeScrollable)&&(0,i.jsx)(Ee,{className:ge.codeButton,onClick:()=>p.toggle(),isEnabled:p.isEnabled}),(0,i.jsx)(Be,{className:ge.codeButton,code:b})]})]})]})}function Ae(e){let{children:t,...n}=e;const a=(0,oe.Z)(),o=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),l="string"==typeof o?He:je;return(0,i.jsx)(l,{...n,children:o},String(a))}const Ie={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function Me(e){return!!e&&("SUMMARY"===e.tagName||Me(e.parentElement))}function Se(e,t){return!!e&&(e===t||Se(e.parentElement,t))}function Ue(e){let{summary:t,children:n,...a}=e;const o=(0,oe.Z)(),l=(0,s.useRef)(null),{collapsed:c,setCollapsed:r}=(0,$.u)({initialState:!a.open}),[d,m]=(0,s.useState)(a.open),h=s.isValidElement(t)?t:(0,i.jsx)("summary",{children:t??"Details"});return(0,i.jsxs)("details",{...a,ref:l,open:d,"data-collapsed":c,className:(0,u.Z)(Ie.details,o&&Ie.isBrowser,a.className),onMouseDown:e=>{Me(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;Me(t)&&Se(t,l.current)&&(e.preventDefault(),c?(r(!1),m(!0)):r(!0))},children:[h,(0,i.jsx)($.z,{lazy:!1,collapsed:c,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{r(e),m(!e)},children:(0,i.jsx)("div",{className:Ie.collapsibleContent,children:n})})]})}const ze={details:"details_b_Ee"},Ve="alert alert--info";function Re(e){let{...t}=e;return(0,i.jsx)(Ue,{...t,className:(0,u.Z)(Ve,ze.details,t.className)})}function Oe(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,i.jsx)(i.Fragment,{children:t.filter((e=>e!==n))});return(0,i.jsx)(Re,{...e,summary:n,children:a})}function Pe(e){return(0,i.jsx)(ne.Z,{...e})}const $e={containsTaskList:"containsTaskList_mC6p"};function De(e){if(void 0!==e)return(0,u.Z)(e,e?.includes("contains-task-list")&&$e.containsTaskList)}const We={img:"img_ev3q"};function Fe(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),a=t.filter((e=>e!==n)),o=n?.props.children;return{mdxAdmonitionTitle:o,rest:a.length>0?(0,i.jsx)(i.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}const qe={admonition:"admonition_xJq3",admonitionHeading:"admonitionHeading_Gvgb",admonitionIcon:"admonitionIcon_Rf37",admonitionContent:"admonitionContent_BuS1"};function Ge(e){let{type:t,className:n,children:s}=e;return(0,i.jsx)("div",{className:(0,u.Z)(v.k.common.admonition,v.k.common.admonitionType(t),qe.admonition,n),children:s})}function Je(e){let{icon:t,title:n}=e;return(0,i.jsxs)("div",{className:qe.admonitionHeading,children:[(0,i.jsx)("span",{className:qe.admonitionIcon,children:t}),n]})}function Ye(e){let{children:t}=e;return t?(0,i.jsx)("div",{className:qe.admonitionContent,children:t}):null}function Qe(e){const{type:t,icon:n,title:s,children:a,className:o}=e;return(0,i.jsxs)(Ge,{type:t,className:o,children:[(0,i.jsx)(Je,{title:s,icon:n}),(0,i.jsx)(Ye,{children:a})]})}function Xe(e){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,i.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 Ke={icon:(0,i.jsx)(Xe,{}),title:(0,i.jsx)(h.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function et(e){return(0,i.jsx)(Qe,{...Ke,...e,className:(0,u.Z)("alert alert--secondary",e.className),children:e.children})}function tt(e){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,i.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 nt={icon:(0,i.jsx)(tt,{}),title:(0,i.jsx)(h.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function st(e){return(0,i.jsx)(Qe,{...nt,...e,className:(0,u.Z)("alert alert--success",e.className),children:e.children})}function at(e){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,i.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 ot={icon:(0,i.jsx)(at,{}),title:(0,i.jsx)(h.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function it(e){return(0,i.jsx)(Qe,{...ot,...e,className:(0,u.Z)("alert alert--info",e.className),children:e.children})}function lt(e){return(0,i.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,i.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 ct={icon:(0,i.jsx)(lt,{}),title:(0,i.jsx)(h.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function rt(e){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,i.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 dt={icon:(0,i.jsx)(rt,{}),title:(0,i.jsx)(h.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const ut={icon:(0,i.jsx)(lt,{}),title:(0,i.jsx)(h.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const mt={...{note:et,tip:st,info:it,warning:function(e){return(0,i.jsx)(Qe,{...ct,...e,className:(0,u.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,i.jsx)(Qe,{...dt,...e,className:(0,u.Z)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,i.jsx)(et,{title:"secondary",...e}),important:e=>(0,i.jsx)(it,{title:"important",...e}),success:e=>(0,i.jsx)(st,{title:"success",...e}),caution:function(e){return(0,i.jsx)(Qe,{...ut,...e,className:(0,u.Z)("alert alert--warning",e.className),children:e.children})}}};function ht(e){const t=Fe(e),n=(s=t.type,mt[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),mt.info));var s;return(0,i.jsx)(n,{...t})}var pt=n(1875);const ft={Head:ae.Z,details:Oe,Details:Oe,code:function(e){return s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))?(0,i.jsx)("code",{...e}):(0,i.jsx)(Ae,{...e})},a:function(e){return(0,i.jsx)(p.Z,{...e})},pre:function(e){return(0,i.jsx)(i.Fragment,{children:e.children})},ul:function(e){return(0,i.jsx)("ul",{...e,className:De(e.className)})},img:function(e){return(0,i.jsx)("img",{loading:"lazy",...e,className:(t=e.className,(0,u.Z)(t,We.img))});var t},h1:e=>(0,i.jsx)(Pe,{as:"h1",...e}),h2:e=>(0,i.jsx)(Pe,{as:"h2",...e}),h3:e=>(0,i.jsx)(Pe,{as:"h3",...e}),h4:e=>(0,i.jsx)(Pe,{as:"h4",...e}),h5:e=>(0,i.jsx)(Pe,{as:"h5",...e}),h6:e=>(0,i.jsx)(Pe,{as:"h6",...e}),admonition:ht,mermaid:pt.Z};function xt(e){let{children:t}=e;return(0,i.jsx)(se.Z,{components:ft,children:t})}function bt(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=r();return t.hide_title||void 0!==n?null:e.title}();return(0,i.jsxs)("div",{className:(0,u.Z)(v.k.docs.docMarkdown,"markdown"),children:[n&&(0,i.jsx)("header",{children:(0,i.jsx)(ne.Z,{as:"h1",children:n})}),(0,i.jsx)(xt,{children:t})]})}var gt=n(2802),jt=n(8596),vt=n(4996);function Nt(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.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 Ct={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function kt(){const e=(0,vt.Z)("/");return(0,i.jsx)("li",{className:"breadcrumbs__item",children:(0,i.jsx)(p.Z,{"aria-label":(0,h.I)({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,i.jsx)(Nt,{className:Ct.breadcrumbHomeIcon})})})}const Lt={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function yt(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,i.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,i.jsx)(p.Z,{className:a,href:n,itemProp:"item",children:(0,i.jsx)("span",{itemProp:"name",children:t})}):(0,i.jsx)("span",{className:a,children:t})}function _t(e){let{children:t,active:n,index:s,addMicrodata:a}=e;return(0,i.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,u.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,i.jsx)("meta",{itemProp:"position",content:String(s+1)})]})}function wt(){const e=(0,gt.s1)(),t=(0,jt.Ns)();return e?(0,i.jsx)("nav",{className:(0,u.Z)(v.k.docs.docBreadcrumbs,Lt.breadcrumbsContainer),"aria-label":(0,h.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,i.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,i.jsx)(kt,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,i.jsx)(_t,{active:s,index:n,addMicrodata:!!a,children:(0,i.jsx)(yt,{href:a,isLast:s,children:t.label})},n)}))]})}):null}function Bt(){return(0,i.jsx)(h.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function Zt(){return(0,i.jsx)(h.Z,{id:"theme.unlistedContent.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 Tt(){return(0,i.jsx)(ae.Z,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function Et(e){let{className:t}=e;return(0,i.jsx)(ht,{type:"caution",title:(0,i.jsx)(Bt,{}),className:(0,u.Z)(t,v.k.common.unlistedBanner),children:(0,i.jsx)(Zt,{})})}function Ht(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Tt,{}),(0,i.jsx)(Et,{...e})]})}const At={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function It(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=r(),n=(0,m.i)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,i.jsx)(Y,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,i.jsx)(te,{})}}(),{metadata:{unlisted:s}}=r();return(0,i.jsxs)("div",{className:"row",children:[(0,i.jsxs)("div",{className:(0,u.Z)("col",!n.hidden&&At.docItemCol),children:[s&&(0,i.jsx)(Ht,{}),(0,i.jsx)(w,{}),(0,i.jsxs)("div",{className:At.docItemContainer,children:[(0,i.jsxs)("article",{children:[(0,i.jsx)(wt,{}),(0,i.jsx)(B,{}),n.mobile,(0,i.jsx)(bt,{children:t}),(0,i.jsx)(P,{})]}),(0,i.jsx)(b,{})]})]}),n.desktop&&(0,i.jsx)("div",{className:"col col--3",children:n.desktop})]})}function Mt(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,i.jsx)(c,{content:e.content,children:(0,i.jsxs)(a.FG,{className:t,children:[(0,i.jsx)(d,{}),(0,i.jsx)(It,{children:(0,i.jsx)(n,{})})]})})}},3743:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var s=n(7294),a=n(6668);function o(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 i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=i({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function l(e){const t=e.getBoundingClientRect();return t.top===t.bottom?l(e.parentNode):t}function c(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>l(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=r();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:o,maxHeadingLevel:i}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),l=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:o,maxHeadingLevel:i}),r=c(l,{anchorTopOffset:n.current}),d=e.find((e=>r&&r.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",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,n])}var u=n(9960),m=n(5893);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.Z,{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 p=s.memo(h);function f(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:r,maxHeadingLevel:u,...h}=e;const f=(0,a.L)(),x=r??f.tableOfContents.minHeadingLevel,b=u??f.tableOfContents.maxHeadingLevel,g=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>i({toc:o(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:x,maxHeadingLevel:b});return d((0,s.useMemo)((()=>{if(l&&c)return{linkClassName:l,linkActiveClassName:c,minHeadingLevel:x,maxHeadingLevel:b}}),[l,c,x,b])),(0,m.jsx)(p,{toc:g,className:n,linkClassName:l,...h})}},7594:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,o]=t;if(s&&o){s=parseInt(s),o=parseInt(o);const e=s{"use strict";n.d(t,{Z:()=>l,a:()=>i});var s=n(7294);const a={},o=s.createContext(a);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/1df93b7f.7dde3e80.js b/pr-preview/pr-33/assets/js/1df93b7f.7dde3e80.js
new file mode 100644
index 0000000..5ce9399
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/1df93b7f.7dde3e80.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[237,73],{6670:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>oe,contentTitle:()=>le,default:()=>fe,frontMatter:()=>ne,metadata:()=>ie,toc:()=>ce});var r,n,l,i,o,c,s,f,m,p,h,d,y,x,k,E,u,g,S,v,V,M,w,b,O,Z,j,A,W,N,L,H,z,F,C,R,D,I,B,P,_,T,J,G,K,q,X,Y,U,Q,$=a(5893),ee=a(1151),te=a(7294);function ae(){return ae=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...$}=e;return te.createElement("svg",ae({width:1033.035,height:549.355,viewBox:"0 0 273.324 145.35",xmlSpace:"preserve",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":a},$),t?te.createElement("title",{id:a},t):null,te.createElement("defs",null,r||(r=te.createElement("path",{id:"b",d:"M1.745 5.475c0 1.558-.125 2.066-.445 2.44a1.94 1.94 0 0 1-1.3.498l.125.89a3.045 3.045 0 0 0 2.03-.738 3.561 3.561 0 0 0 .783-2.671V0H1.745V5.475Z"})),n||(n=te.createElement("path",{id:"c",d:"M5.502 4.763c0 .668 0 1.264.053 1.78H4.496l-.071-1.059A2.466 2.466 0 0 1 2.26 6.695C1.23 6.695 0 6.135 0 3.846V.045h1.193v3.56c0 1.238.383 2.066 1.46 2.066A1.665 1.665 0 0 0 4.336 3.99V0h1.193v4.727l-.027.036Z"})),l||(l=te.createElement("path",{id:"d",d:"M.053 2.273c0-.828 0-1.505-.053-2.12h1.068l.054 1.114A2.582 2.582 0 0 1 3.454.002c1.585 0 2.778 1.327 2.778 3.303 0 2.333-1.433 3.49-2.982 3.49a2.306 2.306 0 0 1-2.021-1.023v3.56H.053V2.274ZM1.23 4.009c.003.161.02.322.053.48a1.834 1.834 0 0 0 1.78 1.38c1.256 0 1.995-1.023 1.995-2.51 0-1.3-.695-2.413-1.95-2.413a2.048 2.048 0 0 0-1.878 1.95v1.113Z"})),i||(i=te.createElement("path",{id:"e",d:"M1.318.018 2.75 3.855c.151.427.312.944.418 1.327.125-.392.259-.89.419-1.354l1.3-3.81h1.255l-1.78 4.63c-.89 2.225-1.434 3.374-2.253 4.068a3.24 3.24 0 0 1-1.46.766l-.294-.997a3.16 3.16 0 0 0 1.042-.58 3.561 3.561 0 0 0 1.006-1.317.89.89 0 0 0 .098-.285 1.024 1.024 0 0 0-.08-.311L0 0h1.3l.018.018Z"})),o||(o=te.createElement("path",{id:"f",d:"M2.19 0v1.87H3.9v.89H2.19v3.508c0 .801.232 1.264.89 1.264.234.004.468-.023.695-.08l.053.89c-.34.118-.7.172-1.06.16a1.656 1.656 0 0 1-1.29-.498 2.395 2.395 0 0 1-.463-1.692V2.751H0v-.89h1.033V.276L2.19 0Z"})),c||(c=te.createElement("path",{id:"g",d:"M1.177 3.579A2.092 2.092 0 0 0 3.43 5.831a4.345 4.345 0 0 0 1.78-.338l.205.89a5.342 5.342 0 0 1-2.181.401A3.027 3.027 0 0 1 .01 3.508C.01 1.549 1.177 0 3.082 0 5.22 0 5.753 1.87 5.753 3.063c.012.183.012.368 0 .552H1.15l.027-.036Zm3.49-.89A1.683 1.683 0 0 0 3.011.766a1.968 1.968 0 0 0-1.825 1.923h3.481Z"})),s||(s=te.createElement("path",{id:"h",d:"M.053 2.192c0-.765 0-1.424-.053-2.03h1.068v1.274h.054A1.968 1.968 0 0 1 2.902.01a1.3 1.3 0 0 1 .339 0v1.113a1.78 1.78 0 0 0-.41 0 1.665 1.665 0 0 0-1.593 1.513 3.293 3.293 0 0 0-.054.552v3.464H.01V2.2l.044-.009Z"})),f||(f=te.createElement("path",{id:"i",d:"M6.03 2.836A3.018 3.018 0 1 1 2.889.005a2.982 2.982 0 0 1 3.143 2.83Z"})),m||(m=te.createElement("path",{id:"j",d:"M18.696 7.122C10.684 7.122 3.641 4.247 0 0a19.934 19.934 0 0 0 37.392 0C33.76 4.247 26.744 7.122 18.696 7.122Z"})),p||(p=te.createElement("path",{id:"k",d:"M18.696 5.897c8.013 0 15.055 2.876 18.696 7.123A19.934 19.934 0 0 0 0 13.02c3.641-4.256 10.648-7.123 18.696-7.123Z"})),h||(h=te.createElement("path",{id:"l",d:"M7.596 3.567A3.802 3.802 0 1 1 3.634.005a3.766 3.766 0 0 1 3.962 3.562Z"})),d||(d=te.createElement("path",{id:"m",d:"M2.25 4.38A2.19 2.19 0 1 1 4.379 2.1a2.217 2.217 0 0 1-2.127 2.28Z"})),te.createElement("marker",{style:{overflow:"visible"},id:"a",refX:0,refY:0,orient:"auto-start-reverse",markerWidth:.5,markerHeight:.5,viewBox:"0 0 1 1",preserveAspectRatio:"xMidYMid"},te.createElement("path",{transform:"scale(.5)",style:{fill:"context-stroke",fillRule:"evenodd",stroke:"context-stroke",strokeWidth:"1pt"},d:"m5.77 0-8.65 5V-5Z"}))),te.createElement("g",{transform:"translate(32.636 -79.35)"},te.createElement("rect",{style:{fill:"none",fillOpacity:.504747,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"4.7625,1.5875",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},width:218.281,height:87.313,x:-32.239,y:136.988,ry:5.292,rx:5.292}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:181.967,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:203.134,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:78.225,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:132.134,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:78.225,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:132.134,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:105.179,y:192.55,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:181.967,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:203.134,rx:2.646,ry:2.646}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 5.972)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"VRE knowledge"),y||(y=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"base"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"90%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(225.787 3.856)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"90%"}},"Notebook-as-")),te.createElement("tspan",{x:-68.021,y:147.348},te.createElement("tspan",{style:{lineHeight:"90%"}},"a-VRE"),x||(x=te.createElement("tspan",{y:147.348}))),te.createElement("tspan",{x:-68.021,y:153.063},te.createElement("tspan",{style:{lineHeight:"90%"}},"dashboards"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(225.787 27.14)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"eScience"),k||(k=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"devOps"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(171.878 5.972)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Distributed VRE"),E||(E=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"ledger"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(171.878 27.14)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Provenance /"),u||(u=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"log expllorer"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 5.972)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Distributed"),g||(g=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"workflow bus"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"90%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 25.022)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"90%"}},"Remote"),S||(S=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:147.348},te.createElement("tspan",{style:{lineHeight:"90%"}},"infrastructure"),v||(v=te.createElement("tspan",{y:147.348}))),te.createElement("tspan",{x:-68.021,y:153.063},te.createElement("tspan",{style:{lineHeight:"90%"}},"automator"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 51.798)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"AAI"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 69.472)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Distributed"),V||(V=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"data mesh"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 27.14)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Semantic"),M||(M=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"search engine"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 48.306)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Component"),w||(w=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"containerizer"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 69.472)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Experiment"),b||(b=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"manager"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(198.832 62.382)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"\u2026"))),te.createElement("path",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,markerStart:"url(#a)",markerEnd:"url(#marker56)",paintOrder:"markers fill stroke"},d:"M219.653 115.969v42.087"}),te.createElement("rect",{style:{fill:"#e5e5e5",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},width:147.575,height:13.655,x:87.181,y:99.459,ry:2.646,rx:2.646}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:120.186,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(228.99 -33.143)"},O||(O=te.createElement("tspan",{x:-68.021,y:141.633},"Client side (e.g. Jupyter environment)"))),te.createElement("g",{transform:"matrix(1.53683 0 0 1.53602 -102.622 -41.848)",style:{strokeWidth:.650863}},te.createElement("circle",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.516622,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:180.396,cy:81.808,r:2.646}),te.createElement("path",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.516622,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},d:"M175.766 89.084a4.63 4.63 0 0 1 4.63-4.63 4.63 4.63 0 0 1 4.63 4.63"})),te.createElement("path",{style:{fill:"#e5e5e5",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.793751,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},d:"M188.744 85.709c1.459 0 4.09.81 5.563.503 1.39-.29 3.364-.199 4.784-.215 1.328-.015 2.825.009 4.153.004 1.448-.006 2.907-.244 4.355-.249 1.502-.004 3.15.027 4.652.046 1.456.018 3.493-.221 4.948-.202a155.9 155.9 0 0 1 4.089.119c1.452.058 3.012-.01 4.465.035 1.372.042 2.963.219 4.444.325 1.206.086 2.646 1.142 2.648 2.648.042 1.486-.008 2.61-.013 4.097-.005 1.608.243 3.047.238 4.655-.004 1.142-.442 3.235-1 4.756-.365.99-.802 2.793-2.08 2.84-1.453.367-3.197-.002-4.695-.026-1.432-.024-2.598.238-4.03.226-1.588-.013-3.451-.068-5.04-.104-1.406-.033-3.093-.064-4.499-.094-1.404-.03-2.416.054-3.82.028-1.63-.031-3.212-.046-4.842-.085-1.514-.036-3.055-.594-4.57-.63-1.493-.035-2.893.001-4.384.104-1.43.098-3.021.274-4.536.311-1.268.032-2.563-1.55-2.626-2.999-.004-1.467-.136-3.087-.078-4.553.056-1.415-.391-2.826-.395-4.243-.003-1.113.44-3.082.492-4.635.04-1.175.319-2.663 1.777-2.662z",transform:"translate(0 -4.118)"}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:120.186,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(271.762 -52.173)"},Z||(Z=te.createElement("tspan",{x:-68.021,y:141.633},"NaaVRE"))),te.createElement("g",{transform:"translate(2.396 -3.725)"},te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:.50141,stroke:"none",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:206.301,cy:98.987,r:3.969}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:.50141,stroke:"none",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:215.173,cy:98.987,r:3.969}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:.50141,stroke:"none",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:224.046,cy:98.987,r:3.969}),te.createElement("g",{style:{mixBlendMode:"normal",strokeWidth:1.0795}},te.createElement("g",{style:{mixBlendMode:"normal",strokeWidth:1.0795}},te.createElement("use",{xlinkHref:"#b",transform:"matrix(.2451 0 0 .2451 88.488 108.946)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#c",transform:"matrix(.2451 0 0 .2451 89.748 108.948)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#d",transform:"matrix(.2451 0 0 .2451 91.638 108.921)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#e",transform:"matrix(.2451 0 0 .2451 93.363 108.953)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#f",transform:"matrix(.2451 0 0 .2451 95.108 108.5)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#g",transform:"matrix(.2451 0 0 .2451 96.314 108.929)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#h",transform:"matrix(.2451 0 0 .2451 98.155 108.916)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}})),te.createElement("g",{style:{mixBlendMode:"normal",strokeWidth:1.0795}},te.createElement("use",{xlinkHref:"#i",transform:"matrix(.2451 0 0 .2451 96.562 103.88)",fill:"#767677",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#j",transform:"matrix(.2451 0 0 .2451 89.142 111.375)",fill:"#f37726",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#k",transform:"matrix(.2451 0 0 .2451 89.142 104.906)",fill:"#f37726",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#l",transform:"matrix(.2451 0 0 .2451 89.16 114.272)",fill:"#9e9e9e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#m",transform:"matrix(.2451 0 0 .2451 88.814 105.041)",fill:"#616262",style:{mixBlendMode:"normal",strokeWidth:1.0795}})))),te.createElement("path",{style:{fill:"#e5e5e5",fillOpacity:1,stroke:"none",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 192.293c0 2.544-9.24 4.605-20.638 4.605-11.398 0-20.638-2.061-20.638-4.605v-30.258c0-2.543 9.24-4.605 20.638-4.605 11.398 0 20.638 2.062 20.638 4.605z",transform:"translate(0 3.481)"}),te.createElement("path",{style:{fill:"#fff",fillOpacity:1,stroke:"none",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 162.035a20.638 4.605 0 0 1-20.638 4.605 20.638 4.605 0 0 1-20.638-4.605 20.638 4.605 0 0 1 20.638-4.605 20.638 4.605 0 0 1 20.638 4.605z",transform:"translate(0 3.481)"}),te.createElement("path",{style:{fill:"none",fillOpacity:.421002,stroke:"#3c8f49",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 162.035c0 2.543-9.24 4.605-20.638 4.605-11.398 0-20.638-2.062-20.638-4.605",transform:"translate(0 3.481)"}),te.createElement("path",{style:{fill:"none",fillOpacity:.421002,stroke:"#3c8f49",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 192.293c0 2.544-9.24 4.605-20.638 4.605-11.398 0-20.638-2.061-20.638-4.605v-30.258c0-2.543 9.24-4.605 20.638-4.605 11.398 0 20.638 2.062 20.638 4.605z",transform:"translate(0 3.481)"}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(287.675 36.466)"},j||(j=te.createElement("tspan",{x:-68.021,y:141.633},"NaaVRE\n")),A||(A=te.createElement("tspan",{x:-68.021,y:148.618},"services\n")),W||(W=te.createElement("tspan",{x:-68.021,y:155.603},"market place"))),te.createElement("path",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},d:"M188.567 139.688c8.827.018-.152 40.957 8.496 40.957",id:"n"}),N||(N=te.createElement("use",{xlinkHref:"#n",transform:"matrix(1 0 0 -1 0 361.291)"})),te.createElement("g",{transform:"translate(63.044 -91.752)"},te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},id:"o",cx:-89.925,cy:247.195,r:3.109}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:-89.925,cy:268.361,r:3.109}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:-89.925,cy:310.695,r:3.109}),L||(L=te.createElement("use",{x:0,y:0,xlinkHref:"#o",id:"q",transform:"translate(161.727)"})),H||(H=te.createElement("use",{x:0,y:0,xlinkHref:"#o",id:"p",transform:"translate(53.909)"})),z||(z=te.createElement("use",{x:0,y:0,xlinkHref:"#p",id:"r",transform:"translate(53.909)"})),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:-89.925,cy:289.528,r:3.109}),F||(F=te.createElement("use",{x:0,y:0,xlinkHref:"#p",id:"s",transform:"translate(0 21.167)"})),C||(C=te.createElement("use",{xlinkHref:"#q",transform:"translate(0 21.167)"})),R||(R=te.createElement("use",{xlinkHref:"#r",transform:"translate(0 21.167)"})),D||(D=te.createElement("use",{xlinkHref:"#p",transform:"translate(0 42.333)"})),I||(I=te.createElement("use",{xlinkHref:"#s",transform:"translate(0 42.333)"}))),te.createElement("g",{style:{fill:"#fff",fillOpacity:1}},te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 16.013)"},B||(B=te.createElement("tspan",{x:-68.021,y:141.633},"A"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 37.18)"},P||(P=te.createElement("tspan",{x:-68.021,y:141.633},"B"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 58.347)"},_||(_=te.createElement("tspan",{x:-68.021,y:141.633},"C"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 79.513)"},T||(T=te.createElement("tspan",{x:-68.021,y:141.633},"D"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 16.013)"},J||(J=te.createElement("tspan",{x:-68.021,y:141.633},"E"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 37.18)"},G||(G=te.createElement("tspan",{x:-68.021,y:141.633},"F"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 58.347)"},K||(K=te.createElement("tspan",{x:-68.021,y:141.633},"G"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 79.513)"},q||(q=te.createElement("tspan",{x:-68.021,y:141.633},"H"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(148.958 16.013)"},X||(X=te.createElement("tspan",{x:-68.021,y:141.633},"I"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(148.958 37.18)"},Y||(Y=te.createElement("tspan",{x:-68.021,y:141.633},"J"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(202.867 16.013)"},U||(U=te.createElement("tspan",{x:-68.021,y:141.633},"K"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(202.867 37.18)"},Q||(Q=te.createElement("tspan",{x:-68.021,y:141.633},"L"))))))},ne={sidebar_position:1,title:"About NaaVRE"},le=void 0,ie={id:"about",title:"About NaaVRE",description:"NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1].",source:"@site/docs/about.mdx",sourceDirName:".",slug:"/about",permalink:"/pr-preview/pr-33/docs/about",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/about.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"About NaaVRE"},sidebar:"tutorialSidebar",next:{title:"Readiness level framework for co-development of virtual labs on the NaaVRE platform",permalink:"/pr-preview/pr-33/docs/readiness_levels/"}},oe={},ce=[{value:"Tutorials",id:"tutorials",level:2},{value:"Notebook as a Virtual Research Environment (NaaVRE) Platform",id:"notebook-as-a-virtual-research-environment-naavre-platform",level:2},{value:"Main Features",id:"main-features",level:3},{value:"Collaborative Virtual Labs",id:"collaborative-virtual-labs",level:2},{value:"Main Features",id:"main-features-1",level:3},{value:"Supported Kernels",id:"supported-kernels",level:3}];function se(e){const t={a:"a",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",ul:"ul",...(0,ee.a)(),...e.components};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(t.p,{children:"NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1]."}),"\n",(0,$.jsx)(re,{alt:"NaaVRE conceptual architecture diagram",width:"inherit"}),"\n",(0,$.jsxs)(t.ol,{children:["\n",(0,$.jsxs)(t.li,{children:['Zhao, Zhiming, Spiros Koulouzis, Riccardo Bianchi, Siamak Farshidi, Zeshun Shi, Ruyue Xin, Yuandou Wang et al. "Notebook\u2010as\u2010a\u2010VRE (NaaVRE): From private notebooks to a collaborative cloud virtual research environment." Software: Practice and Experience 52, no. 9 (2022): 1947-1966. ',(0,$.jsx)(t.a,{href:"https://doi.org/10.1002/spe.3098",children:"https://doi.org/10.1002/spe.3098"})]}),"\n"]}),"\n",(0,$.jsx)(t.h2,{id:"tutorials",children:"Tutorials"}),"\n",(0,$.jsx)(t.p,{children:"This section of the documentation contains step-by-step tutorials that help outline the capabilities of Virtual Research\nEnvironments (VRE) and how you can achieve specific aims. The tutorials are recommended if you do not have much\nexperience with VRE."}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:(0,$.jsx)(t.a,{href:"docs/tutorials",children:"Getting Started"})}),"\n",(0,$.jsx)(t.li,{children:(0,$.jsx)(t.a,{href:"docs/NaaVRE_Interface",children:"The NaaVRE Interface"})}),"\n"]}),"\n",(0,$.jsx)(t.h2,{id:"notebook-as-a-virtual-research-environment-naavre-platform",children:"Notebook as a Virtual Research Environment (NaaVRE) Platform"}),"\n",(0,$.jsx)(t.p,{children:"The LifeWatch NaaVRE platform is a Platform as a Service (PaaS) that allows users to create Collaborative Virtual Labs with customized runtime libraries, user interfaces, and workflow building blocks, and to conduct research activities in specific domains."}),"\n",(0,$.jsx)(t.h3,{id:"main-features",children:"Main Features"}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:"A user-friendly interface to the LifeWatch VRE platform"}),"\n",(0,$.jsx)(t.li,{children:"Overview of the running Virtual Labs (VLs)"}),"\n",(0,$.jsx)(t.li,{children:"Overview of executed workflows"}),"\n",(0,$.jsx)(t.li,{children:"Community-based data products catalog"}),"\n",(0,$.jsx)(t.li,{children:"Community-based geographical data products catalog"}),"\n",(0,$.jsxs)(t.li,{children:["Collaboration tools","\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsxs)(t.li,{children:["Video conferencing with ",(0,$.jsx)(t.a,{href:"https://jupyter-videochat.readthedocs.io/en/latest/",children:"jupyter-videochat"})]}),"\n",(0,$.jsxs)(t.li,{children:["Git integration with ",(0,$.jsx)(t.a,{href:"https://pypi.org/project/jupyterlab-git/",children:"jupyterlab-git"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,$.jsx)(t.h2,{id:"collaborative-virtual-labs",children:"Collaborative Virtual Labs"}),"\n",(0,$.jsx)(t.p,{children:"A Collaborative Virtual Lab provides a customized profile, which allows a domain user to create a Virtual Lab instance on the NaaVRE platform. All the Virtual Lab instances of a Collaborative Virtual Lab can share data and workflows. A Virtual Lab is based on a Jupyter environment with specially developed extensions for containerizing Notebook cells, composing and executing workflows, and searching and sharing research objects."}),"\n",(0,$.jsx)(t.h3,{id:"main-features-1",children:"Main Features"}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:"Containerization of cells"}),"\n",(0,$.jsx)(t.li,{children:"Workflow composition based on containerized cells"}),"\n",(0,$.jsx)(t.li,{children:"Execution of containerized cells on a workflow engine"}),"\n",(0,$.jsx)(t.li,{children:"Search for notebooks"}),"\n"]}),"\n",(0,$.jsx)(t.h3,{id:"supported-kernels",children:"Supported Kernels"}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:"Python"}),"\n",(0,$.jsx)(t.li,{children:"Rscript"}),"\n"]})]})}function fe(e={}){const{wrapper:t}={...(0,ee.a)(),...e.components};return t?(0,$.jsx)(t,{...e,children:(0,$.jsx)(se,{...e})}):se(e)}},1535:(e,t,a)=>{a.d(t,{Z:()=>z});var r,n,l,i,o,c,s,f,m,p,h,d,y,x,k,E,u,g,S,v,V,M,w,b,O,Z,j,A,W,N,L=a(7294);function H(){return H=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...z}=e;return L.createElement("svg",H({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",width:904.886,height:742,viewBox:"0 0 904.886 742","aria-labelledby":a},z),t?L.createElement("title",{id:a},t):null,r||(r=L.createElement("path",{fill:"#ffb6b6",d:"m686.055 724.756-15.29-.001-7.274-58.974 22.566.001-.002 58.974z"})),n||(n=L.createElement("path",{d:"m689.954 739.577-49.3-.002v-.623a19.19 19.19 0 0 1 19.189-19.19l30.112.002Z",fill:"#2f2e41"})),l||(l=L.createElement("path",{fill:"#ffb6b6",d:"m801.699 711.547-14.553 4.689-25.011-53.901 21.479-6.921 18.085 56.133z"})),i||(i=L.createElement("path",{d:"m809.956 724.458-46.925 15.119-.19-.594a19.19 19.19 0 0 1 12.378-24.149h.001l28.66-9.234Z",fill:"#2f2e41"})),o||(o=L.createElement("circle",{cx:809.348,cy:504.31,r:19.092,fill:"#3c8f49"})),c||(c=L.createElement("path",{d:"M834.348 539.143c-.344.186-.684.36-1.025.532l-40.31-74.845a49.22 49.22 0 0 1 1.008-.563 42.523 42.523 0 0 1 40.327 74.876Z",fill:"#3f3d56"})),s||(s=L.createElement("path",{d:"m797.127 501.12-5.634-78.17 1.071-26.09-21.96 4.887 8.09 102.426a11.446 11.446 0 1 0 18.433-3.054ZM697.753 432.217l-1.396-26.19-14.094-11.451-1.946 25.172-51.883 59.984a11.445 11.445 0 1 0 13.255 11.296c0-.155-.017-.304-.023-.457Z",fill:"#ffb7b7"})),f||(f=L.createElement("path",{d:"M700.28 423.833 656 480l-15-16 31-45 19.423-85.322a9.004 9.004 0 0 1 5.26-4.689 8.866 8.866 0 0 1 6.92.497l.251.128ZM776.388 477l-14.066-97.774.023-.09 14.445-56.788 1.354-.157a15.77 15.77 0 0 1 17.173 12.484L796.387 480Z",fill:"#3c8f49"})),m||(m=L.createElement("path",{d:"M780.826 307.015h-73.11v-33.032a36.555 36.555 0 1 1 73.11 0Z",fill:"#2f2e41"})),p||(p=L.createElement("circle",{cx:890.986,cy:357.128,r:29.879,transform:"rotate(-61.337 750.598 442.042)",fill:"#ffb7b7"})),h||(h=L.createElement("circle",{cx:757.853,cy:232.89,r:19.89,fill:"#2f2e41"})),d||(d=L.createElement("path",{d:"M789 279.709h-77.76v-.44c0-20.157 17.44-36.555 38.88-36.555S789 259.112 789 279.269ZM689.748 695.28l-28.89-2.063-.039-.423c-12.66-138.213-5.477-229.5 20.224-257.064l7.252-13.566-3.97-22.83c-10.604-27.93 7.205-48.36 8.551-49.845l5.741-17.222a6.511 6.511 0 0 1 5.505-4.411l78.015-7.979.051.498-.05-.498a6.5 6.5 0 0 1 7.142 5.976l.007.092-.026.089-28.438 95.768 2.492 32.407 33.564 231.93-28.906 6.194-.134-.44-53.338-174.83Z",fill:"#2f2e41"})),y||(y=L.createElement("path",{d:"M617 557.5H7A6.507 6.507 0 0 1 .5 551V7A6.507 6.507 0 0 1 7 .5h610a6.508 6.508 0 0 1 6.5 6.5v544a6.508 6.508 0 0 1-6.5 6.5Z",fill:"#fff"})),x||(x=L.createElement("path",{d:"M208.692 24.43v140.586h-.286a70.292 70.292 0 0 1 0-140.585Z",fill:"#3c8f49"})),k||(k=L.createElement("path",{d:"M192.785 56.116v77.215h-.157a38.608 38.608 0 0 1 0-77.215Z",fill:"#fff"})),E||(E=L.createElement("path",{fill:"#3f3d56",d:"M312.543 281H100.146V93.723h37.968v2h-35.968V279h210.397v2z"})),u||(u=L.createElement("circle",{cx:341.18,cy:309.072,r:19.092,fill:"#3c8f49"})),g||(g=L.createElement("circle",{cx:519.081,cy:493.914,r:19.092,fill:"#3f3d56"})),S||(S=L.createElement("circle",{cx:100.798,cy:278.698,r:19.092,fill:"#3c8f49"})),v||(v=L.createElement("path",{fill:"#3f3d56",d:"M312.543 280.434h47.729v-47.729h-95.459v95.458h47.73v-47.729z"})),V||(V=L.createElement("path",{fill:"#e4e4e4",d:"M414.944 40.051h209.142v26.034H414.944zM414.944 96.459h209.142v26.034H414.944zM561.603 185.843c0 .39-.008.772-.017 1.154h-85.01a49.189 49.189 0 0 1-.018-1.154 42.523 42.523 0 0 1 85.045 0ZM561.603 488.421c0 .39-.008.773-.017 1.154h-85.01a49.19 49.19 0 0 1-.018-1.154 42.523 42.523 0 0 1 85.045 0Z"})),M||(M=L.createElement("path",{fill:"#3f3d56",d:"M518.081 228.365h2v217.423h-2z"})),w||(w=L.createElement("path",{d:"M273.491 467.88a65.088 65.088 0 0 1-64.799 65.086V402.795a65.088 65.088 0 0 1 64.8 65.085Z",fill:"#3c8f49"})),b||(b=L.createElement("path",{d:"M618.879 560H6.207A6.214 6.214 0 0 1 0 553.793V6.207A6.214 6.214 0 0 1 6.207 0h612.672a6.214 6.214 0 0 1 6.206 6.207v547.586A6.214 6.214 0 0 1 618.88 560ZM6.207 2A4.212 4.212 0 0 0 2 6.207v547.586A4.212 4.212 0 0 0 6.207 558h612.672a4.212 4.212 0 0 0 4.206-4.207V6.207A4.212 4.212 0 0 0 618.88 2Z",fill:"#3f3d56"})),O||(O=L.createElement("path",{d:"M207.692 166.02V23.427l1.004.004a71.293 71.293 0 0 1 0 142.585Zm2-140.578v138.562a69.293 69.293 0 0 0 0-138.562ZM209.692 533.966h-1.286a66.085 66.085 0 1 1 0-132.171h1.286Zm-2-130.167a64.086 64.086 0 0 0 0 128.163ZM519.08 229.365a43.283 43.283 0 0 1-43.504-42.341l-.027-1.027h87.064l-.027 1.027a43.283 43.283 0 0 1-43.505 42.341Zm-41.465-41.368a41.522 41.522 0 0 0 82.932 0ZM1 372h623.085v2H1z",fill:"#3f3d56"})),Z||(Z=L.createElement("path",{fill:"#3f3d56",d:"M1 185.997h623.085v2H1z"})),j||(j=L.createElement("path",{fill:"#3f3d56",d:"M415.39 1h2v558h-2zM207.692 1h2v558h-2z"})),A||(A=L.createElement("circle",{cx:145.924,cy:466.145,r:19.092,fill:"#3c8f49"})),W||(W=L.createElement("path",{d:"M903.886 742h-381a1 1 0 0 1 0-2h381a1 1 0 0 1 0 2Z",fill:"#cacaca"})),N||(N=L.createElement("path",{d:"M574.42 739.984c5.629-18.137.161-38.764-12.677-52.548a50.037 50.037 0 0 0-12.496-9.754 1.507 1.507 0 0 0-1.818 2.356l2.571 2.781v-2.121c-4.976 4.642-14.046 1.101-14.95-5.499a11.317 11.317 0 0 1 3.422-9.364 10.743 10.743 0 0 1 10.201-2.532 13.348 13.348 0 0 1 8.75 6.928 14.767 14.767 0 0 1 .416 11.194c-2.744 8.018-11.498 11.789-19.486 9.9-8.152-1.929-13.994-9.615-14.26-17.915a19.753 19.753 0 0 1 12.619-18.626c8.558-3.161 17.849 0 25.077 4.887a56.448 56.448 0 0 1 17.579 20.016 57.753 57.753 0 0 1 7.071 25.174c.233 7.255-1.307 15.497-6.658 20.797a16.43 16.43 0 0 1-4.381 3.076l1.514 2.59a56.674 56.674 0 0 0 27.981-54.95 57.414 57.414 0 0 0-5.47-18.854c-.848-1.734-3.436-.215-2.59 1.514a53.876 53.876 0 0 1 4.69 32.384 53.604 53.604 0 0 1-26.125 37.316c-1.691.971-.204 3.433 1.514 2.59 8.078-3.962 11.602-12.93 12.379-21.423.886-9.698-1.636-19.77-5.72-28.516a60.922 60.922 0 0 0-18.932-23.365c-8.044-5.867-18.94-9.745-28.727-6.128-8.754 3.234-15.117 12.099-14.822 21.518.296 9.453 6.824 18.346 16.1 20.718 9.255 2.367 19.374-1.713 23.104-10.76a17.99 17.99 0 0 0 .357-13.18 16.206 16.206 0 0 0-9.209-9.136 14.343 14.343 0 0 0-12.766.831 14.521 14.521 0 0 0-6.554 10.146 11.617 11.617 0 0 0 4.017 10.808 13.242 13.242 0 0 0 10.971 2.644 10.672 10.672 0 0 0 5.01-2.662 1.525 1.525 0 0 0 0-2.121l-2.571-2.782-1.818 2.356c15.726 8.633 25.569 26.192 25.9 43.996a47.262 47.262 0 0 1-2.106 14.919c-.573 1.848 2.322 2.638 2.893.797Z",fill:"#f0f0f0"})))}},5550:(e,t,a)=>{a.d(t,{Z:()=>z});var r,n,l,i,o,c,s,f,m,p,h,d,y,x,k,E,u,g,S,v,V,M,w,b,O,Z,j,A,W,N,L=a(7294);function H(){return H=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...z}=e;return L.createElement("svg",H({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",width:618.675,height:487.325,viewBox:"0 0 618.675 487.325","aria-labelledby":a},z),t?L.createElement("title",{id:a},t):null,r||(r=L.createElement("path",{d:"M148.532 264.22c-4.937-26.426 2.836-56.49 24.443-72.486a123.863 123.863 0 0 0 25.822 81.025c6.935 8.89 15.575 18.055 15.306 29.326-.166 7.014-3.96 13.548-8.958 18.47-4.999 4.922-11.156 8.471-17.24 11.965l-.947 1.473c-17.834-20.116-33.488-43.346-38.426-69.773Z",fill:"#f0f0f0"})),n||(n=L.createElement("path",{d:"M173.369 192.138a105.87 105.87 0 0 0-6.99 64.761 45.591 45.591 0 0 0 4.828 13.444 26.149 26.149 0 0 0 9.879 9.582c3.77 2.179 7.88 3.97 11.055 7.028a16.01 16.01 0 0 1 4.713 12.216c-.152 5.623-2.315 10.856-4.609 15.9-2.546 5.599-5.28 11.375-5.114 17.671.02.763-1.165.75-1.185-.012-.287-10.954 7.632-19.751 9.396-30.262.824-4.904.174-10.086-3.274-13.888-3.015-3.324-7.25-5.176-11.088-7.349a27.903 27.903 0 0 1-10.008-9.009 42.148 42.148 0 0 1-5.327-13.208 102.712 102.712 0 0 1-2.328-32.018 107.747 107.747 0 0 1 9.035-35.465c.31-.694 1.325-.08 1.017.609Z",fill:"#fff"})),l||(l=L.createElement("path",{d:"M164.507 249.97a15.884 15.884 0 0 1-16.571-12.183c-.174-.742.972-1.046 1.145-.303a14.708 14.708 0 0 0 15.438 11.302c.76-.057.744 1.128-.012 1.184ZM179.028 279.072a30.615 30.615 0 0 0 7.674-20.95c-.017-.763 1.167-.75 1.185.012a31.844 31.844 0 0 1-8.03 21.785c-.507.57-1.334-.28-.829-.847ZM165.673 215.48a8.991 8.991 0 0 0 7.987-3c.5-.576 1.326.274.829.847a10.075 10.075 0 0 1-8.829 3.337.612.612 0 0 1-.586-.598.595.595 0 0 1 .599-.587Z",fill:"#fff"})),i||(i=L.createElement("path",{d:"M261.334 213.592c-.302.37-.604.739-.904 1.118a118.407 118.407 0 0 0-10.837 15.858c-.252.426-.502.863-.741 1.296a124.827 124.827 0 0 0-14.565 43.589 121.222 121.222 0 0 0-1.112 18.385c.134 8.49.954 17.685-1.648 25.493a20.796 20.796 0 0 1-.937 2.398l-41.761 13.305c-.11-.017-.218-.025-.329-.042l-1.643.607c-.027-.316-.048-.645-.075-.962-.017-.184-.024-.37-.04-.554-.009-.123-.016-.247-.03-.358a1.645 1.645 0 0 1-.005-.114c-.015-.11-.016-.215-.028-.316-.124-1.84-.239-3.682-.334-5.53-.003-.01-.003-.01.003-.022-.717-14.077-.265-28.337 2.338-42.075.078-.413.153-.836.25-1.255a115.675 115.675 0 0 1 5.116-18.17 102.26 102.26 0 0 1 4.124-9.49 85.036 85.036 0 0 1 15.436-21.648c12.459-12.68 28.835-21.236 46.381-21.505.449-.007.889-.01 1.341-.008Z",fill:"#f0f0f0"})),o||(o=L.createElement("path",{d:"M261.409 214.152a105.87 105.87 0 0 0-44.571 47.5 45.59 45.59 0 0 0-4.24 13.642 26.149 26.149 0 0 0 2.119 13.598c1.699 4.01 3.9 7.914 4.595 12.267a16.01 16.01 0 0 1-3.592 12.592c-3.506 4.398-8.384 7.273-13.252 9.92-5.404 2.938-11.064 5.904-14.723 11.03-.443.621-1.381-.103-.939-.723 6.366-8.92 17.985-11.175 25.722-18.505 3.61-3.42 6.212-7.949 5.748-13.06-.406-4.47-2.674-8.498-4.429-12.544a27.903 27.903 0 0 1-2.567-13.218 42.148 42.148 0 0 1 3.7-13.754 102.712 102.712 0 0 1 17.418-26.966 107.747 107.747 0 0 1 28.566-22.877c.665-.367 1.107.733.445 1.098Z",fill:"#fff"})),c||(c=L.createElement("path",{d:"M219.514 254.993a15.884 15.884 0 0 1-5.896-19.705c.309-.697 1.406-.25 1.097.448a14.708 14.708 0 0 0 5.522 18.318c.642.413-.085 1.349-.723.939ZM213.588 286.972a30.615 30.615 0 0 0 18.74-12.108c.445-.619 1.383.105.938.724a31.844 31.844 0 0 1-19.526 12.559c-.75.15-.897-1.026-.152-1.175ZM241.21 228.156a8.991 8.991 0 0 0 8.184 2.414c.746-.16.894 1.017.152 1.175a10.075 10.075 0 0 1-9.058-2.65.612.612 0 0 1-.108-.832.595.595 0 0 1 .83-.107Z",fill:"#fff"})),s||(s=L.createElement("path",{d:"M326.932 69.084a11.998 11.998 0 0 1 .273 1.87L376.169 99.2l11.902-6.851 12.687 16.61-19.89 14.177a9.119 9.119 0 0 1-10.94-.267l-50.49-39.832a11.965 11.965 0 1 1 7.494-13.953Z",fill:"#ffb6b6"})),f||(f=L.createElement("path",{d:"M376.849 96.082a5.124 5.124 0 0 1 2.558-3.42l22.606-12.317a14.245 14.245 0 0 1 17.222 22.695l-18.118 18.406a5.13 5.13 0 0 1-7.75-.51l-15.6-20.683a5.123 5.123 0 0 1-.918-4.171Z",fill:"#3f3d56"})),m||(m=L.createElement("path",{d:"M417.235 24.476c3.253-10.366 10.65-19.873 20.878-23.377 10.23-3.504 25.208 1.834 32.899 9.498 14.067 14.02 17.5 62.182 7.835 77.402-1.922-.102-8.555-.177-10.501-.25l-2.752-9.173v9.083c-15.187-.47-30.997-.176-46.816.128-1.418-10.776-4.795-52.946-1.543-63.311Z",fill:"#2f2e41"})),p||(p=L.createElement("path",{fill:"#ffb6b6",d:"M412.883 459.573h-13.851l-6.589-53.427 20.443.001-.003 53.426zM534.137 450.96l-13.403 3.493-19.853-50.037 19.782-5.155 13.474 51.699zM457.805 131.433l3.139 8.16-.628 8.16-61.424 21.275 3.048-35.712 6.904-8.161 48.961 6.278z"})),h||(h=L.createElement("circle",{cx:438.384,cy:36.061,r:21.938,fill:"#ffb7b7"})),d||(d=L.createElement("path",{d:"M423.31 7.494a27.555 27.555 0 0 1 41.894 24.048c-11.96 3.057-24.703 4.335-38.208.736l-3.087-7.555-1.82 7.56q-6.197 4.36-11.963-.015A28.135 28.135 0 0 1 423.31 7.494ZM419.08 485.874h-9.83l-1.754-9.28-4.493 9.28h-26.068a5.86 5.86 0 0 1-3.33-10.682l20.817-14.377v-9.382l21.897 1.307ZM547.982 474.53l-9.511 2.48-4.039-8.537-2.007 10.113-25.225 6.575a5.86 5.86 0 0 1-5.917-9.497l16.518-19.163-2.366-9.078 21.517-4.258ZM532.437 417.361l-40.6-83.447-12.746-101.567c8.788-16.32-7.533-49.528-7.533-49.528v-13.943l-63.22 11.926a303.467 303.467 0 0 0-18.493 110.188L392.393 426h-.8a5 5 0 0 0 0 10h25a5 5 0 1 0 0-10h-.644l17.947-171.757 20.868 84.758 50.43 78.04a4.987 4.987 0 0 0 .4 9.959h25a4.995 4.995 0 0 0 1.843-9.639Z",fill:"#2f2e41"})),y||(y=L.createElement("path",{d:"M477.274 191.367a3.987 3.987 0 0 0-3.605-2.995c-.833-9.527-6.34-70.629-6.549-72.421l-.008-.076-1.594-34.058a5.037 5.037 0 0 0-4.703-4.79l-8.42-.55a.446.446 0 0 1-.431-.446 7.081 7.081 0 0 0-7.082-7.081h-24.93a6.63 6.63 0 0 0-6.576 5.804.44.44 0 0 1-.448.396h-.003a11.845 11.845 0 0 0-11.916 9.824c-3.408 19.83-10.239 64.84-6.862 89.862 1.176 8.71.641 21.812.197 29.1a5.365 5.365 0 0 0 1.336 3.89 3.992 3.992 0 0 0-2.767 4.807 4 4 0 0 0 4.857 2.901l76.603-19.31a4 4 0 0 0 2.901-4.857Z",fill:"#3f3d56"})),x||(x=L.createElement("path",{d:"M350.668 334.55a9.464 9.464 0 0 0-7.945-9.282l-135.815-22.302a9.463 9.463 0 0 0-3.913.174l-31.829 8.23-18.262 4.728-33.703 8.712a9.494 9.494 0 0 0-7.107 9.186v142.315a9.535 9.535 0 0 0 7.51 9.273l138.337-1.566a9.217 9.217 0 0 0 1.976.205 9.469 9.469 0 0 0 2.854-.435l82.19 2.046a9.448 9.448 0 0 0 6.632-9.124Z",fill:"#fff"})),k||(k=L.createElement("path",{d:"M350.668 334.55a9.464 9.464 0 0 0-7.945-9.282l-135.815-22.302a9.463 9.463 0 0 0-3.913.174l-31.829 8.23-18.262 4.728-33.703 8.712a9.494 9.494 0 0 0-7.107 9.186v142.315a9.535 9.535 0 0 0 7.51 9.273l138.337-1.566a9.217 9.217 0 0 0 1.976.205 9.469 9.469 0 0 0 2.854-.435l82.19 2.046a9.448 9.448 0 0 0 6.632-9.124Zm-6.42 149.022-82.188 1.955a7.214 7.214 0 0 1-3.621.174l-138.345-2.433a7.153 7.153 0 0 1-5.629-6.957V333.996a7.123 7.123 0 0 1 4.665-6.68 5.91 5.91 0 0 1 .664-.206l35.655-9.218 21.085-5.455 27.054-6.997a6.782 6.782 0 0 1 1.779-.229 7.036 7.036 0 0 1 1.154.095l135.815 22.302a7.136 7.136 0 0 1 5.17 3.74 7.116 7.116 0 0 1 .79 3.218l.926 142.16a7.09 7.09 0 0 1-4.973 6.846Z",fill:"#ccc"})),E||(E=L.createElement("path",{d:"M347.506 331.348a1.03 1.03 0 0 1-.3.134l-39.949 10.8-12.436 3.36-35.37 9.558a1.372 1.372 0 0 1-.309.04 1.935 1.935 0 0 1-.213-.016L116.307 329.22l-.474-.087a1.19 1.19 0 0 1 .427-2.34l2.87.522 139.965 25.52 30.485-8.238 17.053-4.61 39.331-10.632.625-.166a1.192 1.192 0 0 1 1.383.648.926.926 0 0 1 .072.19 1.189 1.189 0 0 1-.538 1.32Z",fill:"#ccc"})),u||(u=L.createElement("path",{d:"M260.328 484.5c-.65 0-1.18-.523-1.186 2.825l-1.186-129.26c-.006-4.655.52-5.191 1.176-5.197h.01c.65 0 1.18.523 1.186 5.175l1.186 129.26c.006-3.345-.52-2.81-1.175-2.803Z",fill:"#ccc"})),g||(g=L.createElement("path",{d:"m307.594 486-12.773.135-5.241-141.537-133.743-26.61a3.073 3.073 0 0 1-.388-.096 4.715 4.715 0 0 1-2.545-1.794l18.262-4.728 5.368 1.067 126.905 25.244a4.718 4.718 0 0 1 3.194 2.308c.395.688.953 145.189.96 146.011Z",fill:"#ccc"})),S||(S=L.createElement("path",{d:"M409.896 75.49a7.133 7.133 0 0 0-5.988-6.996L301.551 51.686a7.132 7.132 0 0 0-2.95.131l-23.987 6.203-13.764 3.563-25.4 6.566a7.155 7.155 0 0 0-5.356 6.923v83.893a7.186 7.186 0 0 0 5.66 6.989l104.258 22.183a6.947 6.947 0 0 0 1.49.154 7.136 7.136 0 0 0 2.15-.327l61.942-19.561a7.12 7.12 0 0 0 5-6.876Z",fill:"#fff"})),v||(v=L.createElement("path",{d:"M300.392 57.847a.866.866 0 0 0-.221.028l-63.152 16.332a.893.893 0 0 0-.67.864v83.891a.897.897 0 0 0 .707.874l104.258 22.182a.9.9 0 0 0 .455-.022l61.944-19.56a.888.888 0 0 0 .623-.86l-.694-86.036a.891.891 0 0 0-.749-.874L300.536 57.86a.929.929 0 0 0-.144-.012Z",fill:"#3c8f49"})),V||(V=L.createElement("path",{d:"M409.896 75.49a7.133 7.133 0 0 0-5.988-6.996L301.551 51.686a7.132 7.132 0 0 0-2.95.131l-23.987 6.203-13.764 3.563-25.4 6.566a7.155 7.155 0 0 0-5.356 6.923v83.893a7.186 7.186 0 0 0 5.66 6.989l104.258 22.183a6.947 6.947 0 0 0 1.49.154 7.136 7.136 0 0 0 2.15-.327l61.942-19.561a7.12 7.12 0 0 0 5-6.876Zm-4.838 91.209-61.942 19.56a5.437 5.437 0 0 1-2.729.132l-104.264-22.183a5.39 5.39 0 0 1-4.242-5.243V75.072a5.369 5.369 0 0 1 3.515-5.034 4.454 4.454 0 0 1 .5-.155l26.873-6.948 15.89-4.11 20.39-5.274a5.111 5.111 0 0 1 1.34-.173 5.303 5.303 0 0 1 .87.072l102.357 16.808a5.378 5.378 0 0 1 3.897 2.818 5.363 5.363 0 0 1 .596 2.425l.697 86.038a5.344 5.344 0 0 1-3.748 5.16Z",fill:"#3f3d56"})),M||(M=L.createElement("path",{d:"M407.513 73.076a.776.776 0 0 1-.226.102l-30.108 8.139-9.372 2.532-26.657 7.203a1.034 1.034 0 0 1-.233.03 1.458 1.458 0 0 1-.16-.012L233.269 71.474l-.357-.066a.896.896 0 0 1 .322-1.764l2.162.394L340.882 89.27l22.975-6.209 12.852-3.473 29.642-8.014.47-.125a.898.898 0 0 1 1.043.488.698.698 0 0 1 .054.143.896.896 0 0 1-.405.995Z",fill:"#3f3d56"})),w||(w=L.createElement("path",{d:"M341.811 188.5a.894.894 0 0 1-.894-.886l-.893-97.417a.894.894 0 0 1 .885-.902h.008a.894.894 0 0 1 .894.885l.894 97.418a.894.894 0 0 1-.886.902Z",fill:"#3f3d56"})),b||(b=L.createElement("path",{d:"m377.18 176.649-9.373 2.532-3.95-96.119L263.06 63.007a2.316 2.316 0 0 1-.292-.072 3.553 3.553 0 0 1-1.919-1.352l13.764-3.563 4.045.804 95.643 19.025a3.555 3.555 0 0 1 2.407 1.74c.298.518.464 96.44.47 97.06Z",fill:"#3f3d56"})),O||(O=L.createElement("path",{d:"M372.98 121.846a11.997 11.997 0 0 1 1.335 1.337l56.146-6.557 5.46-12.6 20.094 5.755-7.499 23.246a9.119 9.119 0 0 1-8.937 6.315l-64.285-1.827a11.965 11.965 0 1 1-2.313-15.669Z",fill:"#ffb6b6"})),Z||(Z=L.createElement("path",{d:"M429.146 113.718a5.124 5.124 0 0 1 .01-4.271l10.789-23.374a14.245 14.245 0 0 1 27.363 7.932l-3.553 25.581a5.13 5.13 0 0 1-6.523 4.216l-24.86-7.285a5.124 5.124 0 0 1-3.226-2.8Z",fill:"#3f3d56"})),j||(j=L.createElement("path",{d:"M617.485 487.041H1.19a1.19 1.19 0 0 1 0-2.381h616.294a1.19 1.19 0 0 1 0 2.381Z",fill:"#cacaca"})),A||(A=L.createElement("circle",{cx:120.113,cy:324.713,r:35.811,fill:"#3c8f49"})),W||(W=L.createElement("path",{d:"M115.227 343.35a3.982 3.982 0 0 1-3.186-1.593l-9.77-13.027a3.983 3.983 0 1 1 6.374-4.78l6.391 8.522 16.417-24.624a3.984 3.984 0 1 1 6.629 4.42l-19.54 29.309a3.985 3.985 0 0 1-3.204 1.772l-.11.002ZM272.595 134.5a1.512 1.512 0 0 1-.331-.037l-31-7a1.5 1.5 0 0 1 .66-2.926l31 7a1.5 1.5 0 0 1-.33 2.963Z",fill:"#fff"})),N||(N=L.createElement("path",{d:"M153.288 416.236a1.513 1.513 0 0 1-.331.031l-31.776-.535a1.5 1.5 0 0 1 .05-3l31.776.536a1.5 1.5 0 0 1 .281 2.968ZM164.288 433.236a1.513 1.513 0 0 1-.331.031l-31.776-.535a1.5 1.5 0 0 1 .05-3l31.776.536a1.5 1.5 0 0 1 .281 2.968Z",fill:"#e6e6e6"})))}},1747:(e,t,a)=>{a.d(t,{Z:()=>ze});var r,n,l,i,o,c,s,f,m,p,h,d,y,x,k,E,u,g,S,v,V,M,w,b,O,Z,j,A,W,N,L,H,z,F,C,R,D,I,B,P,_,T,J,G,K,q,X,Y,U,Q,$,ee,te,ae,re,ne,le,ie,oe,ce,se,fe,me,pe,he,de,ye,xe,ke,Ee,ue,ge,Se,ve,Ve,Me,we,be,Oe,Ze,je,Ae,We,Ne,Le=a(7294);function He(){return He=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...ze}=e;return Le.createElement("svg",He({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",width:896.675,height:462.272,viewBox:"0 0 896.675 462.272","aria-labelledby":a},ze),t?Le.createElement("title",{id:a},t):null,r||(r=Le.createElement("path",{d:"M895.485 462.169H1.19a1.19 1.19 0 0 1 0-2.382h894.294a1.19 1.19 0 0 1 0 2.382Z",fill:"#3f3d56"})),n||(n=Le.createElement("circle",{cx:280.353,cy:50.98,r:6.467,fill:"#f2f2f2"})),l||(l=Le.createElement("circle",{cx:254.58,cy:50.98,r:6.467,fill:"#f2f2f2"})),i||(i=Le.createElement("circle",{cx:228.807,cy:50.98,r:6.467,fill:"#f2f2f2"})),o||(o=Le.createElement("circle",{cx:203.033,cy:50.98,r:6.467,fill:"#f2f2f2"})),c||(c=Le.createElement("circle",{cx:280.353,cy:77.98,r:6.467,fill:"#f2f2f2"})),s||(s=Le.createElement("circle",{cx:254.58,cy:77.98,r:6.467,fill:"#f2f2f2"})),f||(f=Le.createElement("circle",{cx:228.807,cy:77.98,r:6.467,fill:"#f2f2f2"})),m||(m=Le.createElement("circle",{cx:203.033,cy:77.98,r:6.467,fill:"#f2f2f2"})),p||(p=Le.createElement("circle",{cx:280.353,cy:104.98,r:6.467,fill:"#f2f2f2"})),h||(h=Le.createElement("circle",{cx:254.58,cy:104.98,r:6.467,fill:"#f2f2f2"})),d||(d=Le.createElement("circle",{cx:228.807,cy:104.98,r:6.467,fill:"#f2f2f2"})),y||(y=Le.createElement("circle",{cx:203.033,cy:104.98,r:6.467,fill:"#f2f2f2"})),x||(x=Le.createElement("circle",{cx:280.353,cy:131.98,r:6.467,fill:"#f2f2f2"})),k||(k=Le.createElement("circle",{cx:254.58,cy:131.98,r:6.467,fill:"#f2f2f2"})),E||(E=Le.createElement("circle",{cx:228.807,cy:131.98,r:6.467,fill:"#f2f2f2"})),u||(u=Le.createElement("circle",{cx:203.033,cy:131.98,r:6.467,fill:"#f2f2f2"})),g||(g=Le.createElement("circle",{cx:280.353,cy:158.98,r:6.467,fill:"#f2f2f2"})),S||(S=Le.createElement("circle",{cx:254.58,cy:158.98,r:6.467,fill:"#f2f2f2"})),v||(v=Le.createElement("circle",{cx:228.807,cy:158.98,r:6.467,fill:"#f2f2f2"})),V||(V=Le.createElement("circle",{cx:203.033,cy:158.98,r:6.467,fill:"#f2f2f2"})),M||(M=Le.createElement("circle",{cx:280.353,cy:185.98,r:6.467,fill:"#f2f2f2"})),w||(w=Le.createElement("circle",{cx:254.58,cy:185.98,r:6.467,fill:"#f2f2f2"})),b||(b=Le.createElement("circle",{cx:228.807,cy:185.98,r:6.467,fill:"#f2f2f2"})),O||(O=Le.createElement("circle",{cx:203.033,cy:185.98,r:6.467,fill:"#f2f2f2"})),Z||(Z=Le.createElement("path",{d:"M223.528 362.4v2a12.51 12.51 0 0 0 12.5 12.5h90a12.505 12.505 0 0 0 12.5-12.5v-2a12.41 12.41 0 0 0-2.9-8 12.86 12.86 0 0 0-2.11-2s-49.48-1.12-49.48-2.5h-48.01a12.517 12.517 0 0 0-12.5 12.5Z",fill:"#ccc"})),j||(j=Le.createElement("path",{fill:"#ccc",d:"M275.252 376.403h13v84h-13z"})),A||(A=Le.createElement("path",{d:"M325.252 459.947c0 1.404-19.7.543-44 .543s-44 .861-44-.543 19.7-12.544 44-12.544 44 11.139 44 12.544Z",fill:"#ccc"})),W||(W=Le.createElement("path",{d:"M307.379 360.703a10.743 10.743 0 0 0-3.807-16.026l-27.553-93.885-20.981 10.275 33.68 89.055a10.8 10.8 0 0 0 18.66 10.582Z",fill:"#a0616a"})),N||(N=Le.createElement("path",{d:"m282.26 266.47-23.482 6.357a4.817 4.817 0 0 1-6.042-4.085l-2.838-24.088a13.377 13.377 0 0 1 25.845-6.915l9.674 22.156a4.817 4.817 0 0 1-3.156 6.575Z",fill:"#3c8f49"})),L||(L=Le.createElement("path",{fill:"#a0616a",d:"m313.516 450.101 12.26-.001 5.833-31.796h-18.095l.002 31.797z"})),H||(H=Le.createElement("path",{d:"M310.389 446.098H334.533a15.386 15.386 0 0 1 15.387 15.385v.5l-39.53.002ZM327.746 433.05q-.214 0-.43-.02l-16.966-1.236a4.5 4.5 0 0 1-3.81-6.029l22.707-51.015a3.498 3.498 0 0 0-.196-2.798 3.45 3.45 0 0 0-2.212-1.76c-10.677-2.791-38.072-10.223-61.786-18.918-10.16-3.726-16.559-9.11-19.019-16.002-3.243-9.087 1.555-17.374 1.76-17.722l.162-.272 22.314 2.028 24.191 2.058 53.014 28.427a20.086 20.086 0 0 1 8.818 25.785l-24.44 54.807a4.497 4.497 0 0 1-4.107 2.667Z",fill:"#2f2e41"})),z||(z=Le.createElement("circle",{cx:274.15,cy:193.816,r:24.561,fill:"#a0616a"})),F||(F=Le.createElement("path",{fill:"#a0616a",d:"m306.516 449.101 12.26-.001 5.833-31.796h-18.095l.002 31.797z"})),C||(C=Le.createElement("path",{d:"M303.389 445.098H327.533a15.386 15.386 0 0 1 15.387 15.385v.5l-39.53.002ZM320.746 436.05q-.214 0-.43-.02l-16.966-1.236a4.5 4.5 0 0 1-3.81-6.029l22.707-51.015a3.498 3.498 0 0 0-.196-2.798 3.45 3.45 0 0 0-2.212-1.76c-10.677-2.791-38.072-10.223-61.786-18.918-10.16-3.726-16.559-9.11-19.019-16.002-3.243-9.087 1.555-17.374 1.76-17.722l.162-.272 22.314 2.028 24.191 2.058 53.014 28.427a20.086 20.086 0 0 1 8.818 25.785l-24.44 54.807a4.497 4.497 0 0 1-4.107 2.667Z",fill:"#2f2e41"})),R||(R=Le.createElement("path",{d:"m281.725 232.304-26-9s-16.322 12.54-8.48 43.649a77.012 77.012 0 0 1-3.401 48.32 49.778 49.778 0 0 1-2.619 5.531s29 35 56 9l-10.5-50.5s16.5-33.5-5-47ZM277.2 219.212c-3.496-5.232-6.255-12.487-2.406-17.466 3.8-4.914 11.292-4.19 17.11-6.364 8.105-3.029 12.805-12.55 11.339-21.076s-8.31-15.594-16.464-18.486-17.349-1.952-25.333 1.378c-9.83 4.1-18.261 12.03-21.797 22.077s-1.646 22.108 5.69 29.83c7.863 8.278 20.205 10.484 31.622 10.35",fill:"#2f2e41"})),D||(D=Le.createElement("path",{d:"M254.353 174.58c-4.405 3.586-11.125 1.993-15.854-1.154s-8.565-7.628-13.68-10.096c-9.02-4.35-19.925-1.458-28.702 3.36s-16.56 11.475-25.832 15.256-21.104 3.968-28.125-3.171a25.732 25.732 0 0 0 37.71 30.371c10.16-6.188 15.772-19.163 27.166-22.58 6.306-1.89 13.077-.367 19.45 1.282s13.017 3.43 19.449 2.027 12.447-7.183 11.629-13.715Z",fill:"#2f2e41"})),I||(I=Le.createElement("path",{d:"M334.307 406.007a167.506 167.506 0 0 1 0-50.976 4.303 4.303 0 0 1 4.237-3.605h39.872a4.247 4.247 0 0 1 3.355 1.626 4.32 4.32 0 0 1 .808 3.704 102.328 102.328 0 0 0 0 47.525 4.318 4.318 0 0 1-.808 3.705 4.247 4.247 0 0 1-3.355 1.626h-39.872a4.303 4.303 0 0 1-4.237-3.605Z",fill:"#3c8f49"})),B||(B=Le.createElement("path",{d:"M366.146 376.102h-20.924a3.003 3.003 0 0 1-3-3v-1.172a3.003 3.003 0 0 1 3-3h20.924a3.003 3.003 0 0 1 3 3v1.172a3.003 3.003 0 0 1-3 3ZM366.146 388.447h-20.924a3.003 3.003 0 0 1-3-3v-1.173a3.003 3.003 0 0 1 3-3h20.924a3.003 3.003 0 0 1 3 3v1.173a3.003 3.003 0 0 1-3 3Z",fill:"#fff"})),P||(P=Le.createElement("path",{d:"M344.792 356.204a10.743 10.743 0 0 0-7.69-14.567l-50.136-84.024-17.748 15.192 54.862 77.816a10.8 10.8 0 0 0 20.712 5.583Z",fill:"#a0616a"})),_||(_=Le.createElement("path",{d:"m296.927 271.235-21.15 12.022a4.817 4.817 0 0 1-6.871-2.446l-8.766-22.615a13.377 13.377 0 0 1 23.298-13.153l14.903 19.036a4.817 4.817 0 0 1-1.414 7.156Z",fill:"#2f2e41"})),T||(T=Le.createElement("path",{d:"M521.967 300.75h-406a6.5 6.5 0 1 0 0 13h11.5v141.5a6.5 6.5 0 0 0 13 0V326.24l72.871 132.077a6.5 6.5 0 0 0 11.259-6.5L148.42 313.75h348.046v.084l-76.129 137.983a6.5 6.5 0 1 0 11.258 6.5l64.871-117.578v114.51a6.5 6.5 0 0 0 13 0V317.178l1.891-3.427h10.61a6.5 6.5 0 0 0 0-13Z",fill:"#3f3d56"})),J||(J=Le.createElement("rect",{x:271.467,y:296.75,width:86,height:7,rx:3.5,fill:"#ccc"})),G||(G=Le.createElement("path",{d:"M406.967 303.75h-89a6.507 6.507 0 0 1-6.5-6.5v-49a6.507 6.507 0 0 1 6.5-6.5h89a6.507 6.507 0 0 1 6.5 6.5v49a6.507 6.507 0 0 1-6.5 6.5Z",fill:"#ccc"})),K||(K=Le.createElement("circle",{cx:362.467,cy:272.75,r:6,fill:"#fff"})),q||(q=Le.createElement("path",{d:"M474.888 183.021V7.521A7.53 7.53 0 0 1 482.409 0h138.729a7.53 7.53 0 0 1 7.521 7.521v175.5a7.53 7.53 0 0 1-7.521 7.522H482.409a7.53 7.53 0 0 1-7.521-7.522Zm7.521-181.35a5.857 5.857 0 0 0-5.85 5.85v175.5a5.857 5.857 0 0 0 5.85 5.85h138.729a5.857 5.857 0 0 0 5.85-5.85V7.521a5.857 5.857 0 0 0-5.85-5.85Z",fill:"#e6e6e6"})),X||(X=Le.createElement("path",{d:"M559.553 80.598V44.562a3.765 3.765 0 0 1 3.76-3.76h30.538a3.765 3.765 0 0 1 3.76 3.76v36.036a3.765 3.765 0 0 1-3.76 3.76h-30.537a3.765 3.765 0 0 1-3.76-3.76Z",fill:"#3c8f49"})),Y||(Y=Le.createElement("path",{d:"M500.217 97.312V61.276a3.765 3.765 0 0 1 3.761-3.76h30.537a3.765 3.765 0 0 1 3.76 3.76v36.036a3.765 3.765 0 0 1-3.76 3.76h-30.537a3.765 3.765 0 0 1-3.76-3.76Z",fill:"#ccc"})),U||(U=Le.createElement("path",{d:"M547.853 148.29v-36.035a3.765 3.765 0 0 1 3.76-3.76h30.538a3.765 3.765 0 0 1 3.76 3.76v36.036a3.765 3.765 0 0 1-3.76 3.76h-30.537a3.765 3.765 0 0 1-3.76-3.76Z",fill:"#ff6584"})),Q||(Q=Le.createElement("circle",{cx:780.741,cy:11.82,r:6.467,fill:"#f2f2f2"})),$||($=Le.createElement("circle",{cx:780.741,cy:37.594,r:6.467,fill:"#f2f2f2"})),ee||(ee=Le.createElement("circle",{cx:780.741,cy:63.367,r:6.467,fill:"#f2f2f2"})),te||(te=Le.createElement("circle",{cx:780.741,cy:89.14,r:6.467,fill:"#f2f2f2"})),ae||(ae=Le.createElement("circle",{cx:753.741,cy:11.82,r:6.467,fill:"#f2f2f2"})),re||(re=Le.createElement("circle",{cx:753.741,cy:37.594,r:6.467,fill:"#f2f2f2"})),ne||(ne=Le.createElement("circle",{cx:753.741,cy:63.367,r:6.467,fill:"#f2f2f2"})),le||(le=Le.createElement("circle",{cx:753.741,cy:89.14,r:6.467,fill:"#f2f2f2"})),ie||(ie=Le.createElement("circle",{cx:726.741,cy:11.82,r:6.467,fill:"#f2f2f2"})),oe||(oe=Le.createElement("circle",{cx:726.741,cy:37.594,r:6.467,fill:"#f2f2f2"})),ce||(ce=Le.createElement("circle",{cx:726.741,cy:63.367,r:6.467,fill:"#f2f2f2"})),se||(se=Le.createElement("circle",{cx:726.741,cy:89.14,r:6.467,fill:"#f2f2f2"})),fe||(fe=Le.createElement("circle",{cx:699.741,cy:11.82,r:6.467,fill:"#f2f2f2"})),me||(me=Le.createElement("circle",{cx:699.741,cy:37.594,r:6.467,fill:"#f2f2f2"})),pe||(pe=Le.createElement("circle",{cx:699.741,cy:63.367,r:6.467,fill:"#f2f2f2"})),he||(he=Le.createElement("circle",{cx:699.741,cy:89.14,r:6.467,fill:"#f2f2f2"})),de||(de=Le.createElement("circle",{cx:672.741,cy:11.82,r:6.467,fill:"#f2f2f2"})),ye||(ye=Le.createElement("circle",{cx:672.741,cy:37.594,r:6.467,fill:"#f2f2f2"})),xe||(xe=Le.createElement("circle",{cx:672.741,cy:63.367,r:6.467,fill:"#f2f2f2"})),ke||(ke=Le.createElement("circle",{cx:672.741,cy:89.14,r:6.467,fill:"#f2f2f2"})),Ee||(Ee=Le.createElement("circle",{cx:645.741,cy:11.82,r:6.467,fill:"#f2f2f2"})),ue||(ue=Le.createElement("circle",{cx:645.741,cy:37.594,r:6.467,fill:"#f2f2f2"})),ge||(ge=Le.createElement("circle",{cx:645.741,cy:63.367,r:6.467,fill:"#f2f2f2"})),Se||(Se=Le.createElement("circle",{cx:645.741,cy:89.14,r:6.467,fill:"#f2f2f2"})),ve||(ve=Le.createElement("path",{d:"M671.795 241.252a11.003 11.003 0 0 1 7.767-14.463 10.59 10.59 0 0 1 1.452-.237l24.302-42.598-6.136-10.543 15.275-11.785 11.687 16.232a11.149 11.149 0 0 1-.26 13.309l-33.365 42.714a10.507 10.507 0 0 1 .31 1.035 11.003 11.003 0 0 1-9.36 13.49 10.706 10.706 0 0 1-1.346.084 11.036 11.036 0 0 1-10.326-7.238ZM624.38 450.888l-12.26-.001-5.832-47.288 18.094.001-.002 47.288z",fill:"#ffb8b8"})),Ve||(Ve=Le.createElement("path",{d:"M603.363 447.384h23.644v14.887h-38.53a14.887 14.887 0 0 1 14.886-14.887Z",fill:"#2f2e41"})),Me||(Me=Le.createElement("path",{fill:"#ffb8b8",d:"m725.38 450.888-12.26-.001-5.832-47.288 18.094.001-.002 47.288z"})),we||(we=Le.createElement("path",{d:"M704.363 447.384h23.644v14.887h-38.53a14.887 14.887 0 0 1 14.886-14.887Z",fill:"#2f2e41"})),be||(be=Le.createElement("path",{d:"m717.855 163.93-27.524 10.458-6.72-18.666a11.168 11.168 0 0 1 5.002-13.5 11.168 11.168 0 0 1 14.262 2.785Z",fill:"#3c8f49"})),Oe||(Oe=Le.createElement("path",{d:"m625.438 412.588-23.084-5.265a4.986 4.986 0 0 1-3.812-5.619c9.263-58.71 18.174-93.09 41.14-136.752.32-.814 3.907-17.338 6.247-28.286a4.972 4.972 0 0 1 4.214-5.023l43.044-6.625a5.57 5.57 0 0 1 2.022-.304l.43.081-.005.424c-.006.437-.441.504-.605.53l-.572.087a6.685 6.685 0 0 1 1.775 1.207c18.86 22.684 28.667 97.04 41.123 179.185a4.484 4.484 0 0 1-1.304 3.647 4.933 4.933 0 0 1-3.537 1.6l-27.502.671a4.982 4.982 0 0 1-5.035-4.218l-18.524-107.05a3.974 3.974 0 0 0-7.495-1.155c-14.944 30.435-28.88 56.755-42.606 109.266a4.953 4.953 0 0 1-4.793 3.726 5.03 5.03 0 0 1-1.12-.127Z",fill:"#2f2e41"})),Ze||(Ze=Le.createElement("path",{d:"M647.846 237.89a4.999 4.999 0 0 1-2.084-3.55c-3.525-32.91-1.07-58.664 7.506-78.735a24.992 24.992 0 0 1 16.567-14.18l22.25-1.122.115.055a26.005 26.005 0 0 1 14.219 27.589c-7.156 18.863-13.149 38.503-8.579 54.346a5.122 5.122 0 0 1-.484 3.983 4.884 4.884 0 0 1-3.115 2.31l-42.379 10.08a4.964 4.964 0 0 1-4.016-.777Z",fill:"#3c8f49"})),je||(je=Le.createElement("path",{d:"m638.268 190.662-42.674-33.666a10.516 10.516 0 0 1-1.036.305 11.027 11.027 0 0 1-8.818-1.691 10.913 10.913 0 0 1-4.627-7.734 11.023 11.023 0 0 1 7.21-11.638 11.004 11.004 0 0 1 14.425 7.838 10.573 10.573 0 0 1 .23 1.452l42.48 24.507 10.573-6.086 11.71 15.332-16.413 11.699a10.942 10.942 0 0 1-13.06-.318Z",fill:"#ffb8b8"})),Ae||(Ae=Le.createElement("path",{d:"M672.949 184.055 648.6 167.498l11.443-16.207a11.168 11.168 0 0 1 13.929-3.64 11.168 11.168 0 0 1 5.894 13.283Z",fill:"#3c8f49"})),We||(We=Le.createElement("circle",{cx:684.659,cy:107.431,r:24.561,fill:"#ffb8b8"})),Ne||(Ne=Le.createElement("path",{d:"M675.654 103.773c-6.313 4.32-14.601 8.762-21.049 4.161-4.233-3.021-5.567-8.615-3.85-13.525 3.087-8.828 11.57-12.715 19.68-15.694 10.545-3.874 22.026-6.955 32.911-4.181s20.506 13.313 18.54 24.373c-1.58 8.894-9.97 16.295-8.778 25.25 1.199 9.012 11.334 13.755 20.281 15.366s18.96 2.128 25.391 8.555c8.203 8.2 6.155 22.854-1.564 31.51s-19.367 12.58-30.654 15.247c-14.954 3.535-31.129 5.392-45.332-.473s-25.256-21.655-21.141-36.46c1.738-6.254 5.832-11.54 9.788-16.685s7.963-10.526 9.473-16.839c1.257-5.26.327-11.368-3.162-15.314a4.437 4.437 0 0 1-.594-5.187Z",fill:"#2f2e41"})))}},2924:(e,t,a)=>{a.r(t),a.d(t,{default:()=>k});a(7294);var r=a(6040),n=a(512);const l={heroBanner:"heroBanner_c70D",buttons:"buttons_lHLg"};var i=a(9965),o=a(4996),c=a(9960),s=a(5893);function f(){return(0,s.jsx)("header",{className:(0,n.Z)("hero hero--primary",l.heroBanner),children:(0,s.jsxs)("div",{className:"container",children:[(0,s.jsx)(i.Z,{alt:"NaaVRE - Notebook as a Virtual Research Environment",sources:{light:(0,o.Z)("/img/hero-light.svg"),dark:(0,o.Z)("/img/hero-dark.svg")},height:"200px",width:"auto"}),(0,s.jsxs)("div",{className:l.buttons,children:[(0,s.jsx)(c.Z,{className:"button button--secondary button--lg",to:"/docs/tutorials",children:"Getting started"}),(0,s.jsx)(c.Z,{className:"button button--secondary button--lg",to:"https://docs.google.com/forms/d/e/1FAIpQLSdbF6lrAYUx2CH7oxpjKWAa3mH2bSIPKJB5BkRa3xZStTcJOg/viewform?usp=dialog",children:"Get in touch"})]})]})})}var m=a(2503);const p={features:"features_t9lD",featureSvg:"featureSvg_GfXr"},h=[{title:"Turn Jupyter notebooks into reusable components",Svg:a(5550).Z,description:(0,s.jsx)(s.Fragment,{children:"NaaVRE lets you containerize cells of Jupyter notebooks. Use these reusable components to build workflows."})},{title:"Compose workflows and run them in the cloud",Svg:a(1535).Z,description:(0,s.jsx)(s.Fragment,{children:"NaaVRE lets you compose workflows and run them into a cloud environment, with different parameters or input data."})},{title:"Find, reuse and share research assets",Svg:a(1747).Z,description:(0,s.jsx)(s.Fragment,{children:"Find notebooks, containerized cells, workflows and datasets to run your own experiments in NaaVRE."})}];function d(e){let{title:t,Svg:a,description:r}=e;return(0,s.jsxs)("div",{className:(0,n.Z)("col col--4"),children:[(0,s.jsx)("div",{className:"text--center",children:(0,s.jsx)(a,{className:p.featureSvg,role:"img"})}),(0,s.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,s.jsx)(m.Z,{as:"h3",children:t}),(0,s.jsx)("p",{children:r})]})]})}function y(){return(0,s.jsx)("section",{className:p.features,children:(0,s.jsx)("div",{className:"container",children:(0,s.jsx)("div",{className:"row",children:h.map(((e,t)=>(0,s.jsx)(d,{...e},t)))})})})}var x=a(6670);function k(){return(0,s.jsxs)(r.Z,{description:"Notebook as a Virtual Research Environment",children:[(0,s.jsx)(f,{}),(0,s.jsxs)("main",{children:[(0,s.jsx)(y,{}),(0,s.jsx)("div",{className:"container",children:(0,s.jsx)(x.default,{})})]})]})}},1151:(e,t,a)=>{a.d(t,{Z:()=>o,a:()=>i});var r=a(7294);const n={},l=r.createContext(n);function i(e){const t=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(l.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/22571d12.f08edc9b.js b/pr-preview/pr-33/assets/js/22571d12.f08edc9b.js
new file mode 100644
index 0000000..909803c
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/22571d12.f08edc9b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[480],{3769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/27.ae3da107.js b/pr-preview/pr-33/assets/js/27.ae3da107.js
new file mode 100644
index 0000000..6ec3a34
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/27.ae3da107.js
@@ -0,0 +1 @@
+(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[27],{3901:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(7294);var r=n(3743);const o={tableOfContentsInline:"tableOfContentsInline_prmo"};var a=n(5893);function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:i}=e;return(0,a.jsx)("div",{className:o.tableOfContentsInline,children:(0,a.jsx)(r.Z,{toc:t,minHeadingLevel:n,maxHeadingLevel:i,className:"table-of-contents",linkClassName:null})})}},3743:(e,t,n)=>{"use strict";n.d(t,{Z:()=>h});var r=n(7294),o=n(6668);function a(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const r=n.slice(2,e.level);e.parentIndex=Math.max(...r),n[e.level]=t}));const r=[];return t.forEach((e=>{const{parentIndex:n,...o}=e;n>=0?t[n].children.push(o):r.push(o)})),r}function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:r}=e;return t.flatMap((e=>{const t=i({toc:e.children,minHeadingLevel:n,maxHeadingLevel:r});return function(e){return e.level>=n&&e.level<=r}(e)?[{...e,children:t}]:t}))}function u(e){const t=e.getBoundingClientRect();return t.top===t.bottom?u(e.parentNode):t}function l(e,t){let{anchorTopOffset:n}=t;const r=e.find((e=>u(e).top>=n));if(r){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function s(e){const t=(0,r.useRef)(void 0),n=c();(0,r.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:r,linkActiveClassName:o,minHeadingLevel:a,maxHeadingLevel:i}=e;function u(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(r),u=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const r=[];for(let o=t;o<=n;o+=1)r.push(`h${o}.anchor`);return Array.from(document.querySelectorAll(r.join()))}({minHeadingLevel:a,maxHeadingLevel:i}),c=l(u,{anchorTopOffset:n.current}),s=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(o),e.classList.add(o),t.current=e):e.classList.remove(o)}(e,e===s)}))}return document.addEventListener("scroll",u),document.addEventListener("resize",u),u(),()=>{document.removeEventListener("scroll",u),document.removeEventListener("resize",u)}}),[e,n])}var f=n(9960),p=n(5893);function y(e){let{toc:t,className:n,linkClassName:r,isChild:o}=e;return t.length?(0,p.jsx)("ul",{className:o?void 0:n,children:t.map((e=>(0,p.jsxs)("li",{children:[(0,p.jsx)(f.Z,{to:`#${e.id}`,className:r??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,p.jsx)(y,{isChild:!0,toc:e.children,className:n,linkClassName:r})]},e.id)))}):null}const d=r.memo(y);function h(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:u="table-of-contents__link",linkActiveClassName:l,minHeadingLevel:c,maxHeadingLevel:f,...y}=e;const h=(0,o.L)(),v=c??h.tableOfContents.minHeadingLevel,b=f??h.tableOfContents.maxHeadingLevel,m=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:o}=e;return(0,r.useMemo)((()=>i({toc:a(t),minHeadingLevel:n,maxHeadingLevel:o})),[t,n,o])}({toc:t,minHeadingLevel:v,maxHeadingLevel:b});return s((0,r.useMemo)((()=>{if(u&&l)return{linkClassName:u,linkActiveClassName:l,minHeadingLevel:v,maxHeadingLevel:b}}),[u,l,v,b])),(0,p.jsx)(d,{toc:m,className:n,linkClassName:u,...y})}},9996:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===n}(e)}(e)};var n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?l((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function o(e,t,n){return e.concat(t).map((function(e){return r(e,n)}))}function a(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function i(e,t){try{return t in e}catch(n){return!1}}function u(e,t,n){var o={};return n.isMergeableObject(e)&&a(e).forEach((function(t){o[t]=r(e[t],n)})),a(t).forEach((function(a){(function(e,t){return i(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,a)||(i(e,a)&&n.isMergeableObject(t[a])?o[a]=function(e,t){if(!t.customMerge)return l;var n=t.customMerge(e);return"function"==typeof n?n:l}(a,n)(e[a],t[a],n):o[a]=r(t[a],n))})),o}function l(e,n,a){(a=a||{}).arrayMerge=a.arrayMerge||o,a.isMergeableObject=a.isMergeableObject||t,a.cloneUnlessOtherwiseSpecified=r;var i=Array.isArray(n);return i===Array.isArray(e)?i?a.arrayMerge(e,n,a):u(e,n,a):r(n,a)}l.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return l(e,n,t)}),{})};var c=l;e.exports=c},9090:e=>{function t(e,t){e.onload=function(){this.onerror=this.onload=null,t(null,e)},e.onerror=function(){this.onerror=this.onload=null,t(new Error("Failed to load "+this.src),e)}}function n(e,t){e.onreadystatechange=function(){"complete"!=this.readyState&&"loaded"!=this.readyState||(this.onreadystatechange=null,t(null,e))}}e.exports=function(e,r,o){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("script");"function"==typeof r&&(o=r,r={}),r=r||{},o=o||function(){},i.type=r.type||"text/javascript",i.charset=r.charset||"utf8",i.async=!("async"in r)||!!r.async,i.src=e,r.attrs&&function(e,t){for(var n in t)e.setAttribute(n,t[n])}(i,r.attrs),r.text&&(i.text=""+r.text),("onload"in i?t:n)(i,o),i.onload||t(i,o),a.appendChild(i)}},845:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=Number.isNaN||function(e){return"number"==typeof e&&e!=e};function o(e,t){if(e.length!==t.length)return!1;for(var n=0;n{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=c();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),i=(o=n(9590))&&o.__esModule?o:{default:o},u=n(5741),l=n(8045);function c(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return c=function(){return e},e}function s(){return s=Object.assign||function(e){for(var t=1;t0&&e<1){var o=this.player.getDuration();return o?void this.player.seekTo(o*e,n):void console.warn("ReactPlayer: could not seek using fraction \u2013\xa0duration not yet available")}this.player.seekTo(e,n)}else 0!==e&&(this.seekOnPlay=e,setTimeout((function(){r.seekOnPlay=null}),5e3))}},{key:"render",value:function(){var e=this.props.activePlayer;return e?a.default.createElement(e,s({},this.props,{onMount:this.handlePlayerMount,onReady:this.handleReady,onPlay:this.handlePlay,onPause:this.handlePause,onEnded:this.handleEnded,onLoaded:this.handleLoaded,onError:this.handleError})):null}}],n&&f(t.prototype,n),r&&f(t,r),u}(a.Component);t.default=b,v(b,"displayName","Player"),v(b,"propTypes",u.propTypes),v(b,"defaultProps",u.defaultProps)},3855:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var u=o?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(n,i,u):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(7294));function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createReactPlayer=void 0;var r=j(n(7294)),o=s(n(9996)),a=s(n(845)),i=s(n(9590)),u=n(5741),l=n(8045),c=s(n(722));function s(e){return e&&e.__esModule?e:{default:e}}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function y(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:"player";return n.player?n.player.getInternalPlayer(e):null})),w(g(n),"seekTo",(function(e,t,r){if(!n.player)return null;n.player.seekTo(e,t,r)})),w(g(n),"handleReady",(function(){n.props.onReady(g(n))})),w(g(n),"getActivePlayer",(0,a.default)((function(n){for(var r=0,o=[].concat(T,h(e));r{"use strict";t.Z=void 0;var r,o=(r=n(6497))&&r.__esModule?r:{default:r},a=n(390);var i=o.default[o.default.length-1],u=(0,a.createReactPlayer)(o.default,i);t.Z=u},1776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canPlay=t.FLV_EXTENSIONS=t.DASH_EXTENSIONS=t.HLS_EXTENSIONS=t.VIDEO_EXTENSIONS=t.AUDIO_EXTENSIONS=t.MATCH_URL_KALTURA=t.MATCH_URL_VIDYARD=t.MATCH_URL_MIXCLOUD=t.MATCH_URL_DAILYMOTION=t.MATCH_URL_TWITCH_CHANNEL=t.MATCH_URL_TWITCH_VIDEO=t.MATCH_URL_WISTIA=t.MATCH_URL_STREAMABLE=t.MATCH_URL_FACEBOOK_WATCH=t.MATCH_URL_FACEBOOK=t.MATCH_URL_VIMEO=t.MATCH_URL_SOUNDCLOUD=t.MATCH_URL_YOUTUBE=void 0;var r=n(8045);function o(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return u=e.done,e},e:function(e){l=!0,i=e},f:function(){try{u||null==n.return||n.return()}finally{if(l)throw i}}}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.player.duration||null}},{key:"getCurrentTime",value:function(){return this.player.currentTime}},{key:"getSecondsLoaded",value:function(){return this.player.bufferedTime}},{key:"render",value:function(){var e={width:"100%",height:"100%",display:this.props.display};return o.default.createElement("div",{style:e},o.default.createElement("div",{ref:this.ref}))}}],n&&p(t.prototype,n),r&&p(t,r),l}(o.Component);t.default=m,b(m,"displayName","DailyMotion"),b(m,"canPlay",i.canPlay.dailymotion),b(m,"loopOnEnded",!0)},1972:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(){return l=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentPosition")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.props.config.attributes;return o.default.createElement("div",l({style:{width:"100%",height:"100%"},id:this.playerID,className:"fb-video","data-href":this.props.url,"data-autoplay":this.props.playing?"true":"false","data-allowfullscreen":"true","data-controls":this.props.controls?"true":"false"},e))}}],n&&c(t.prototype,n),r&&c(t,r),u}(o.Component);t.default=b,d(b,"displayName","Facebook"),d(b,"canPlay",i.canPlay.facebook),d(b,"loopOnEnded",!0)},4926:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(){return l=Object.assign||function(e){for(var t=1;t1,b=h&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||v)&&!window.MSStream,m=h&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&!window.MSStream,P=/www\.dropbox\.com\/.+/,g=/https:\/\/watch\.cloudflarestream\.com\/([a-z0-9]+)/,O=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(y,e);var t,n,r,u=f(y);function y(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,y);for(var t=arguments.length,n=new Array(t),r=0;r1&&void 0!==arguments[1])||arguments[1];this.player.currentTime=e,t||this.pause()}},{key:"setVolume",value:function(e){this.player.volume=e}},{key:"enablePIP",value:function(){this.player.requestPictureInPicture&&document.pictureInPictureElement!==this.player?this.player.requestPictureInPicture():(0,a.supportsWebKitPresentationMode)(this.player)&&"picture-in-picture"!==this.player.webkitPresentationMode&&this.player.webkitSetPresentationMode("picture-in-picture")}},{key:"disablePIP",value:function(){document.exitPictureInPicture&&document.pictureInPictureElement===this.player?document.exitPictureInPicture():(0,a.supportsWebKitPresentationMode)(this.player)&&"inline"!==this.player.webkitPresentationMode&&this.player.webkitSetPresentationMode("inline")}},{key:"setPlaybackRate",value:function(e){try{this.player.playbackRate=e}catch(t){this.props.onError(t)}}},{key:"getDuration",value:function(){if(!this.player)return null;var e=this.player,t=e.duration,n=e.seekable;return t===1/0&&n.length>0?n.end(n.length-1):t}},{key:"getCurrentTime",value:function(){return this.player?this.player.currentTime:null}},{key:"getSecondsLoaded",value:function(){if(!this.player)return null;var e=this.player.buffered;if(0===e.length)return 0;var t=e.end(e.length-1),n=this.getDuration();return t>n?n:t}},{key:"getSource",value:function(e){var t=this.shouldUseHLS(e),n=this.shouldUseDASH(e),r=this.shouldUseFLV(e);if(!(e instanceof Array||(0,a.isMediaStream)(e)||t||n||r))return P.test(e)?e.replace("www.dropbox.com","dl.dropboxusercontent.com"):e}},{key:"render",value:function(){var e=this.props,t=e.url,n=e.playing,r=e.loop,a=e.controls,i=e.muted,u=e.config,c=e.width,s=e.height,f=this.shouldUseAudio(this.props)?"audio":"video",p={width:"auto"===c?c:"100%",height:"auto"===s?s:"100%"};return o.default.createElement(f,l({ref:this.ref,src:this.getSource(t),style:p,preload:"auto",autoPlay:n||void 0,controls:a,muted:i,loop:r},u.attributes),t instanceof Array&&t.map(this.renderSourceElement),u.tracks.map(this.renderTrack))}}],n&&c(t.prototype,n),r&&c(t,r),y}(o.Component);t.default=O,d(O,"displayName","FilePlayer"),d(O,"canPlay",i.canPlay.file)},3911:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1];this.callPlayer("setCurrentTime",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"setLoop",value:function(e){this.callPlayer("setLoop",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){return o.default.createElement("iframe",{ref:this.ref,src:this.props.url,frameBorder:"0",scrolling:"no",style:{width:"100%",height:"100%"},allow:"encrypted-media; autoplay; fullscreen;",referrerPolicy:"no-referrer-when-downgrade"})}}],n&&l(t.prototype,n),r&&l(t,r),u}(o.Component);t.default=d,y(d,"displayName","Kaltura"),y(d,"canPlay",i.canPlay.kaltura)},3644:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.props,t=e.url,n=e.config,r=t.match(i.MATCH_URL_MIXCLOUD)[1],u=(0,a.queryString)(c(c({},n.options),{},{feed:"/".concat(r,"/")}));return o.default.createElement("iframe",{key:r,ref:this.ref,style:{width:"100%",height:"100%"},src:"https://www.mixcloud.com/widget/iframe/?".concat(u),frameBorder:"0",allow:"autoplay"})}}],n&&s(t.prototype,n),r&&s(t,r),l}(o.Component);t.default=v,h(v,"displayName","Mixcloud"),h(v,"canPlay",i.canPlay.mixcloud),h(v,"loopOnEnded",!0)},2648:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seekTo",1e3*e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.fractionLoaded*this.duration}},{key:"render",value:function(){var e={width:"100%",height:"100%",display:this.props.display};return o.default.createElement("iframe",{ref:this.ref,src:"https://w.soundcloud.com/player/?url=".concat(encodeURIComponent(this.props.url)),style:e,frameBorder:0,allow:"autoplay"})}}],n&&s(t.prototype,n),r&&s(t,r),u}(o.Component);t.default=v,h(v,"displayName","SoundCloud"),h(v,"canPlay",i.canPlay.soundcloud),h(v,"loopOnEnded",!0)},993:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1];this.callPlayer("setCurrentTime",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"setLoop",value:function(e){this.callPlayer("setLoop",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){var e=this.props.url.match(i.MATCH_URL_STREAMABLE)[1];return o.default.createElement("iframe",{ref:this.ref,src:"https://streamable.com/o/".concat(e),frameBorder:"0",scrolling:"no",style:{width:"100%",height:"100%"},allow:"encrypted-media; autoplay; fullscreen;"})}}],n&&l(t.prototype,n),r&&l(t,r),p}(o.Component);t.default=d,y(d,"displayName","Streamable"),y(d,"canPlay",i.canPlay.streamable)},9482:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentTime")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){return o.default.createElement("div",{style:{width:"100%",height:"100%"},id:this.playerID})}}],n&&c(t.prototype,n),r&&c(t,r),y}(o.Component);t.default=h,d(h,"displayName","Twitch"),d(h,"canPlay",i.canPlay.twitch),d(h,"loopOnEnded",!0)},6596:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("setPlaybackSpeed",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.callPlayer("currentTime")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e={width:"100%",height:"100%",display:this.props.display};return o.default.createElement("div",{style:e},o.default.createElement("div",{ref:this.ref}))}}],n&&c(t.prototype,n),r&&c(t,r),y}(o.Component);t.default=h,d(h,"displayName","Vidyard"),d(h,"canPlay",i.canPlay.vidyard)},868:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1];this.callPlayer("setCurrentTime",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"setMuted",value:function(e){this.callPlayer("setMuted",e)}},{key:"setLoop",value:function(e){this.callPlayer("setLoop",e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("setPlaybackRate",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){var e={width:"100%",height:"100%",overflow:"hidden",display:this.props.display};return o.default.createElement("div",{key:this.props.url,ref:this.ref,style:e})}}],n&&c(t.prototype,n),r&&c(t,r),u}(o.Component);t.default=v,d(v,"displayName","Vimeo"),d(v,"canPlay",i.canPlay.vimeo),d(v,"forceLoad",!0)},8018:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t1&&void 0!==arguments[1])||arguments[1];this.callPlayer("time",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("volume",e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("playbackRate",e)}},{key:"getDuration",value:function(){return this.callPlayer("duration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("time")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.props.url,t=e&&e.match(i.MATCH_URL_WISTIA)[1],n="wistia_embed wistia_async_".concat(t);return o.default.createElement("div",{id:this.playerID,key:t,className:n,style:{width:"100%",height:"100%"}})}}],n&&s(t.prototype,n),r&&s(t,r),l}(o.Component);t.default=v,h(v,"displayName","Wistia"),h(v,"canPlay",i.canPlay.wistia),h(v,"loopOnEnded",!0)},356:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]&&arguments[1];this.callPlayer("seekTo",e),t||this.props.playing||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("setPlaybackRate",e)}},{key:"setLoop",value:function(e){this.callPlayer("setLoop",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentTime")}},{key:"getSecondsLoaded",value:function(){return this.callPlayer("getVideoLoadedFraction")*this.getDuration()}},{key:"render",value:function(){var e={width:"100%",height:"100%",display:this.props.display};return o.default.createElement("div",{style:e},o.default.createElement("div",{ref:this.ref}))}}],n&&p(t.prototype,n),r&&p(t,r),l}(o.Component);t.default=O,b(O,"displayName","YouTube"),b(O,"canPlay",i.canPlay.youtube)},6497:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(7294),o=n(8045),a=n(1776);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,t&&t.set(e,n),n}var c=[{key:"youtube",name:"YouTube",canPlay:a.canPlay.youtube,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(356))}))}))},{key:"soundcloud",name:"SoundCloud",canPlay:a.canPlay.soundcloud,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(2648))}))}))},{key:"vimeo",name:"Vimeo",canPlay:a.canPlay.vimeo,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(868))}))}))},{key:"facebook",name:"Facebook",canPlay:a.canPlay.facebook,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(1972))}))}))},{key:"streamable",name:"Streamable",canPlay:a.canPlay.streamable,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(993))}))}))},{key:"wistia",name:"Wistia",canPlay:a.canPlay.wistia,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(8018))}))}))},{key:"twitch",name:"Twitch",canPlay:a.canPlay.twitch,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(9482))}))}))},{key:"dailymotion",name:"DailyMotion",canPlay:a.canPlay.dailymotion,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(6807))}))}))},{key:"mixcloud",name:"Mixcloud",canPlay:a.canPlay.mixcloud,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(3644))}))}))},{key:"vidyard",name:"Vidyard",canPlay:a.canPlay.vidyard,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(6596))}))}))},{key:"kaltura",name:"Kaltura",canPlay:a.canPlay.kaltura,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(3911))}))}))},{key:"file",name:"FilePlayer",canPlay:a.canPlay.file,canEnablePIP:function(e){return a.canPlay.file(e)&&(document.pictureInPictureEnabled||(0,o.supportsWebKitPresentationMode)())&&!a.AUDIO_EXTENSIONS.test(e)},lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(4926))}))}))}];t.default=c},5741:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultProps=t.propTypes=void 0;var r,o=(r=n(5697))&&r.__esModule?r:{default:r};var a=o.default.string,i=o.default.bool,u=o.default.number,l=o.default.array,c=o.default.oneOfType,s=o.default.shape,f=o.default.object,p=o.default.func,y=o.default.node,d={url:c([a,l,f]),playing:i,loop:i,controls:i,volume:u,muted:i,playbackRate:u,width:c([a,u]),height:c([a,u]),style:f,progressInterval:u,playsinline:i,pip:i,stopOnUnmount:i,light:c([i,a,f]),playIcon:y,previewTabIndex:u,fallback:y,oEmbedUrl:a,wrapper:c([a,p,s({render:p.isRequired})]),config:s({soundcloud:s({options:f}),youtube:s({playerVars:f,embedOptions:f,onUnstarted:p}),facebook:s({appId:a,version:a,playerId:a,attributes:f}),dailymotion:s({params:f}),vimeo:s({playerOptions:f,title:a}),file:s({attributes:f,tracks:l,forceVideo:i,forceAudio:i,forceHLS:i,forceSafariHLS:i,forceDisableHls:i,forceDASH:i,forceFLV:i,hlsOptions:f,hlsVersion:a,dashVersion:a,flvVersion:a}),wistia:s({options:f,playerId:a,customControls:l}),mixcloud:s({options:f}),twitch:s({options:f,playerId:a}),vidyard:s({options:f})}),onReady:p,onStart:p,onPlay:p,onPause:p,onBuffer:p,onBufferEnd:p,onEnded:p,onError:p,onDuration:p,onSeek:p,onPlaybackRateChange:p,onPlaybackQualityChange:p,onProgress:p,onClickPreview:p,onEnablePIP:p,onDisablePIP:p};t.propTypes=d;var h=function(){},v={playing:!1,loop:!1,controls:!1,volume:null,muted:!1,playbackRate:1,width:"640px",height:"360px",style:{},progressInterval:1e3,playsinline:!1,pip:!1,stopOnUnmount:!0,light:!1,fallback:null,wrapper:"div",previewTabIndex:0,oEmbedUrl:"https://noembed.com/embed?url={url}",config:{soundcloud:{options:{visual:!0,buying:!1,liking:!1,download:!1,sharing:!1,show_comments:!1,show_playcount:!1}},youtube:{playerVars:{playsinline:1,showinfo:0,rel:0,iv_load_policy:3,modestbranding:1},embedOptions:{},onUnstarted:h},facebook:{appId:"1309697205772819",version:"v3.3",playerId:null,attributes:{}},dailymotion:{params:{api:1,"endscreen-enable":!1}},vimeo:{playerOptions:{autopause:!1,byline:!1,portrait:!1,title:!1},title:null},file:{attributes:{},tracks:[],forceVideo:!1,forceAudio:!1,forceHLS:!1,forceDASH:!1,forceFLV:!1,hlsOptions:{},hlsVersion:"1.1.4",dashVersion:"3.1.3",flvVersion:"1.5.0",forceDisableHls:!1},wistia:{options:{},playerId:null,customControls:null},mixcloud:{options:{hide_cover:1}},twitch:{options:{},playerId:null},vidyard:{options:{}}},onReady:h,onStart:h,onPlay:h,onPause:h,onBuffer:h,onBufferEnd:h,onEnded:h,onError:h,onDuration:h,onSeek:h,onPlaybackRateChange:h,onPlaybackQualityChange:h,onProgress:h,onClickPreview:h,onEnablePIP:h,onDisablePIP:h};t.defaultProps=v},8045:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseStartTime=function(e){return p(e,l)},t.parseEndTime=function(e){return p(e,c)},t.randomString=function(){return Math.random().toString(36).substr(2,5)},t.queryString=function(e){return Object.keys(e).map((function(t){return"".concat(t,"=").concat(e[t])})).join("&")},t.getSDK=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0},a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:r.default,i=y(t);if(i&&o(i))return Promise.resolve(i);return new Promise((function(r,o){if(d[e])d[e].push({resolve:r,reject:o});else{d[e]=[{resolve:r,reject:o}];var i=function(t){d[e].forEach((function(e){return e.resolve(t)}))};if(n){var u=window[n];window[n]=function(){u&&u(),i(y(t))}}a(e,(function(r){r?(d[e].forEach((function(e){return e.reject(r)})),d[e]=null):n||i(y(t))}))}}))},t.getConfig=function(e,t){return(0,o.default)(t.config,e.config)},t.omit=function(e){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o1?r-1:0),a=1;a0&&void 0!==arguments[0]?arguments[0]:document.createElement("video"),t=!1===/iPhone|iPod/.test(navigator.userAgent);return e.webkitSupportsPresentationMode&&"function"==typeof e.webkitSetPresentationMode&&t};var r=a(n(9090)),o=a(n(9996));function a(e){return e&&e.__esModule?e:{default:e}}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,a=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(l){o=!0,a=l}finally{try{r||null==u.return||u.return()}finally{if(o)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n{"use strict";n.d(t,{Z:()=>u,a:()=>i});var r=n(7294);const o={},a=r.createContext(o);function i(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function u(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/34aec551.882b4c83.js b/pr-preview/pr-33/assets/js/34aec551.882b4c83.js
new file mode 100644
index 0000000..7de9650
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/34aec551.882b4c83.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[971],{2455:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var i=t(5893),s=t(1151);const a={sidebar_position:1,title:"User manual"},r=void 0,l={id:"readiness_levels/user_manual",title:"User manual",description:"The following guidelines can be used to determine the completeness of a user manual.",source:"@site/docs/readiness_levels/user_manual.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/user_manual",permalink:"/pr-preview/pr-33/docs/readiness_levels/user_manual",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/user_manual.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"User manual"},sidebar:"tutorialSidebar",previous:{title:"RAVRE documentation",permalink:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation"},next:{title:"Community supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter"}},o={},c=[];function d(e){const n={a:"a",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"The following guidelines can be used to determine the completeness of a user manual."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["The virtual lab is explained from the following viewpoints:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"A conceptual viewpoint. There is an intuitive description of what happens."}),"\n",(0,i.jsx)(n.li,{children:"A mathematical viewpoint. How the real world system relates to the used mathematical algorithm is clear."}),"\n",(0,i.jsx)(n.li,{children:"A computational viewpoint: How the algorithm is converted into computational methods is explained."}),"\n",(0,i.jsx)(n.li,{children:"An engineering viewpoint: There is a description of the software architecture of the virtual lab."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["The parameters are clear.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"It is clear what the ecological meaning of the parameter is."}),"\n",(0,i.jsx)(n.li,{children:"It is clear how to change these parameters."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["There is a tutorial: Virtual lab developers are strongly encouraged to create a tutorial for virtual labs early on in the development. In the simplest case, this is the existing main notebook with a description of the processes that occur during execution.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The tutorial can be done without supervision."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Known potential pitfalls in using the virtual lab are described."}),"\n",(0,i.jsx)(n.li,{children:"There is a description of the standards used for data exchange with application programming interfaces and databases."}),"\n",(0,i.jsx)(n.li,{children:"The intended audience is described. Recommended prior knowledge is listed."}),"\n",(0,i.jsxs)(n.li,{children:["Storage location","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Store the user manual for the virtual lab in the same git repository as the virtual lab assets."}),"\n",(0,i.jsxs)(n.li,{children:["The user manual will be made available on ",(0,i.jsx)(n.a,{href:"https://naavre.net/",children:"NaaVRE.net"})," and should be separated from the codebase."]}),"\n",(0,i.jsx)(n.li,{children:"Instructions on how to use a single notebook can be stored in the markdown of that notebook."}),"\n"]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>l,a:()=>r});var i=t(7294);const s={},a=i.createContext(s);function r(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/34b0fabf.a760253c.js b/pr-preview/pr-33/assets/js/34b0fabf.a760253c.js
new file mode 100644
index 0000000..8f83540
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/34b0fabf.a760253c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[360],{216:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var i=r(5893),o=r(1151),n=r(2457);const s={sidebar_position:1,title:"Virtual lab coordinator"},a=void 0,l={id:"readiness_levels/Virtual_lab_roles/Coordinator",title:"Virtual lab coordinator",description:"The virtual lab coordinator has the following responsibilities per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/Coordinator.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Coordinator",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Coordinator.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Virtual lab coordinator"},sidebar:"tutorialSidebar",previous:{title:"Community supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter"},next:{title:"Core developer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer"}},u={},d=[];function p(e){const t={li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return n||c("Responsibilities",!1),n.L0Coordinator||c("Responsibilities.L0Coordinator",!0),n.L1Coordinator||c("Responsibilities.L1Coordinator",!0),n.L2Coordinator||c("Responsibilities.L2Coordinator",!0),n.L3Coordinator||c("Responsibilities.L3Coordinator",!0),n.L4Coordinator||c("Responsibilities.L4Coordinator",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"The virtual lab coordinator has the following responsibilities per level:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["L0: ",(0,i.jsx)(n.L0Coordinator,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L1: ",(0,i.jsx)(n.L1Coordinator,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L2: ",(0,i.jsx)(n.L2Coordinator,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L3: ",(0,i.jsx)(n.L3Coordinator,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L4: ",(0,i.jsx)(n.L4Coordinator,{})]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}function c(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>i,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>o,L1Coordinator:()=>v,L1CoreDeveloper:()=>w,L1DevOps:()=>L,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>S,L1Reviewer:()=>k,L2CommunitySupporter:()=>n,L2Coordinator:()=>m,L2CoreDeveloper:()=>y,L2DevOps:()=>C,L2GoldenUser:()=>d,L2InfrastructureSupporter:()=>V,L2Trainer:()=>E,L2VREResearcher:()=>P,L3CommunitySupporter:()=>s,L3Coordinator:()=>b,L3CoreDeveloper:()=>_,L3GoldenUser:()=>p,L3InfrastructureSupporter:()=>j,L3SteeringBoard:()=>U,L3Trainer:()=>D,L3UserSupporter:()=>T,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>x,L4GoldenUser:()=>h,L4InfrastructureSupporter:()=>R,L4SteeringBoard:()=>G,L4UserSupporter:()=>I});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",o=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",n=()=>"Finds potential silver users to take part in the trainings in the next phase.",s=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",d=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",p=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",h=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",C=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",w=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",_=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",S=()=>"Advises and provides the infrastructure for the virtual lab.",V=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",j=()=>"Ensures the infrastructure can support the training sessions.",R=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",E=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",D=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",P=()=>"Potentially publishes a technical paper in addition to the domain paper.",U=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",G=()=>"Coordinates the further development of the virtual lab with a scientific vision.",T=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",I=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>s});var i=r(7294);const o={},n=i.createContext(o);function s(e){const t=i.useContext(n);return i.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(o):e.components||o:s(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/36041992.efa75fb5.js b/pr-preview/pr-33/assets/js/36041992.efa75fb5.js
new file mode 100644
index 0000000..1899b8f
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/36041992.efa75fb5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[73],{6670:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>oe,contentTitle:()=>ie,default:()=>fe,frontMatter:()=>ae,metadata:()=>le,toc:()=>se});var r,a,i,l,o,s,c,f,m,p,d,h,y,k,x,u,g,S,E,V,O,w,v,b,W,A,M,H,L,N,j,z,F,C,D,R,I,B,Z,P,T,_,K,G,J,X,Y,q,U,Q,$=n(5893),ee=n(1151),te=n(7294);function ne(){return ne=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:n,...$}=e;return te.createElement("svg",ne({width:1033.035,height:549.355,viewBox:"0 0 273.324 145.35",xmlSpace:"preserve",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":n},$),t?te.createElement("title",{id:n},t):null,te.createElement("defs",null,r||(r=te.createElement("path",{id:"b",d:"M1.745 5.475c0 1.558-.125 2.066-.445 2.44a1.94 1.94 0 0 1-1.3.498l.125.89a3.045 3.045 0 0 0 2.03-.738 3.561 3.561 0 0 0 .783-2.671V0H1.745V5.475Z"})),a||(a=te.createElement("path",{id:"c",d:"M5.502 4.763c0 .668 0 1.264.053 1.78H4.496l-.071-1.059A2.466 2.466 0 0 1 2.26 6.695C1.23 6.695 0 6.135 0 3.846V.045h1.193v3.56c0 1.238.383 2.066 1.46 2.066A1.665 1.665 0 0 0 4.336 3.99V0h1.193v4.727l-.027.036Z"})),i||(i=te.createElement("path",{id:"d",d:"M.053 2.273c0-.828 0-1.505-.053-2.12h1.068l.054 1.114A2.582 2.582 0 0 1 3.454.002c1.585 0 2.778 1.327 2.778 3.303 0 2.333-1.433 3.49-2.982 3.49a2.306 2.306 0 0 1-2.021-1.023v3.56H.053V2.274ZM1.23 4.009c.003.161.02.322.053.48a1.834 1.834 0 0 0 1.78 1.38c1.256 0 1.995-1.023 1.995-2.51 0-1.3-.695-2.413-1.95-2.413a2.048 2.048 0 0 0-1.878 1.95v1.113Z"})),l||(l=te.createElement("path",{id:"e",d:"M1.318.018 2.75 3.855c.151.427.312.944.418 1.327.125-.392.259-.89.419-1.354l1.3-3.81h1.255l-1.78 4.63c-.89 2.225-1.434 3.374-2.253 4.068a3.24 3.24 0 0 1-1.46.766l-.294-.997a3.16 3.16 0 0 0 1.042-.58 3.561 3.561 0 0 0 1.006-1.317.89.89 0 0 0 .098-.285 1.024 1.024 0 0 0-.08-.311L0 0h1.3l.018.018Z"})),o||(o=te.createElement("path",{id:"f",d:"M2.19 0v1.87H3.9v.89H2.19v3.508c0 .801.232 1.264.89 1.264.234.004.468-.023.695-.08l.053.89c-.34.118-.7.172-1.06.16a1.656 1.656 0 0 1-1.29-.498 2.395 2.395 0 0 1-.463-1.692V2.751H0v-.89h1.033V.276L2.19 0Z"})),s||(s=te.createElement("path",{id:"g",d:"M1.177 3.579A2.092 2.092 0 0 0 3.43 5.831a4.345 4.345 0 0 0 1.78-.338l.205.89a5.342 5.342 0 0 1-2.181.401A3.027 3.027 0 0 1 .01 3.508C.01 1.549 1.177 0 3.082 0 5.22 0 5.753 1.87 5.753 3.063c.012.183.012.368 0 .552H1.15l.027-.036Zm3.49-.89A1.683 1.683 0 0 0 3.011.766a1.968 1.968 0 0 0-1.825 1.923h3.481Z"})),c||(c=te.createElement("path",{id:"h",d:"M.053 2.192c0-.765 0-1.424-.053-2.03h1.068v1.274h.054A1.968 1.968 0 0 1 2.902.01a1.3 1.3 0 0 1 .339 0v1.113a1.78 1.78 0 0 0-.41 0 1.665 1.665 0 0 0-1.593 1.513 3.293 3.293 0 0 0-.054.552v3.464H.01V2.2l.044-.009Z"})),f||(f=te.createElement("path",{id:"i",d:"M6.03 2.836A3.018 3.018 0 1 1 2.889.005a2.982 2.982 0 0 1 3.143 2.83Z"})),m||(m=te.createElement("path",{id:"j",d:"M18.696 7.122C10.684 7.122 3.641 4.247 0 0a19.934 19.934 0 0 0 37.392 0C33.76 4.247 26.744 7.122 18.696 7.122Z"})),p||(p=te.createElement("path",{id:"k",d:"M18.696 5.897c8.013 0 15.055 2.876 18.696 7.123A19.934 19.934 0 0 0 0 13.02c3.641-4.256 10.648-7.123 18.696-7.123Z"})),d||(d=te.createElement("path",{id:"l",d:"M7.596 3.567A3.802 3.802 0 1 1 3.634.005a3.766 3.766 0 0 1 3.962 3.562Z"})),h||(h=te.createElement("path",{id:"m",d:"M2.25 4.38A2.19 2.19 0 1 1 4.379 2.1a2.217 2.217 0 0 1-2.127 2.28Z"})),te.createElement("marker",{style:{overflow:"visible"},id:"a",refX:0,refY:0,orient:"auto-start-reverse",markerWidth:.5,markerHeight:.5,viewBox:"0 0 1 1",preserveAspectRatio:"xMidYMid"},te.createElement("path",{transform:"scale(.5)",style:{fill:"context-stroke",fillRule:"evenodd",stroke:"context-stroke",strokeWidth:"1pt"},d:"m5.77 0-8.65 5V-5Z"}))),te.createElement("g",{transform:"translate(32.636 -79.35)"},te.createElement("rect",{style:{fill:"none",fillOpacity:.504747,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"4.7625,1.5875",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},width:218.281,height:87.313,x:-32.239,y:136.988,ry:5.292,rx:5.292}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:181.967,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:203.134,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:78.225,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:132.134,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:78.225,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:132.134,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:105.179,y:192.55,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:181.967,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:203.134,rx:2.646,ry:2.646}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 5.972)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"VRE knowledge"),y||(y=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"base"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"90%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(225.787 3.856)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"90%"}},"Notebook-as-")),te.createElement("tspan",{x:-68.021,y:147.348},te.createElement("tspan",{style:{lineHeight:"90%"}},"a-VRE"),k||(k=te.createElement("tspan",{y:147.348}))),te.createElement("tspan",{x:-68.021,y:153.063},te.createElement("tspan",{style:{lineHeight:"90%"}},"dashboards"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(225.787 27.14)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"eScience"),x||(x=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"devOps"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(171.878 5.972)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Distributed VRE"),u||(u=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"ledger"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(171.878 27.14)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Provenance /"),g||(g=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"log expllorer"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 5.972)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Distributed"),S||(S=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"workflow bus"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"90%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 25.022)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"90%"}},"Remote"),E||(E=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:147.348},te.createElement("tspan",{style:{lineHeight:"90%"}},"infrastructure"),V||(V=te.createElement("tspan",{y:147.348}))),te.createElement("tspan",{x:-68.021,y:153.063},te.createElement("tspan",{style:{lineHeight:"90%"}},"automator"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 51.798)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"AAI"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 69.472)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Distributed"),O||(O=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"data mesh"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 27.14)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Semantic"),w||(w=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"search engine"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 48.306)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Component"),v||(v=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"containerizer"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 69.472)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Experiment"),b||(b=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"manager"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(198.832 62.382)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"\u2026"))),te.createElement("path",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,markerStart:"url(#a)",markerEnd:"url(#marker56)",paintOrder:"markers fill stroke"},d:"M219.653 115.969v42.087"}),te.createElement("rect",{style:{fill:"#e5e5e5",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},width:147.575,height:13.655,x:87.181,y:99.459,ry:2.646,rx:2.646}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:120.186,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(228.99 -33.143)"},W||(W=te.createElement("tspan",{x:-68.021,y:141.633},"Client side (e.g. Jupyter environment)"))),te.createElement("g",{transform:"matrix(1.53683 0 0 1.53602 -102.622 -41.848)",style:{strokeWidth:.650863}},te.createElement("circle",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.516622,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:180.396,cy:81.808,r:2.646}),te.createElement("path",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.516622,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},d:"M175.766 89.084a4.63 4.63 0 0 1 4.63-4.63 4.63 4.63 0 0 1 4.63 4.63"})),te.createElement("path",{style:{fill:"#e5e5e5",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.793751,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},d:"M188.744 85.709c1.459 0 4.09.81 5.563.503 1.39-.29 3.364-.199 4.784-.215 1.328-.015 2.825.009 4.153.004 1.448-.006 2.907-.244 4.355-.249 1.502-.004 3.15.027 4.652.046 1.456.018 3.493-.221 4.948-.202a155.9 155.9 0 0 1 4.089.119c1.452.058 3.012-.01 4.465.035 1.372.042 2.963.219 4.444.325 1.206.086 2.646 1.142 2.648 2.648.042 1.486-.008 2.61-.013 4.097-.005 1.608.243 3.047.238 4.655-.004 1.142-.442 3.235-1 4.756-.365.99-.802 2.793-2.08 2.84-1.453.367-3.197-.002-4.695-.026-1.432-.024-2.598.238-4.03.226-1.588-.013-3.451-.068-5.04-.104-1.406-.033-3.093-.064-4.499-.094-1.404-.03-2.416.054-3.82.028-1.63-.031-3.212-.046-4.842-.085-1.514-.036-3.055-.594-4.57-.63-1.493-.035-2.893.001-4.384.104-1.43.098-3.021.274-4.536.311-1.268.032-2.563-1.55-2.626-2.999-.004-1.467-.136-3.087-.078-4.553.056-1.415-.391-2.826-.395-4.243-.003-1.113.44-3.082.492-4.635.04-1.175.319-2.663 1.777-2.662z",transform:"translate(0 -4.118)"}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:120.186,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(271.762 -52.173)"},A||(A=te.createElement("tspan",{x:-68.021,y:141.633},"NaaVRE"))),te.createElement("g",{transform:"translate(2.396 -3.725)"},te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:.50141,stroke:"none",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:206.301,cy:98.987,r:3.969}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:.50141,stroke:"none",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:215.173,cy:98.987,r:3.969}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:.50141,stroke:"none",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:224.046,cy:98.987,r:3.969}),te.createElement("g",{style:{mixBlendMode:"normal",strokeWidth:1.0795}},te.createElement("g",{style:{mixBlendMode:"normal",strokeWidth:1.0795}},te.createElement("use",{xlinkHref:"#b",transform:"matrix(.2451 0 0 .2451 88.488 108.946)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#c",transform:"matrix(.2451 0 0 .2451 89.748 108.948)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#d",transform:"matrix(.2451 0 0 .2451 91.638 108.921)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#e",transform:"matrix(.2451 0 0 .2451 93.363 108.953)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#f",transform:"matrix(.2451 0 0 .2451 95.108 108.5)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#g",transform:"matrix(.2451 0 0 .2451 96.314 108.929)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#h",transform:"matrix(.2451 0 0 .2451 98.155 108.916)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}})),te.createElement("g",{style:{mixBlendMode:"normal",strokeWidth:1.0795}},te.createElement("use",{xlinkHref:"#i",transform:"matrix(.2451 0 0 .2451 96.562 103.88)",fill:"#767677",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#j",transform:"matrix(.2451 0 0 .2451 89.142 111.375)",fill:"#f37726",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#k",transform:"matrix(.2451 0 0 .2451 89.142 104.906)",fill:"#f37726",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#l",transform:"matrix(.2451 0 0 .2451 89.16 114.272)",fill:"#9e9e9e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#m",transform:"matrix(.2451 0 0 .2451 88.814 105.041)",fill:"#616262",style:{mixBlendMode:"normal",strokeWidth:1.0795}})))),te.createElement("path",{style:{fill:"#e5e5e5",fillOpacity:1,stroke:"none",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 192.293c0 2.544-9.24 4.605-20.638 4.605-11.398 0-20.638-2.061-20.638-4.605v-30.258c0-2.543 9.24-4.605 20.638-4.605 11.398 0 20.638 2.062 20.638 4.605z",transform:"translate(0 3.481)"}),te.createElement("path",{style:{fill:"#fff",fillOpacity:1,stroke:"none",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 162.035a20.638 4.605 0 0 1-20.638 4.605 20.638 4.605 0 0 1-20.638-4.605 20.638 4.605 0 0 1 20.638-4.605 20.638 4.605 0 0 1 20.638 4.605z",transform:"translate(0 3.481)"}),te.createElement("path",{style:{fill:"none",fillOpacity:.421002,stroke:"#3c8f49",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 162.035c0 2.543-9.24 4.605-20.638 4.605-11.398 0-20.638-2.062-20.638-4.605",transform:"translate(0 3.481)"}),te.createElement("path",{style:{fill:"none",fillOpacity:.421002,stroke:"#3c8f49",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 192.293c0 2.544-9.24 4.605-20.638 4.605-11.398 0-20.638-2.061-20.638-4.605v-30.258c0-2.543 9.24-4.605 20.638-4.605 11.398 0 20.638 2.062 20.638 4.605z",transform:"translate(0 3.481)"}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(287.675 36.466)"},M||(M=te.createElement("tspan",{x:-68.021,y:141.633},"NaaVRE\n")),H||(H=te.createElement("tspan",{x:-68.021,y:148.618},"services\n")),L||(L=te.createElement("tspan",{x:-68.021,y:155.603},"market place"))),te.createElement("path",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},d:"M188.567 139.688c8.827.018-.152 40.957 8.496 40.957",id:"n"}),N||(N=te.createElement("use",{xlinkHref:"#n",transform:"matrix(1 0 0 -1 0 361.291)"})),te.createElement("g",{transform:"translate(63.044 -91.752)"},te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},id:"o",cx:-89.925,cy:247.195,r:3.109}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:-89.925,cy:268.361,r:3.109}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:-89.925,cy:310.695,r:3.109}),j||(j=te.createElement("use",{x:0,y:0,xlinkHref:"#o",id:"q",transform:"translate(161.727)"})),z||(z=te.createElement("use",{x:0,y:0,xlinkHref:"#o",id:"p",transform:"translate(53.909)"})),F||(F=te.createElement("use",{x:0,y:0,xlinkHref:"#p",id:"r",transform:"translate(53.909)"})),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:-89.925,cy:289.528,r:3.109}),C||(C=te.createElement("use",{x:0,y:0,xlinkHref:"#p",id:"s",transform:"translate(0 21.167)"})),D||(D=te.createElement("use",{xlinkHref:"#q",transform:"translate(0 21.167)"})),R||(R=te.createElement("use",{xlinkHref:"#r",transform:"translate(0 21.167)"})),I||(I=te.createElement("use",{xlinkHref:"#p",transform:"translate(0 42.333)"})),B||(B=te.createElement("use",{xlinkHref:"#s",transform:"translate(0 42.333)"}))),te.createElement("g",{style:{fill:"#fff",fillOpacity:1}},te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 16.013)"},Z||(Z=te.createElement("tspan",{x:-68.021,y:141.633},"A"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 37.18)"},P||(P=te.createElement("tspan",{x:-68.021,y:141.633},"B"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 58.347)"},T||(T=te.createElement("tspan",{x:-68.021,y:141.633},"C"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 79.513)"},_||(_=te.createElement("tspan",{x:-68.021,y:141.633},"D"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 16.013)"},K||(K=te.createElement("tspan",{x:-68.021,y:141.633},"E"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 37.18)"},G||(G=te.createElement("tspan",{x:-68.021,y:141.633},"F"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 58.347)"},J||(J=te.createElement("tspan",{x:-68.021,y:141.633},"G"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 79.513)"},X||(X=te.createElement("tspan",{x:-68.021,y:141.633},"H"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(148.958 16.013)"},Y||(Y=te.createElement("tspan",{x:-68.021,y:141.633},"I"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(148.958 37.18)"},q||(q=te.createElement("tspan",{x:-68.021,y:141.633},"J"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(202.867 16.013)"},U||(U=te.createElement("tspan",{x:-68.021,y:141.633},"K"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(202.867 37.18)"},Q||(Q=te.createElement("tspan",{x:-68.021,y:141.633},"L"))))))},ae={sidebar_position:1,title:"About NaaVRE"},ie=void 0,le={id:"about",title:"About NaaVRE",description:"NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1].",source:"@site/docs/about.mdx",sourceDirName:".",slug:"/about",permalink:"/pr-preview/pr-33/docs/about",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/about.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"About NaaVRE"},sidebar:"tutorialSidebar",next:{title:"Readiness level framework for co-development of virtual labs on the NaaVRE platform",permalink:"/pr-preview/pr-33/docs/readiness_levels/"}},oe={},se=[{value:"Tutorials",id:"tutorials",level:2},{value:"Notebook as a Virtual Research Environment (NaaVRE) Platform",id:"notebook-as-a-virtual-research-environment-naavre-platform",level:2},{value:"Main Features",id:"main-features",level:3},{value:"Collaborative Virtual Labs",id:"collaborative-virtual-labs",level:2},{value:"Main Features",id:"main-features-1",level:3},{value:"Supported Kernels",id:"supported-kernels",level:3}];function ce(e){const t={a:"a",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",ul:"ul",...(0,ee.a)(),...e.components};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(t.p,{children:"NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1]."}),"\n",(0,$.jsx)(re,{alt:"NaaVRE conceptual architecture diagram",width:"inherit"}),"\n",(0,$.jsxs)(t.ol,{children:["\n",(0,$.jsxs)(t.li,{children:['Zhao, Zhiming, Spiros Koulouzis, Riccardo Bianchi, Siamak Farshidi, Zeshun Shi, Ruyue Xin, Yuandou Wang et al. "Notebook\u2010as\u2010a\u2010VRE (NaaVRE): From private notebooks to a collaborative cloud virtual research environment." Software: Practice and Experience 52, no. 9 (2022): 1947-1966. ',(0,$.jsx)(t.a,{href:"https://doi.org/10.1002/spe.3098",children:"https://doi.org/10.1002/spe.3098"})]}),"\n"]}),"\n",(0,$.jsx)(t.h2,{id:"tutorials",children:"Tutorials"}),"\n",(0,$.jsx)(t.p,{children:"This section of the documentation contains step-by-step tutorials that help outline the capabilities of Virtual Research\nEnvironments (VRE) and how you can achieve specific aims. The tutorials are recommended if you do not have much\nexperience with VRE."}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:(0,$.jsx)(t.a,{href:"docs/tutorials",children:"Getting Started"})}),"\n",(0,$.jsx)(t.li,{children:(0,$.jsx)(t.a,{href:"docs/NaaVRE_Interface",children:"The NaaVRE Interface"})}),"\n"]}),"\n",(0,$.jsx)(t.h2,{id:"notebook-as-a-virtual-research-environment-naavre-platform",children:"Notebook as a Virtual Research Environment (NaaVRE) Platform"}),"\n",(0,$.jsx)(t.p,{children:"The LifeWatch NaaVRE platform is a Platform as a Service (PaaS) that allows users to create Collaborative Virtual Labs with customized runtime libraries, user interfaces, and workflow building blocks, and to conduct research activities in specific domains."}),"\n",(0,$.jsx)(t.h3,{id:"main-features",children:"Main Features"}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:"A user-friendly interface to the LifeWatch VRE platform"}),"\n",(0,$.jsx)(t.li,{children:"Overview of the running Virtual Labs (VLs)"}),"\n",(0,$.jsx)(t.li,{children:"Overview of executed workflows"}),"\n",(0,$.jsx)(t.li,{children:"Community-based data products catalog"}),"\n",(0,$.jsx)(t.li,{children:"Community-based geographical data products catalog"}),"\n",(0,$.jsxs)(t.li,{children:["Collaboration tools","\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsxs)(t.li,{children:["Video conferencing with ",(0,$.jsx)(t.a,{href:"https://jupyter-videochat.readthedocs.io/en/latest/",children:"jupyter-videochat"})]}),"\n",(0,$.jsxs)(t.li,{children:["Git integration with ",(0,$.jsx)(t.a,{href:"https://pypi.org/project/jupyterlab-git/",children:"jupyterlab-git"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,$.jsx)(t.h2,{id:"collaborative-virtual-labs",children:"Collaborative Virtual Labs"}),"\n",(0,$.jsx)(t.p,{children:"A Collaborative Virtual Lab provides a customized profile, which allows a domain user to create a Virtual Lab instance on the NaaVRE platform. All the Virtual Lab instances of a Collaborative Virtual Lab can share data and workflows. A Virtual Lab is based on a Jupyter environment with specially developed extensions for containerizing Notebook cells, composing and executing workflows, and searching and sharing research objects."}),"\n",(0,$.jsx)(t.h3,{id:"main-features-1",children:"Main Features"}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:"Containerization of cells"}),"\n",(0,$.jsx)(t.li,{children:"Workflow composition based on containerized cells"}),"\n",(0,$.jsx)(t.li,{children:"Execution of containerized cells on a workflow engine"}),"\n",(0,$.jsx)(t.li,{children:"Search for notebooks"}),"\n"]}),"\n",(0,$.jsx)(t.h3,{id:"supported-kernels",children:"Supported Kernels"}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:"Python"}),"\n",(0,$.jsx)(t.li,{children:"Rscript"}),"\n"]})]})}function fe(e={}){const{wrapper:t}={...(0,ee.a)(),...e.components};return t?(0,$.jsx)(t,{...e,children:(0,$.jsx)(ce,{...e})}):ce(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>l});var r=n(7294);const a={},i=r.createContext(a);function l(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/38b43935.207650d3.js b/pr-preview/pr-33/assets/js/38b43935.207650d3.js
new file mode 100644
index 0000000..a83656d
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/38b43935.207650d3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[273],{7842:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var n=t(5893),o=t(1151);const r={sidebar_position:1,title:"RAVRE documentation"},a=void 0,s={id:"readiness_levels/RAVRE/documentation",title:"RAVRE documentation",description:"This page provides detailed documentation for RAVRE. A higher level overview of the RAVRE virtual lab is available on the lab overview page.",source:"@site/docs/readiness_levels/RAVRE/documentation.md",sourceDirName:"readiness_levels/RAVRE",slug:"/readiness_levels/RAVRE/documentation",permalink:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/RAVRE/documentation.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"RAVRE documentation"},sidebar:"tutorialSidebar",previous:{title:"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers.",permalink:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/"},next:{title:"User manual",permalink:"/pr-preview/pr-33/docs/readiness_levels/user_manual"}},l={},c=[{value:"Viewpoints",id:"viewpoints",level:3},{value:"Mathematical description",id:"mathematical-description",level:4},{value:"Computational description",id:"computational-description",level:4},{value:"Engineering implementation / Architecture",id:"engineering-implementation--architecture",level:4}];function d(e){const i={a:"a",em:"em",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(i.p,{children:["This page provides detailed documentation for RAVRE. A higher level overview of the RAVRE virtual lab is available on ",(0,n.jsx)(i.a,{href:"..",children:"the lab overview page"}),"."]}),"\n",(0,n.jsx)(i.h3,{id:"viewpoints",children:"Viewpoints"}),"\n",(0,n.jsx)(i.h4,{id:"mathematical-description",children:"Mathematical description"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.em,{children:"ToDo: A mathematical description of the workflow."})}),"\n",(0,n.jsx)(i.h4,{id:"computational-description",children:"Computational description"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.em,{children:"ToDo: How is the algorithm converted into computational methods?"})}),"\n",(0,n.jsx)(i.h4,{id:"engineering-implementation--architecture",children:"Engineering implementation / Architecture"}),"\n",(0,n.jsx)(i.p,{children:"The following processes take place in the RAVRE data processing pipeline:"}),"\n",(0,n.jsxs)(i.ol,{children:["\n",(0,n.jsxs)(i.li,{children:["Notebook cell ",(0,n.jsx)(i.em,{children:"Download-KNMI"})," requests data from the KNMI open data platform."]}),"\n",(0,n.jsx)(i.li,{children:"KNNI data is returned to NaaVRE and locally stored."}),"\n",(0,n.jsxs)(i.li,{children:["Notebook cell ",(0,n.jsx)(i.em,{children:"KNMI-to-odim-converter"})," retrieves the local data, pre-processes it, and stores it in a Minio object store."]}),"\n",(0,n.jsxs)(i.li,{children:["Notebook cell ",(0,n.jsx)(i.em,{children:"PVOL-VP-converter"})," retrieves the pre-processed data and sends it to the vol2bird using the command-line interface."]}),"\n",(0,n.jsxs)(i.li,{children:["The vol2bird algorithm returns vertical profiles of biological scatters to ",(0,n.jsx)(i.em,{children:"PVOL-VP-converter"}),"."]}),"\n",(0,n.jsxs)(i.li,{children:["Notebook cell ",(0,n.jsx)(i.em,{children:"PVOL-VP-converter"})," stores the vertical profiles in Minio object store."]}),"\n"]}),"\n",(0,n.jsx)(i.p,{children:"Current development: New cells are available to visualize the vertical profiles."}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.img,{alt:" images/RAVRE_sequence_diagram.drawio.png not found",src:t(9105).Z+"",width:"791",height:"322"})})]})}function p(e={}){const{wrapper:i}={...(0,o.a)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},9105:(e,i,t)=>{t.d(i,{Z:()=>n});const n=t.p+"assets/images/RAVRE_sequence_diagram.drawio-4a34b6ca8e0a8d5e143d1bdeae4eea6a.png"},1151:(e,i,t)=>{t.d(i,{Z:()=>s,a:()=>a});var n=t(7294);const o={},r=n.createContext(o);function a(e){const i=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function s(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),n.createElement(r.Provider,{value:i},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/3d901806.1f055279.js b/pr-preview/pr-33/assets/js/3d901806.1f055279.js
new file mode 100644
index 0000000..e03c04f
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/3d901806.1f055279.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[436],{5745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/4d655930.2690e790.js b/pr-preview/pr-33/assets/js/4d655930.2690e790.js
new file mode 100644
index 0000000..718540f
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/4d655930.2690e790.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[895],{6999:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>h});var t=i(5893),n=i(1151),a=i(2457);const r={sidebar_position:1,title:"L2 - Validation phase"},o=void 0,l={id:"readiness_levels/L2_validation_phase",title:"L2 - Validation phase",description:"Start situation",source:"@site/docs/readiness_levels/L2_validation_phase.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/L2_validation_phase",permalink:"/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/L2_validation_phase.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"L2 - Validation phase"},sidebar:"tutorialSidebar",previous:{title:"L1 - Co-development",permalink:"/pr-preview/pr-33/docs/readiness_levels/L1_co-development"},next:{title:"L3 - Workshop use",permalink:"/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use"}},d={},h=[{value:"Start situation",id:"start-situation",level:3},{value:"During the validation phase",id:"during-the-validation-phase",level:3},{value:"Validation phase milestones",id:"validation-phase-milestones",level:3},{value:"Validation phase responsibilities",id:"validation-phase-responsibilities",level:3},{value:"Exit condition",id:"exit-condition",level:3}];function c(e){const s={a:"a",h3:"h3",input:"input",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return a||p("Responsibilities",!1),a.L2CommunitySupporter||p("Responsibilities.L2CommunitySupporter",!0),a.L2Coordinator||p("Responsibilities.L2Coordinator",!0),a.L2CoreDeveloper||p("Responsibilities.L2CoreDeveloper",!0),a.L2DevOps||p("Responsibilities.L2DevOps",!0),a.L2GoldenUser||p("Responsibilities.L2GoldenUser",!0),a.L2InfrastructureSupporter||p("Responsibilities.L2InfrastructureSupporter",!0),a.L2Trainer||p("Responsibilities.L2Trainer",!0),a.L2VREResearcher||p("Responsibilities.L2VREResearcher",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.h3,{id:"start-situation",children:"Start situation"}),"\n",(0,t.jsx)(s.p,{children:"At the start of the validation phase, the virtual lab has the required components and the workflow has been developed and tested.\nAdditionally the scientific (golden) user has made the data sets ready for the experiments."}),"\n",(0,t.jsx)(s.h3,{id:"during-the-validation-phase",children:"During the validation phase"}),"\n",(0,t.jsx)(s.p,{children:"The golden user will conduct experiments in the virtual lab in this phase.\nThe following should also be done phase:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Data","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Make data fair."}),"\n",(0,t.jsx)(s.li,{children:"Follow the community standards of the relevant domains for reading, writing and exchanging data."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Metadata","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Complete all metadata fields."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Scenarios","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Make sure and describe how the virtual lab can be used on different scenarios, i.e. other datasets and with other parameters."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Versioning","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Add a version number to the virtual lab so users can refer to this number when they are reporting reproducibility or bug issues."}),"\n",(0,t.jsxs)(s.li,{children:["Give each containerized cell and executed workflow a persistent identifier and version number.\nFeature is currently under development. For progress, see ",(0,t.jsx)(s.a,{href:"https://github.com/QCDIS/projects_overview/issues/280",children:"#280"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Documentation","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Create a ",(0,t.jsx)(s.a,{href:"../user_manual",children:"user manual"})," for the virtual lab."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Workflow","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Check the duration of computation, memory usage, and power usage of the containers."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Codebase","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Add unit tests to verify the behavior of used methods and libraries."}),"\n",(0,t.jsx)(s.li,{children:"Define clear responsibilities of all notebook cells, methods and classes."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"validation-phase-milestones",children:"Validation phase milestones"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"The submission for publication of a paper in the ecosystem domain presenting the scenarios run in the virtual lab."}),"\n",(0,t.jsx)(s.li,{children:"The lab becoming publicly available."}),"\n",(0,t.jsx)(s.li,{children:"Potentially, besides a domain paper, the submission for publication of a technical paper focusing on the infrastructure part of the virtual research environment."}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"validation-phase-responsibilities",children:"Validation phase responsibilities"}),"\n",(0,t.jsx)(s.p,{children:"The following roles should be assigned during the validation phase:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Golden users: ",(0,t.jsx)(a.L2GoldenUser,{})]}),"\n",(0,t.jsxs)(s.li,{children:["Virtual lab core developers: ",(0,t.jsx)(a.L2CoreDeveloper,{})]}),"\n",(0,t.jsxs)(s.li,{children:["Community supporter: ",(0,t.jsx)(a.L2CommunitySupporter,{})]}),"\n",(0,t.jsxs)(s.li,{children:["Virtual lab trainer: ",(0,t.jsx)(a.L2Trainer,{})]}),"\n",(0,t.jsxs)(s.li,{children:["Infrastructure supporter: ",(0,t.jsx)(a.L2InfrastructureSupporter,{})]}),"\n",(0,t.jsxs)(s.li,{children:["VRE researcher: ",(0,t.jsx)(a.L2VREResearcher,{})]}),"\n",(0,t.jsxs)(s.li,{children:["Virtual lab coordinator: ",(0,t.jsx)(a.L2Coordinator,{})]}),"\n",(0,t.jsxs)(s.li,{children:["VRE DevOps engineer: ",(0,t.jsx)(a.L2DevOps,{})]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"exit-condition",children:"Exit condition"}),"\n",(0,t.jsx)(s.p,{children:"The virtual lab transitions to workshop use, once validation of the lab by doing scientific experiments has been done and a scientific paper is ready for publication."}),"\n",(0,t.jsx)(s.p,{children:"It is important to find out who would be potential silver users of the virtual lab. In case no match between the virtual lab\nand potential silver users can be found, the virtual lab should be archived."}),"\n",(0,t.jsx)(s.p,{children:"To advance to workshop use, all of the following boxes should be checked, in addition to the criteria for the initial proposal, and co-development:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["User community","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Other potential users have been identified."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Data","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","All input data of the lab is FAIR."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Metadata","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","All the fields of the metadata standard are present."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Scenarios","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","The virtual lab can be used in multiple scenarios, i.e. both the parameters and datasets can be changed to suit experiments of different researchers."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Documentation","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","There is a ",(0,t.jsx)(s.a,{href:"../user_manual",children:"user manual"})," and at least one domain scientist who was not involved in the development of the virtual lab has reviewed the user manual.\nThe coding experience of the reviewer of the user manual is similar to the coding experience of the intended user."]}),"\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","How to use the virtual lab on a different scenario is explained."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Codebase","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," Unit tests verify the behavior of used methods and libraries. There should be a testing guideline, which will be done in this issue ",(0,t.jsx)(s.a,{href:"https://github.com/QCDIS/projects_overview/issues/274",children:"#274"}),"."]}),"\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The virtual lab reads, writes and exchanges data in a way that meets domain-relevant community standards. Recommendations for what standards to use are under investigation, see github issue ",(0,t.jsx)(s.a,{href:"https://github.com/QCDIS/projects_overview/issues/281",children:"#281"}),"."]}),"\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The code within cells is easily human-readable and others can easily modify it. If methods have side effects, this is clear to the user."]}),"\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The input and output of each cell is clear. It is both clear what the structure is (e.g. what data type is used) and what the data content is from a domain perspective."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Workflow","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The duration of computation, memory usage, and power usage of the containers is acceptable. As there is currently no dashboard to monitor resource usage, contact the VLIC team for guidelines."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Deployment","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","The virtual lab is publicly available."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Infrastructure","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The infrastructure requirements for the workshop are known and the necessary infrastructure has been provided:","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The number of people taking part in a workshop."]}),"\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The random access memory and permanent storage usage of the virtual lab are known."]}),"\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The amount of processors the virtual lab uses is known."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}function p(e,s){throw new Error("Expected "+(s?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,s,i)=>{i.r(s),i.d(s,{L0CommunitySupporter:()=>t,L0Coordinator:()=>p,L0DevOps:()=>f,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>m,L1CoreDeveloper:()=>w,L1DevOps:()=>j,L1GoldenUser:()=>d,L1InfrastructureSupporter:()=>N,L1Reviewer:()=>C,L2CommunitySupporter:()=>a,L2Coordinator:()=>v,L2CoreDeveloper:()=>k,L2DevOps:()=>g,L2GoldenUser:()=>h,L2InfrastructureSupporter:()=>S,L2Trainer:()=>R,L2VREResearcher:()=>V,L3CommunitySupporter:()=>r,L3Coordinator:()=>b,L3CoreDeveloper:()=>y,L3GoldenUser:()=>c,L3InfrastructureSupporter:()=>_,L3SteeringBoard:()=>E,L3Trainer:()=>T,L3UserSupporter:()=>U,L4CommunitySupporter:()=>o,L4Coordinator:()=>x,L4CoreDeveloper:()=>L,L4GoldenUser:()=>u,L4InfrastructureSupporter:()=>D,L4SteeringBoard:()=>I,L4UserSupporter:()=>A});const t=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",a=()=>"Finds potential silver users to take part in the trainings in the next phase.",r=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",d=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",h=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",c=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",u=()=>"A golden user can keep on using the virtual lab for their own experiments.",p=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",m=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",v=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",x=()=>"Ensures the VRE keeps supporting the virtual lab.",f=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",j=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",g=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",w=()=>"Develop the content of the new virtual lab in NaaVRE.",k=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",y=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",L=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",N=()=>"Advises and provides the infrastructure for the virtual lab.",S=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",_=()=>"Ensures the infrastructure can support the training sessions.",D=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",R=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",T=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",V=()=>"Potentially publishes a technical paper in addition to the domain paper.",E=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",I=()=>"Coordinates the further development of the virtual lab with a scientific vision.",U=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",A=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,s,i)=>{i.d(s,{Z:()=>o,a:()=>r});var t=i(7294);const n={},a=t.createContext(n);function r(e){const s=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),t.createElement(a.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/5aab0ac5.c9c1dea3.js b/pr-preview/pr-33/assets/js/5aab0ac5.c9c1dea3.js
new file mode 100644
index 0000000..0ad21c5
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/5aab0ac5.c9c1dea3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[98],{2018:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>d});var i=s(5893),n=s(1151),r=s(2457);const a={sidebar_position:1,title:"L1 - Co-development"},o=void 0,l={id:"readiness_levels/L1_co-development",title:"L1 - Co-development",description:"Start situation",source:"@site/docs/readiness_levels/L1_co-development.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/L1_co-development",permalink:"/pr-preview/pr-33/docs/readiness_levels/L1_co-development",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/L1_co-development.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"L1 - Co-development"},sidebar:"tutorialSidebar",previous:{title:"L0 - initial proposal",permalink:"/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal"},next:{title:"L2 - Validation phase",permalink:"/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase"}},c={},d=[{value:"Start situation",id:"start-situation",level:3},{value:"During the co-development phase",id:"during-the-co-development-phase",level:3},{value:"Co-development responsibilities",id:"co-development-responsibilities",level:3},{value:"Co-development milestones",id:"co-development-milestones",level:3},{value:"Exit conditions",id:"exit-conditions",level:3}];function h(e){const t={a:"a",h3:"h3",input:"input",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return r||p("Responsibilities",!1),r.L1CommunitySupporter||p("Responsibilities.L1CommunitySupporter",!0),r.L1Coordinator||p("Responsibilities.L1Coordinator",!0),r.L1CoreDeveloper||p("Responsibilities.L1CoreDeveloper",!0),r.L1DevOps||p("Responsibilities.L1DevOps",!0),r.L1GoldenUser||p("Responsibilities.L1GoldenUser",!0),r.L1InfrastructureSupporter||p("Responsibilities.L1InfrastructureSupporter",!0),r.L1Reviewer||p("Responsibilities.L1Reviewer",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h3,{id:"start-situation",children:"Start situation"}),"\n",(0,i.jsx)(t.p,{children:"Co-development of the new virtual lab can be started when a basic virtual lab has been provisioned with the customized libraries\nand configurations required by the development plan and a development team is ready to work on the subject."}),"\n",(0,i.jsx)(t.h3,{id:"during-the-co-development-phase",children:"During the co-development phase"}),"\n",(0,i.jsx)(t.p,{children:"The development team preferably follows Agile practices to implement the components and workflows based on the development plan."}),"\n",(0,i.jsx)(t.p,{children:"Where possible, the following should be done while building the virtual lab:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Documentation","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Publish virtual lab metadata outside the virtual lab. This will allow others to be aware of the context of the virtual lab from an early stage.","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Track the metadata with version control, such that the changes to metadata can be viewed by virtual lab users."}),"\n",(0,i.jsxs)(t.li,{children:["Currently, we are choosing a default metadata catalogue. For progress, see issue ",(0,i.jsx)(t.a,{href:"https://github.com/QCDIS/projects_overview/issues/275",children:"#275"}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Create a directory for documentation of the virtual lab.","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Track the documentation with version control."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.li,{children:"Start each cell in a notebook with a title."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Security","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Make sure personal tokens for APIs do not end up in version control. ToDo VLIC: Guideline for secret management ",(0,i.jsx)(t.a,{href:"https://github.com/QCDIS/projects_overview/issues/276",children:"#276"}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Versioning","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Pin versions of used software and libraries in the dependencies to prevent compatibility problems when updates occur to the packages and software."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Data","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Prepare the data for scientific experiments."}),"\n",(0,i.jsx)(t.li,{children:"Store data that is only read by the virtual lab in an external catalogue and use an API to access this data."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Parallelization","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Parallelize the execution of the parts of the code where this is useful. A tutorial is available ",(0,i.jsx)(t.a,{href:"https://github.com/QCDIS/lifewatch-notebooks/blob/main/NaaVRE-tutorials/splitting-classic.ipynb",children:"here"}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Workflow","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Prepare and perform a demonstration of the virtual lab to inform the community supporter of the possibilities in the virtual lab."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"co-development-responsibilities",children:"Co-development responsibilities"}),"\n",(0,i.jsx)(t.p,{children:"The following roles should be assigned during co-development:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Golden users: ",(0,i.jsx)(r.L1GoldenUser,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Virtual lab core developers: ",(0,i.jsx)(r.L1CoreDeveloper,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Virtual lab code reviewer: ",(0,i.jsx)(r.L1Reviewer,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Community supporter: ",(0,i.jsx)(r.L1CommunitySupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Infrastructure supporter: ",(0,i.jsx)(r.L1InfrastructureSupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Virtual lab coordinator: ",(0,i.jsx)(r.L1Coordinator,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Virtual research environment (VRE) development and operations (DevOps) engineers: ",(0,i.jsx)(r.L1DevOps,{})]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"co-development-milestones",children:"Co-development milestones"}),"\n",(0,i.jsx)(t.p,{children:"Two milestones should be reached during co-development:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"The publication of the metadata."}),"\n",(0,i.jsx)(t.li,{children:"A demonstration of a running the workflow in the virtual lab."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"exit-conditions",children:"Exit conditions"}),"\n",(0,i.jsx)(t.p,{children:"The lab transitions from co-development to the validation phase, when the technical development has been finished and\nthe lab is ready to conduct the scientific experiments on the required scale.\nFor this, at least the following criteria should be checked:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Documentation","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The virtual lab metadata is available outside the virtual lab.","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Metadata is tracked by version control."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Security","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Personal tokens are not tracked by version control."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Versioning","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Versions of used software and libraries are pinned."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Data","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The data is ready for scientific experiments."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Data that is only read by the virtual lab is stored in an external catalogue."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Codebase","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The code executes without errors: The code can be executed without errors.\nCurrently, you can verify this by manually executing all cells in the notebook on a machine on which the code was not developed (to ensure no references are made to local resources)."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The responsibility of each cell in the notebook is clear and can be described in a single sentence."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The coding style is consistent and follows a style guide e.g. For Python ",(0,i.jsx)(t.a,{href:"https://peps.python.org/pep-0008/",children:"PEP 8"}),"."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Parallel processing is applied where suitable."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","There are clear errors when expected files and objects are not found."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","External code use, such as command-line interface tools, are clearly labeled."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Containerization","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The notebook cells can be containerized."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Workflow execution","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The containerized cells can run without any modifications."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","It is possible to give a demonstration of the virtual lab."]}),"\n"]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}function p(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,s)=>{s.r(t),s.d(t,{L0CommunitySupporter:()=>i,L0Coordinator:()=>p,L0DevOps:()=>f,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>m,L1CoreDeveloper:()=>w,L1DevOps:()=>j,L1GoldenUser:()=>c,L1InfrastructureSupporter:()=>S,L1Reviewer:()=>C,L2CommunitySupporter:()=>r,L2Coordinator:()=>v,L2CoreDeveloper:()=>y,L2DevOps:()=>g,L2GoldenUser:()=>d,L2InfrastructureSupporter:()=>D,L2Trainer:()=>R,L2VREResearcher:()=>P,L3CommunitySupporter:()=>a,L3Coordinator:()=>b,L3CoreDeveloper:()=>k,L3GoldenUser:()=>h,L3InfrastructureSupporter:()=>N,L3SteeringBoard:()=>E,L3Trainer:()=>T,L3UserSupporter:()=>V,L4CommunitySupporter:()=>o,L4Coordinator:()=>x,L4CoreDeveloper:()=>L,L4GoldenUser:()=>u,L4InfrastructureSupporter:()=>_,L4SteeringBoard:()=>I,L4UserSupporter:()=>G});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",r=()=>"Finds potential silver users to take part in the trainings in the next phase.",a=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",c=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",d=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",h=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",u=()=>"A golden user can keep on using the virtual lab for their own experiments.",p=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",m=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",v=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",x=()=>"Ensures the VRE keeps supporting the virtual lab.",f=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",j=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",g=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",w=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",k=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",L=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",S=()=>"Advises and provides the infrastructure for the virtual lab.",D=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",N=()=>"Ensures the infrastructure can support the training sessions.",_=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",R=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",T=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",P=()=>"Potentially publishes a technical paper in addition to the domain paper.",E=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",I=()=>"Coordinates the further development of the virtual lab with a scientific vision.",V=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",G=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,s)=>{s.d(t,{Z:()=>o,a:()=>a});var i=s(7294);const n={},r=i.createContext(n);function a(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/5e95c892.873fd505.js b/pr-preview/pr-33/assets/js/5e95c892.873fd505.js
new file mode 100644
index 0000000..7a8eea4
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/5e95c892.873fd505.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[661],{1892:(e,s,r)=>{r.r(s),r.d(s,{default:()=>l});r(7294);var a=r(512),n=r(1944),t=r(5281),u=r(8790),c=r(6040),i=r(5893);function l(e){return(0,i.jsx)(n.FG,{className:(0,a.Z)(t.k.wrapper.docsPages),children:(0,i.jsx)(c.Z,{children:(0,u.H)(e.route.routes)})})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/667ea6e9.799d3bec.js b/pr-preview/pr-33/assets/js/667ea6e9.799d3bec.js
new file mode 100644
index 0000000..f3d1905
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/667ea6e9.799d3bec.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[132],{9188:(e,i,a)=>{a.r(i),a.d(i,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>n,metadata:()=>o,toc:()=>c});var t=a(5893),r=a(1151);const n={sidebar_position:1,title:"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers."},s=void 0,o={id:"readiness_levels/RAVRE/index",title:"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers.",description:"Introduction: The airspace is becoming increasingly crowded. High-rises, wind farms and airports all contribute to conflict with aerial organisms. Information about the movements of organisms in the air is required to identify stop-over sites, migratory routes, and patterns. This can inform mitigation of conflicts by, for example, wind-turbine curtailments or early warning systems for aviation. Weather radars, that continuously monitor the sky across continents, can be used to study movements of birds, bats, and insects. However, for continental scale analysis, large volumes of data are required to be processed and analyzed, which often rely on institute-specific tools and computational resources. This severely hampers collaborative efforts because of the initial investment of time and resources to gain access to existing computing infrastructure. Here we show a Radar Aeroecology Virtual Research Environment (RAVRE) which uses the Lifewatch ERIC infrastructure to facilitate collaboration and re-use of infrastructure and tools. By providing RAVRE, we aim to facilitate collaboration between ornithological institutes.",source:"@site/docs/readiness_levels/RAVRE/index.md",sourceDirName:"readiness_levels/RAVRE",slug:"/readiness_levels/RAVRE/",permalink:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/RAVRE/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers."},sidebar:"tutorialSidebar",previous:{title:"L4 - Operational service",permalink:"/pr-preview/pr-33/docs/readiness_levels/L4_operational_service"},next:{title:"RAVRE documentation",permalink:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation"}},l={},c=[{value:"Conceptual description",id:"conceptual-description",level:3},{value:"Keywords",id:"keywords",level:3},{value:"Features",id:"features",level:3},{value:"NaaVRE virtual lab",id:"naavre-virtual-lab",level:3},{value:"Publication(s)",id:"publications",level:3},{value:"Related projects",id:"related-projects",level:3},{value:"Possible applications",id:"possible-applications",level:3},{value:"Recommended prior knowledge",id:"recommended-prior-knowledge",level:3},{value:"Documentation",id:"documentation",level:3},{value:"Point of contact",id:"point-of-contact",level:3},{value:"Standards",id:"standards",level:3}];function d(e){const i={a:"a",br:"br",em:"em",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"Introduction:"})," The airspace is becoming increasingly crowded. High-rises, wind farms and airports all contribute to conflict with aerial organisms. Information about the movements of organisms in the air is required to identify stop-over sites, migratory routes, and patterns. This can inform mitigation of conflicts by, for example, wind-turbine curtailments or early warning systems for aviation. Weather radars, that continuously monitor the sky across continents, can be used to study movements of birds, bats, and insects. However, for continental scale analysis, large volumes of data are required to be processed and analyzed, which often rely on institute-specific tools and computational resources. This severely hampers collaborative efforts because of the initial investment of time and resources to gain access to existing computing infrastructure. Here we show a Radar Aeroecology Virtual Research Environment (RAVRE) which uses the Lifewatch ERIC infrastructure to facilitate collaboration and re-use of infrastructure and tools. By providing RAVRE, we aim to facilitate collaboration between ornithological institutes."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"Readiness level:"})," L1 - co-development"]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:" images/RAVRE_overview_image.drawio.png not found",src:a(803).Z+"",width:"1550",height:"470"})}),"\n",(0,t.jsx)(i.h3,{id:"conceptual-description",children:"Conceptual description"}),"\n",(0,t.jsx)(i.p,{children:"This virtual lab (VL) allows users to easily obtain biological scatters from radar data.\nThe lab reduces the initial investment of acquiring access and expertise to computational resources and provide immediate access to tools built by domain experts. These tools are then run in the cloud leveraging the performance and flexibility of cloud computing.\nThe VL is shipped with the data management plan used by the University of Amsterdam's Animal Movement Ecology group (UvA IBED-TCE AME) to provide an out of the box solution for managing large datasets.\nRAVRE is currently capable of accessing, processing, managing and visualizing data from the Royal Netherlands Meteorological Institute's (RNMI) open Radar Data repository. The VL has multi-language support, and has well known libraries such as bioRad in R and xradar in Python installed. Furthermore, it uses vol2bird for processing biological echoes found in Polar Volume files to Vertical Profiles."}),"\n",(0,t.jsx)(i.h3,{id:"keywords",children:"Keywords"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Aerial animal movement"}),"\n",(0,t.jsx)(i.li,{children:"Biological scatter"}),"\n",(0,t.jsx)(i.li,{children:"Bird migration"}),"\n",(0,t.jsx)(i.li,{children:"Radar ontology"}),"\n",(0,t.jsx)(i.li,{children:"Weather radar"}),"\n",(0,t.jsx)(i.li,{children:"Altitude profile"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"features",children:"Features"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Vol2bird algorithm"}),"\n",(0,t.jsx)(i.li,{children:"Mapping to Vol2bird input format"}),"\n",(0,t.jsx)(i.li,{children:"Easy KNMI data retrieval"}),"\n",(0,t.jsx)(i.li,{children:"Biological scatterers visualization"}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"License:"})," Apache-2.0"]}),"\n",(0,t.jsx)(i.h3,{id:"naavre-virtual-lab",children:"NaaVRE virtual lab"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.a,{href:"https://naavre.lifewatch.dev/vreapp/vlabs/vol2bird",children:"Click to open RAVRE in NaaVRE"})}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"Related virtual labs:"})," None"]}),"\n",(0,t.jsx)(i.h3,{id:"publications",children:"Publication(s)"}),"\n",(0,t.jsxs)(i.p,{children:["Dokter AM, Liechti F, Stark H, Delobbe L, Tabary P, Holleman I, J. R. Soc.",(0,t.jsx)(i.br,{}),"\n",(0,t.jsx)(i.strong,{children:"Bird migration flight altitudes studied by a network of operational weather radars"}),(0,t.jsx)(i.br,{}),"\n","Interface, 8, 30\u201343, 2011, ",(0,t.jsx)(i.a,{href:"https://doi.org/10.1098/rsif.2010.0116",children:"DOI 10.1098/rsif.2010.0116"})]}),"\n",(0,t.jsx)(i.h3,{id:"related-projects",children:"Related projects"}),"\n",(0,t.jsxs)(i.p,{children:["This virtual lab uses the vol2bird algorithm, which can be found on ",(0,t.jsx)(i.a,{href:"https://github.com/adokter/vol2bird",children:"github"}),"."]}),"\n",(0,t.jsx)(i.h3,{id:"possible-applications",children:"Possible applications"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Select a date range to create a vertical profiles of biological scatters."}),"\n",(0,t.jsx)(i.li,{children:"Write your own pre-processor to map weather radar data from sources other than KNMI to a format readable by vol2bird."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"recommended-prior-knowledge",children:"Recommended prior knowledge"}),"\n",(0,t.jsxs)(i.p,{children:["Picking custom dates to study biological scatters using KNMI weather radar data is possible by only setting parameters.",(0,t.jsx)(i.br,{}),"\n","Preprocessing other weather radar data to the vol2bird input format requires some experience in handling APIs and data in Python."]}),"\n",(0,t.jsx)(i.h3,{id:"documentation",children:"Documentation"}),"\n",(0,t.jsxs)(i.p,{children:["See ",(0,t.jsx)(i.a,{href:"documentation",children:"the documentation page"}),". Additionally, a user guide and tutorial is available in ",(0,t.jsx)(i.a,{href:"https://naavre.lifewatch.dev/vreapp/vlabs/vol2bird",children:"the virtual lab"}),"."]}),"\n",(0,t.jsx)(i.h3,{id:"point-of-contact",children:"Point of contact"}),"\n",(0,t.jsxs)(i.p,{children:["Berend-Christiaan Wijers",(0,t.jsx)(i.br,{}),"\n","IBED - University of Amsterdam",(0,t.jsx)(i.br,{}),"\n","Email: ",(0,t.jsx)(i.a,{href:"mailto:B.C.Wijers@uva.nl",children:"B.C.Wijers@uva.nl"})]}),"\n",(0,t.jsx)(i.h3,{id:"standards",children:"Standards"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.em,{children:"ToDo: description of the standards used for data exchange with application programming interfaces and databases."})})]})}function h(e={}){const{wrapper:i}={...(0,r.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},803:(e,i,a)=>{a.d(i,{Z:()=>t});const t=a.p+"assets/images/RAVRE_overview_image.drawio-7ac7d3ef8815412e82d21dcfd1ce9303.png"},1151:(e,i,a)=>{a.d(i,{Z:()=>o,a:()=>s});var t=a(7294);const r={},n=t.createContext(r);function s(e){const i=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),t.createElement(n.Provider,{value:i},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/6f3e0bc7.eff265d4.js b/pr-preview/pr-33/assets/js/6f3e0bc7.eff265d4.js
new file mode 100644
index 0000000..b78ee56
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/6f3e0bc7.eff265d4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[167],{7326:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>s,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>l});var A=t(5893),i=t(1151);const a={sidebar_position:3},s="The NaaVRE Interface",o={id:"NaaVRE_Interface/index",title:"The NaaVRE Interface",description:"The Notebook as a Virtual Research Environment (NaaVRE) is a set of tools to allow users to containerize cells, compose",source:"@site/docs/NaaVRE_Interface/index.md",sourceDirName:"NaaVRE_Interface",slug:"/NaaVRE_Interface/",permalink:"/pr-preview/pr-33/docs/NaaVRE_Interface/",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/NaaVRE_Interface/index.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Getting Started with NaaVRE tutorial",permalink:"/pr-preview/pr-33/docs/tutorials/"}},r={},l=[{value:"Component Containerizer",id:"component-containerizer",level:2},{value:"Special Variables",id:"special-variables",level:3},{value:"Overriding definition of cell inputs and outputs",id:"overriding-definition-of-cell-inputs-and-outputs",level:3},{value:"Containerizing R cells",id:"containerizing-r-cells",level:3},{value:"Experiment Manager",id:"experiment-manager",level:2},{value:"Special Components",id:"special-components",level:3},{value:"Cells Catalog",id:"cells-catalog",level:3},{value:"Re-containerizing cells used in a workflow",id:"re-containerizing-cells-used-in-a-workflow",level:3},{value:"Managing files in workflows",id:"managing-files-in-workflows",level:3},{value:"Notebook Search",id:"notebook-search",level:2},{value:"Jupyterlab-git",id:"jupyterlab-git",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(n.h1,{id:"the-naavre-interface",children:"The NaaVRE Interface"}),"\n",(0,A.jsx)(n.p,{children:"The Notebook as a Virtual Research Environment (NaaVRE) is a set of tools to allow users to containerize cells, compose\nworkflows and execute them on a workflow engine."}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"NaaVRE_interface",src:t(6602).Z+"",width:"951",height:"668"})}),"\n",(0,A.jsx)(n.h2,{id:"component-containerizer",children:"Component Containerizer"}),"\n",(0,A.jsxs)(n.p,{children:[(0,A.jsx)(n.img,{alt:"Component Containerizer",src:t(4954).Z+"",width:"648",height:"659"}),"\nThe 'Cell Preview' panel shows a preview of the cell that is currently selected including its name, inputs and outputs.\nUnder the 'Cell Preview' panel there a list of the inputs and outputs of the cell and their types. The types are needed\nto be filled in by the user when containerizing a cell. Currently, the supported types are:"]}),"\n",(0,A.jsxs)(n.ul,{children:["\n",(0,A.jsx)(n.li,{children:"String"}),"\n",(0,A.jsx)(n.li,{children:"Integer"}),"\n",(0,A.jsx)(n.li,{children:"Float"}),"\n",(0,A.jsx)(n.li,{children:"List"}),"\n"]}),"\n",(0,A.jsx)(n.p,{children:"Under the 'Inputs' and 'Outputs' there is the 'Base Image' selection. This is the base image that will be used to build\nthe container. The default base image is 'miniconda3'. The user can select a different base image from the drop down."}),"\n",(0,A.jsx)(n.h3,{id:"special-variables",children:"Special Variables"}),"\n",(0,A.jsx)(n.p,{children:"Special variables can be used in the cell code. Their name should contain one of the following prefixes:"}),"\n",(0,A.jsxs)(n.ul,{children:["\n",(0,A.jsxs)(n.li,{children:["\n",(0,A.jsxs)(n.p,{children:[(0,A.jsx)(n.code,{children:"param_"}),": these variables are used to pass input parameters to a cell. They should be used to allow users to set their own values when running a workflow. When containerizing the cell, a default value is extracted from the code and saved to the catalogue. When running a workflow that contains the cell, users use the default value or set a custom one. The value is then passed to the cell during execution."]}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.a,{href:"https://github.com/QCDIS/vre_documetation/assets/9680609/fea3d96b-97d3-43cd-b009-b5bd4537de5a",children:"Param_example.webm"})}),"\n"]}),"\n",(0,A.jsxs)(n.li,{children:["\n",(0,A.jsxs)(n.p,{children:[(0,A.jsx)(n.code,{children:"secret_"}),": these variables are used to pass secret parameters to a cell. They should be used for credentials such as passwords or API keys. They are similar to ",(0,A.jsx)(n.code,{children:"param_"})," variables, but no default value is saved to the catalogue, and values are handled in a secure way when executing the workflow."]}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Component Containerizer secrets",src:t(3151).Z+"",width:"898",height:"894"})}),"\n"]}),"\n",(0,A.jsxs)(n.li,{children:["\n",(0,A.jsxs)(n.p,{children:[(0,A.jsx)(n.code,{children:"conf_"}),": these variables are used to pass configuration parameters to all cells. They are visible by all cells of the notebook. They can be thought of as 'global' variables therefore, they do not require to set their type like other variables. Their value is set when containerizing the cell, and cannot be updated when running the workflow."]}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.a,{href:"https://github.com/QCDIS/vre_documetation/assets/9680609/f7020f7f-69d9-4916-bb56-83ed64cb98a8",children:"Conf_example.webm"})}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Component Containerizer",src:t(4594).Z+"",width:"859",height:"611"})}),"\n"]}),"\n"]}),"\n",(0,A.jsxs)(n.p,{children:["Notice in the image above that the ",(0,A.jsx)(n.code,{children:"conf_b"})," variable is declared in the first cell and used in the second and third cell.\nHowever, the ",(0,A.jsx)(n.code,{children:"conf_b"})," is not showing up as input in the second and third cell."]}),"\n",(0,A.jsx)(n.h3,{id:"overriding-definition-of-cell-inputs-and-outputs",children:"Overriding definition of cell inputs and outputs"}),"\n",(0,A.jsx)(n.admonition,{type:"warning",children:(0,A.jsx)(n.p,{children:"This feature can result in broken containerized cells. Use it with caution."})}),"\n",(0,A.jsx)(n.p,{children:"In normal circumstances, the component containerizer automatically determines the cell variables (inputs, outputs,\nparams, confs) and dependencies by analyzing the source code."}),"\n",(0,A.jsxs)(n.p,{children:["This can be overridden by adding a special comment to the cell. The comment contains a YAML document, beginning with\n",(0,A.jsx)(n.code,{children:"---"})," and ending with ",(0,A.jsx)(n.code,{children:"..."}),"."]}),"\n",(0,A.jsx)(n.p,{children:"Example:"}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{children:'# My cell name\n# ---\n# NaaVRE:\n# cell:\n# inputs:\n# - my_input: String\n# - my_other_input: Integer\n# outputs:\n# - my_output: List\n# - my_other_output: List\n# params:\n# - param_something:\n# type: String\n# default_value: "my default value"\n# confs:\n# - conf_something_else:\n# assignation: "conf_something_else = \'my other value\'"\n# dependencies:\n# - name: yaml\n# - name: numpy\n# asname: np\n# - name: signal\n# module: scipy\n# ...\n\n(my cell code)\n'})}),"\n",(0,A.jsxs)(n.p,{children:["If an entry (e.g. ",(0,A.jsx)(n.code,{children:"params:"}),") is omitted from the comment, the containerizer will try to determine the appropriate values from the source code.\nThis makes it possible to override some variable types, while using the code analysis for others.\nIn this example, the input and output are manually specified, while the dependencies, confs and params are determined from the source code (note how we specify that the cell has no outputs):"]}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{children:"# My cell with partial override\n# ---\n# NaaVRE:\n# cell:\n# inputs:\n# - my_input: String\n# outputs: []\n# ...\n\nprint(my_input, param_my_param)\n"})}),"\n",(0,A.jsxs)(n.p,{children:["For the full syntax, see the ",(0,A.jsx)(n.a,{href:"https://github.com/QCDIS/NaaVRE/blob/main/jupyterlab_vre/services/extractor/cell_header.schema.json",children:"YAML document schema"}),"."]}),"\n",(0,A.jsx)(n.h3,{id:"containerizing-r-cells",children:"Containerizing R cells"}),"\n",(0,A.jsx)(n.p,{children:"While containerizing R code cells is similar to Python, R's characteristics make it more challenging and require additional steps. The type of detected variables will only be identified if they have been explicitly assigned a primitive value."}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{children:'# Will be detected\na <- 1L # Integer\nb <- 1.5 # Float\nc <- "foo" # String\nd <- list(1,2,3) # List\n\n# Will not be detected\ne <- round(1.555, 2)\n'})}),"\n",(0,A.jsx)(n.p,{children:"The type detector can detect the type of variables that have not been explicitly assigned a primitive value."}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"type_detector_1",src:t(2489).Z+"",width:"1207",height:"808"})}),"\n",(0,A.jsxs)(n.p,{children:["By pressing the ",(0,A.jsx)(n.code,{children:"Type Detector"})," button, the selected cell will be executed by the kernel and the types of the detected variables will be retrieved. However, this does require that the selected cell is executable and that all used variables are initialized."]}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"type_detector_2",src:t(7234).Z+"",width:"1208",height:"810"})}),"\n",(0,A.jsxs)(n.p,{children:["In R, new variables can be added to the environment without explicit initialization, leading to instances where additional inputs are detected. This is especially common when working with dataframes, where variables for columns may be implicitly created. Unwanted input variables can be removed by pressing the ",(0,A.jsx)(n.code,{children:"X"})," button next to the variable."]}),"\n",(0,A.jsx)(n.h2,{id:"experiment-manager",children:"Experiment Manager"}),"\n",(0,A.jsx)(n.p,{children:"In the 'Experiment Manager' page you can compose and execute workflows. To compose a workflow click on the '+' button in\nthe bottom right corner of the page and select the 'Cells Catalog' option."}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Experiment Manager",src:t(4875).Z+"",width:"770",height:"466"})}),"\n",(0,A.jsx)(n.p,{children:"After you have selected the cells you want to compose a workflow with, click on the 'Add to Workspace' button."}),"\n",(0,A.jsx)(n.h3,{id:"special-components",children:"Special Components"}),"\n",(0,A.jsx)(n.p,{children:"In the 'Experiment Manager' page you can compose workflows using special components. These components are:"}),"\n",(0,A.jsxs)(n.ul,{children:["\n",(0,A.jsx)(n.li,{children:"Splitter: This component is used to split an output array from a call into its elements and feed each element to the\nnext cell. That way the next cell will be executed in parallel as many times as the number of elements in the array."}),"\n",(0,A.jsx)(n.li,{children:"Merger: This component is used to merge the outputs of multiple cells into a single array."}),"\n"]}),"\n",(0,A.jsx)(n.h3,{id:"cells-catalog",children:"Cells Catalog"}),"\n",(0,A.jsx)(n.p,{children:"The cells catalog contains all the cells that have been containerized."}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Cells Catalog",src:t(8912).Z+"",width:"991",height:"508"})}),"\n",(0,A.jsx)(n.h3,{id:"re-containerizing-cells-used-in-a-workflow",children:"Re-containerizing cells used in a workflow"}),"\n",(0,A.jsx)(n.p,{children:"When re-containerizing a cell used in a workflow, you might need to update the\nworkflow itself:"}),"\n",(0,A.jsxs)(n.ul,{children:["\n",(0,A.jsx)(n.li,{children:"If you only updated the cell's source code or dependencies: the workflow automatically uses the new version of the\ncell."}),"\n",(0,A.jsx)(n.li,{children:"If you changed the cell\u2019s inputs, outputs or parameters: the workflow needs to be updated. Remove the cell from the\nworkflow, and add the new version from the catalogue."}),"\n",(0,A.jsx)(n.li,{children:"If you changed the cell\u2019s title: a new cell is created in the catalogue. Both the old and new cell can be used.\nWorkflows using the old cell don\u2019t need to be updated."}),"\n"]}),"\n",(0,A.jsx)(n.h3,{id:"managing-files-in-workflows",children:"Managing files in workflows"}),"\n",(0,A.jsxs)(n.p,{children:["To transfer files between containerized cells when running the workflow, they need to be placed in the ",(0,A.jsx)(n.code,{children:"/tmp/data/"})," repository. Files outside of this repository are not preserved from one containerized cell to the other."]}),"\n",(0,A.jsxs)(n.p,{children:["The best practice for exchanging files between cells is to save the file in ",(0,A.jsx)(n.code,{children:"/tmp/data/"}),", and pass the filename between the cells. Example:"]}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{className:"language-python",children:"# Write file\nfilename = '/tmp/data/my_file.csv'\nwith open(filename, 'w') as f:\n f.write('file content')\n"})}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{className:"language-python",children:"# Read file\nwith open(filename, 'r') as f:\n data = f.read()\n"})}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Files workflow example",src:t(5399).Z+"",width:"768",height:"288"})}),"\n",(0,A.jsx)(n.h2,{id:"notebook-search",children:"Notebook Search"}),"\n",(0,A.jsx)(n.p,{children:"In the 'Notebook Search' page you can search for notebooks relevant to your research. To search for notebooks click on\nthe icon in the middle left of the page. There you can search for notebooks."}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Notebook Search",src:t(6597).Z+"",width:"1081",height:"424"})}),"\n",(0,A.jsx)(n.p,{children:"The results will be displayed in the left panel. If you clik on a result you will be shown some relevant information\nsuch its title, link, summary etc. If you click on the 'More' button you will be redirected to the notebook where you\ncan download it."}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Notebook Search",src:t(9496).Z+"",width:"464",height:"860"})}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Notebook Search",src:t(591).Z+"",width:"1841",height:"971"})}),"\n",(0,A.jsx)(n.h2,{id:"jupyterlab-git",children:"Jupyterlab-git"}),"\n",(0,A.jsxs)(n.p,{children:["In all VLs there is a Git integration with jupyterlab-git.\nTo clone and push to a repository you can follow the instructions from here: ",(0,A.jsx)(n.a,{href:"https://pypi.org/project/jupyterlab-git/",children:"jupyterlab-git"}),"."]})]})}function d(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,A.jsx)(n,{...e,children:(0,A.jsx)(c,{...e})}):c(e)}},8912:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/cells_catalog_1-a51b936375c6df189c4274dd3bd1dc1e.png"},4954:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/component_containerizer_1-89c4b8403bcbe4f53cd7462fa2359bc8.png"},4594:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/component_containerizer_conf_1-9ce69c703a7b780adbfb968e37a56d77.png"},3151:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/component_containerizer_secrets-fa5034d13a114e33e66e16e35e087b8c.png"},4875:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/experimenter_manager_7-763d9157a11a2992221f6d75ea44ceb6.png"},5399:(e,n,t)=>{t.d(n,{Z:()=>A});const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwAAAAEgCAIAAACM0IPGAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4nO3deWAU5eH/8Wd3Jge572wObghHAqLcBEG8UH5VRA4tiiiKishRbfkqxSoegLYVEWkVrIAHKuq332pVECsg9ykglxBukBwkISEJyWaP3x8LISUkJJPJbp6Z9+uvNexn51mc58mHnZkdS05OjhBCVVWHwyE0IUuWLFmyZMmSlStr1fZCAAAA8qIAAQAA06EAAQAA06EAAQAA06EAAQAA06EAAQAA06EAAQAA06EAAQAA06EAAQAA06EAAQAA06EAAQAA01FVVRVCKIqi+SXIkiVLlixZsmTlyl66N5jmG4yRJUuWLFmyZMnKleUQGAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB1VVVUhhKIoml+CLFmyZMmSJUtWrqzqcDg8jyoeaECWLFmyZMmSJStRlkNgAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdFRVVYUQiqJofgmyZMmSJUuWLFm5sqrD4fA8qnigAVmyZMmSJUuWrERZDoEBAADToQABAADToQABAADToQABAADToQABAADToQABAADTUX09gDrIzMwUQjRp0iQ8PFwIYbfbs7OzhRBWqzUuLq7yc4QQNputhp+oqupwOCp+kpWV5Xa7hRDR0dF+fn5CiLNnz5aWlgohQkJCQkJChBClpaVnz54VQgQGBkZERAghXC6XZwBX3Vx1P4mPj7dYLEKI3Nzc8vJyIURERERgYKAQoqioqKioqPLmysvLs7KyhBAWiyU+Pr4+7zc7O9vlctX1/brdbs8ANL/fuLg4q9UqhMjLy7Pb7UKI8PDwJk2aCCGKi4vPnTvX0O83KirK399fCFFQUHD+/HkhRHBwcGhoqBCirKwsPz9fCBEQEBAZGanh3Wl7vxWbczgcmjd32fvNyclxOp3ef7+xsbGeb9qoeL9hYWFBQUFCiJKSksLCQiGEv79/VFSUEMLpdDbc+y0sLCwpKRFCBAUFhYWFCSHsdnteXl7lAdT//cbExHi+R83L7/fMmTOeq3kjIyMDAgKEEOfOnSsuLhb/vTw23PvNz88vKysTQoSGhgYHBwshzp8/X1BQUHlzLpdL0vdbw6+DBn2/df11kJubK4Tw8/OLjo5uoPdb9ddBxebcbnc932/F8ujl91v514ElJydHCOEZkNDEa9nMzEzPe3C5XEVFRaWlpZ63ARiV1WoNDAwMCQnxrBTVkWL+SpdlnYFJ1HKdqazxz9/aZGX6BMjzT2e73V5YWBifmOwXGOx0W3w9KKABKRZ3eWlx1q8nw8LCPJ9twDtYZ2Aepl1nZDoHKDw83OVyFRYWNm+dYg0IYVWC4TndFmtASPPWKYWFhXwO4TWsMzAV064zMhUgIURRUVF8YrLdJdmwgfqwu6zxicmeg+LwAtYZmJAJ1xmZZrjdbi8tLfULDPb1QABv8wsM9pyWCC9gnYE5mW2dkekcIM9J/nwiDRNyui2m+mjat1wuF+sMTMhs64xMnwABAADoQqYCVPsr9AAAAGogU6Wo+LZDNBD76vGpyWO+s2t/hdI988f2sNmCrbah72d/PbpVysR15UIIx56XuyQNfb9At5ECMLaiz0aE9pq+vepXvrgLNswZ2qFluBKVOGZ55qIRMdf9eY+TRQYayFSAUEuObVN7RvZ844Dzwn8XfPJArNU2ZGGu2/PfrqNz+trSpmwpvzyoxPcaPCI9ySqEcOycnpY0Yklx3bZcuGzmsxvSZq8/nnfgg99GJvW5687usexigGG5jr/VLy7QEhFoiQwKSG6eOmTywj0NexWR6/Qn0147MvDd3dlH9s+7MaTV9cMGpUZywha04LeTAamp/XqE7tmwKd9TeOw/rdkelhy5fe02z9n97oLN63YF97w+za9yyGkvcyrtR814/eFUzWfGu7JPnLC37t2/ZXREWJCfX5fHXv/LqBSlPm8FQGNnbfbwe9v2bdq+5Ys59yr/enzUS+vKGnBrrl+PnbB0vD69aXR4WBO/kH4T3n55UCK/yKCFVVVVVVUVRVG18lr2zJkzvv7rkkRA9/Tulu1rN5cJIYQzY91GddDEoTGbN+51CCGEfev6zc5rr+8Z6Do8b0DIoOffmzH8mo62yIGzfzl/4RCY+8yiO26duaf4y/uSAi0RoZ5PmN0FW/8+8ZaUVpGBCU1Thz37xeHLFjn7d5NatHtuU9HqCUmRgZaIQEtEoCW6recQ2GXPPLrshSH9WoXFh0ek9Xvg7xvz3F74OzEEn89Bk2R9/f9ZNv5RTVPap7Tv3POuZybfFX9q7Y/HPJ8+X3mmO/Z98Pjw3i1bRwfaEtsMGrfg53MXFwDnqRUvDOqeGGRL7DDixeVZV7gaqeizEaE3v36w6PNhtouLzMUF6r+xyNRDY5iDXspW3BpD8/01vJatz1bMxRLRPT3t3OI1ex2DrlOyN60/0eWhUX1LZ8/deMrVtblr/5rNBR2G9oq2iCIhyrcuWJy+ZNmOpTGOErey9UI+5sGvvjvWZdCeqQeWjvR8HYrryNtj7p4dNmXeNwvTgrJWvjn+0fv9m66c3iOgYqP+t845sq/VDV1Xjj74z0dsFiHKvhndYXLVwZ1bM/X2idt+M2vpX/sklO37dMqTIx6J2vT5PQn8G+7qapgCjX/+GiOL6jnPZXz1xapMd1RQoEVUP9PdxeUJd07/bEbHBL/TK+dOePLBlzqse61voHAdmf/Aw++K8e/vGN2heM3Mcc+uKovpdNkmQoYvLWz+bMe7T7166P27A4Rw5y26J+XNKiNhkamXWk4QGefvZVl2CENSmqWnJxxft/mUS5Rs2vBzau+eMV3TrzmwbmORcOVsXHc4Nr13a8+hKWv00OeeviHB3+IXFFzDLWAcP/1jzs4BM9988pb2yQnNuo586fnBuUs//qnqpztX4879598+Cho7b9bd3VrZkjoMmPzGuJbfL13GZ3uArFyH/npbhBod7Ncsbeiig7Y7HhuWbK12pruFX7cxz4+6tVvb5KQW3e9/edqdBcu+2u0Qwrn388UbWk986/c3p9iSrh0+6/nbQzWe2cMig1qS6cNem81WcWt71MwvrV/PJgvWbzo3pumabbF9nkhQonr0SZ61Zpd9UN667QG9nujsJ4RLCKG0aNfm6ve+c+fv3XXkzHfDmn566WeWoHuy6/6NWY4DO/YWbv/2OvWVSoPtNDBbCC7xA6RkbTp63mdPdSzP/On95/5WOmXG8CSrEOXVzHSXiD3/84evzZj//c6jecUOV3nhWTE81ymEOPjL4chru1/4l5kI7to9zW+LpvGwyKCWZCpAqIOgnn26Omau3Xyo+fqSbn9qrwqlTZ+u7ikb9m7N3Vh2ze97BV14nkWt1RkPLpdLaTV5/aZZvf2u/uSrvJI7YNC8jH/fF8WFG4Ah+Me06JiW6peW2iUx58aBTy3p/sF9ydXO9HPLpg6ZuHfwm3+Zlt4iOsi9cepN4xwXTtCxqKpa8eTarUxXxCKD2uEQmEFZYnqkt8/f8NWHPx7snN49QAjhf12va4+tW/J/G3La9ukVf9X/8YrV6nY6LxwvtUR17JR46odl++vxFUEeaso1HZTNK77P5ZxEwGjUDqMn9N4047X1JdXOdMehdVvy+419flSf1FaJtjhrzomznmeoKe1a5v2yP+fC8x2/7Dug8VQPFhnUkkwFiONfdaG0Sk+P2b9w8cbWvXp6viUjrFuf9tsXvrc3ok/vdlf9t5USl5xk2bd6VUZWbt7ZUqdf10f/cP2p18eOm7dqz9HjB7evWfrqUy9/XVD3BcYSO2zCgzHL/nDPK19sPnTi8L7NXy+aNvG9XZyUChiAJeo344Y4P3h9yXF3NTNdSWzVTN3946rTDiFKD338wpw1Fya/0mHY6O675r6w7NdyIYr3LZix9HiVa7tqOQgWGdSOTAUIdeLfpV+PoOLz4b17tbpwvnNSr14xJcUBPft1CbhKVghL7F3PTmq75nfdkto0v3Hufqe15diF387tn/P24/3b90gfNHHuer8WzQK0fMAc2nfmiiVPxK/+423pqZ0GjXzmi9MJLePYDwFDaHL9Q6Narn/jjc3nrzzTLXEjX37j5oNPd+rQtu0Nj/7nusdHXrw2y9ry0Q/eGXLiT72bdUrtNWX/HQ/dePV1qhosMqgVS05OjhCi8vXwdeW1rOcToKZt07RtC5DaiYO7bTbbFf9IivkrUTYzM5N1BuZUwzpTWWOev7XPylSKa/N/BQAA4KpkKkAAAAC6oAABAADTkakAcRUYAADQhUwFCAAAQBcUIAAAYDoyFSCuAgMAALqQqQABAADoggIEAABMR6YClJWV5eshAAAAI5CpALnd3NwXAADoQFVVVQihKIrml/Batj43AQEMwDNbq5Ji/hogC5hBdetMZTLO36rZS5WiPt3CO9nw8PDc3FzNGwJkV8Nkafzz1xhZwPBqOUFknL+XZa9e9BoPPz8/IUR4gK/HAfjCCV8PwFRYZ2BOplpnZDoHCAAAQBcyFaCzZ8/6eggAAMAIZCpApaWlvh4CAAAwApkKEAAAgC5kKkAhISG+HgIAADACChAAADAdmQoQAACALmQqQJwEDQAAdCFTAeIyeAAAoAuZChAAAIAuZCpAnlthAAAA1JNMBSg6OtrXQwAAAEYgUwECAADQhUwFyOVy+XoIAADACGQqQNnZ2b4eAgAAMAKZChAAAIAuKEAAAMB0VFVVhRCKomh+Ca9lk5OTT548qXlbgOw8s7UqKeavAbKAGVS3zlQm4/ytmlUdDofnUcUDDXyVBUylhski4/yVMQsYXi0niIzz97Ish8AAAIDpyFSAMjMzfT0EAABgBDIVIAAAAF1QgAAAgOnIVIBsNpuvhwAAAIxApgIEAACgCwoQAAAwHZkKEFeBAQAAXchUgAAAAHRBAQIAAKYjUwHiKjAAAKALmQoQAACALq5+01cAvnVw3eqDa384tHXT+bwzznK74ucfGmeLb5/avEff5t17+3p0RnBg5fJjW9afOXSgODdHCBEYEXWgU5c2ffp3vn2wr4cGoKFYcnJyhBCqqmq+w6rXsp6rwNLS0rRtC5DOkS3rVy946/T+3dU9IbZN+24jH2rRrXfjn7+NM3tg5fJtnywqysm64pPD4hP6PTy+0213atsWIJ3du3fX5myTRjJ/65lVpkyZIoSwWq0ul0vbi3otW1RUJISIi4vTti1ALhs/eu/fM6YVncmu4TkleWcyVn+v+vnHt9f4DwMp5n4DZde/O3fLR+/aS4qre3JZcdGBNT+UFha07tVX2+YAuWRnZ4eEhFz1aY1h/tY/yzlAMAx3/rpXh6TFBalW/2tf3HnkrQFB7f5ns0MI4dw/q0dwj1n7nb4eYR1s/Oi9le+8Udsnv//Ozv/9uEHHYzzr352755t/1uaZW79YsmLOrOr/vGTXO/d3TQzxs6rNJqw6++mwoJgx39iFkHPHA8xDpgIUHx/v6yGgEXMeXPD09J97v/1zZl7Omv9JDWt38713Xhdj8fWwtDiyZX3t24/H5g8XnNyxpYHGYzwHVi6vZfvx2PrFkp+XfXnFP3Jnfzr1D9+3mL7pZG7unteuD2p+/b3DeyfJtLICJiXTSdAWi5S/zOAlzuOHj4nUJ29qHRMuhBAht/zxvVt8PSaNVi94S0Nq65KFyV266z4YQ9r2yaK6Rn78x7wrngzkPHX4mKPNQzd1iI+0CiFEr0nv9ar3+AA0PKuqqqqqKoqiauXNrK//utBIOXY+3zn4lncyz385KsJSwe/CIbDLlB356vkRPVpGNQkIimnTb8zcDbluz4ts+2NqUPq0D/98f++UpJjw6NYDJi49ZPdkSra+PXZQt9bxYYEBoQlpt03+cG+J5w9cR+f0C+rw9KcfP3VLu5jg4JgOv3nxP9n2U98+P7hzQkiTsGbXT/jsSPnFLTtPr/zz6OvbxgYFBEa26HnvjBW/XmF4B9etruGs5xrkZOw/uX1zQ89BA2QzVq+o7qznGhRmnd717b8u++HJeTcGX/fy7vPrnm6tVOx3ysVDYJepZsfz7EIT/vH2Yzd0aBoXGdWs15h3d13YvZz7l0y8q3e7xIgmAcFxKTc88rfN+Z6dtQF2PMDDC3OwkWStDofD4XA4nU6HVl7LZmXVec2CSajXTN9VvHxsfJPBHxa63W632+08PvcGvys8053z5bibxiy3jf9gQ8bRfd//pf+xV+64b/6Ri2fGlW99+53cUZ/9fCrn9NqnQz4dO37xSZcQwl1+ztF06Esfr9x1OGPTR+Oivn18yLQ15y++puvEohc+jpr4ycYdq2b3PjTz/uGDH5hd8tsFq3Zu+mCEffGjk5ZkuoUQomjt1IHD3he/fXvVL8cy1s0fXjp/2F2v7iy/fIQH1/6g+e/h8IbVDToHjZE9smmttr/ejPWrL/tJ8vgfirdO7dik7+zDTs+OV/zJ0IArZWve8ZyHFs/96eZ3tx7PzvrpLykrJ455Y49TCCFcRecjb31m4fLtGYd3/HNqh+3PDpn0rzz3xdfUd8cDPLwwBxtJVqYj1eXlTFnUkzNj8aylUZPfmz26b7ukhOZd7nrhrUkt1yz8LOPCearW+HumvzAwOUBYgjo8NPZWZcN/NpUKISzhA57808O39+jYIrFpxxvH/+1Pt2T+3/9uu7g/ukWvP8z/4x3Xtmnb/b7nHu2atyF/4Fuz7u3ZrnXnwc9Nurl87Q9b7EK4s7947Z3iUfPmP3FTalNbcsdbn54/rffeRR9uvXyvPvnzDs1vL2v/Hs1Z8zhz6IC24Gntf71X2fEsQbdNfXV4m2CL8G8+5LEhtr0r12S7hRB+3R6e/sTgPp1aJSW1TX9w9sx73F9/fql567vjAWbDQSWYin3X1l0l2zakqtMq/VBp1ifTJVIsQgilWesW/hd+rIZHhpZnFJS4RZDFnb9t0YxXF6/YcSTnnN3pLisssg/OvvixkZKUlnbhbGtrdGyMEh7duYXi+aMmsbEhpVkFZUJY927dUXT4q/6Bcypt2RIcmXn5JZ0Fmb9qfnuF2ZmHs+t2qpyiCKdT49l1kmaLcnO0Zc/V/cDZRTXseG2EEFZb65YXLz22hkdFiIKzhS6RoIjifZ+9+so7X2/NyCosc7jKi3KLe2cWukWQRQi9dzzAbGQqQBEREWfPnvX1KCA1t8vlDvjNolNfjo6q8gvUIYQQFut//9ztdgvhPv3hmNt+d+qe2a8v7dsmLtTfsWJS58ecl36BKErFR6kWy3/9pxDCItzCLYTb7XKpvf+8f+3v29T8uavDXqbtvQkhXOX2Bavq2gxcQmi+vEDKbCut3yPi1hqsccdzCSGEtcolHm4hROG3k299cN2A117/8OYOCWEB7u0v9hv+i9Ppvvjudd3xALORaUYEBgb6egiQXUDnrmnuDV8ty3Ff/bmXlO9YtbZ4wOSZD93YpW2zRFtsyakjJXV6ASGEX4eu1/jt/Pc3R6/2pTCq/xXPIakVt+J/9SeZntuicd2zWDUvmJp2PMcvq9fkdn3sxXG3dWvXPCkhXs08mlXnClbrHQ8wG5kKEFBvSsqYafeH/3vS3U8v/nHvseMZO9d99fYzY/+6vubzIZQWbVuKnSu+O2kXwpm3efZTc3fW+QiMxTZi6vg2W567+9G/r9h15Pjh3ZuWLXp+zPRlRZc/MdyWWMeXvsQRdPXvsIczKFZbMDRW81eRadrxlKS2rfx++WF5xnkh3Of2Lpw8c+WVri6rWa13PMBsZDoE5rkVBlAfltg7/r7qyzbTXpkxfP6jBZZwW6vO/YZMSlRqDCkdJiyYc+Cx312TODkiJiZl0FNThm2ZWudzSEPSZ3y/Ivm5F+aN7js51xka16Jjn9sfv6fKRzbJnbrkHj9S1xf3SOuR+sSIun1GoDaa+/J4Lfvt0ZSjG7WczZPQPlXbRoW2Hc+SOOrNBTvHTk1Pnh4aHdP8hnFTxvz0u/113nQtdzzAbLgZKtC4HFy3+vNnJ2jL3vrsK3W9P7wUc1/f7N4VX6+e+6qG7P979iXuDw9jM9XNUDkEBjQubdP7J2i6s2lsm/Z1bT/mlDJgYEjdD2aFxSfQfgAjkakAcRI0TKL/2Cc1pLqNfEj3kRhV13sfrGuk38PjG2AgAHxGpgIUERHh6yEA3tCye58Bj02uU6TH/WO5EVjtpQwYmDpoSO2f323oyCveCAyAvGQ6CRowj173jRFC1PKe8L0eeKzTXfc08IiMps8jE4QQtbknfLehI2+Z9EzDjwiAV8lUgLgVBkyl131j4lPar17wVg33Ro1t077byIdadOut+cRAM+vzyISY1inbPllU3b1Rw+IT+j08ns9+AEOSqQDl5ub6egiAV7Xs3qdl9z4H160+uPaHQ1s3nc874yy3K37+oXG2+PapzXv05aznekoZMDBlwMADK5cf27L+zKEDxbk5QojAiKhmnbq06dOfs54BA5OpAAHm1Da9f9v0/rW8PBUaeGpQxX9mZmbydRuA4cl0ErSlyt1yAAAANJCpAMXHa/4eegAAgEtkKkAAAAC6oAABAADTUVVVFUIoSs03g6yJ17Kee4EBpuWZrVVJMX8NkAXMoLp1pjIZ52/V7KV7g9Xne0S8k+WbTmByNUyBxj9/jZEFDK+WE0TG+cvNUAEAgNnJVID4EhQAAKALmQoQAACALihAAADAdGQqQFwFBgAAdCFTAQIAANAFBQgAAJiOTAWIq8AAAIAuZCpAAAAAuqAAAQAA05GpAHEVGAAA0IVMBQgAAEAXFCAAAGA6MhUgrgIDAAC6kKkAAQAA6IICBAAATEemApSdne3rIQAAACOQqQC5XC5fDwEAABiBqqqqEEJRFM0v4bWsqqoOh0PztgDZeWZrVVLMXwNkATOobp2pTMb5WzV7qVLUp1t4JxseHp6bm6t5Q4DsapgsjX/+GiMLGF4tJ4iM8/eyrEyHwPz8/Hw9BAAAYAQyFSAAAABdyFSAzp496+shAAAAI5CpAJWWlvp6CAAAwAhkKkAAAAC6kKkAhYSE+HoIAADACChAAADAdGQqQAAAALqQqQBxEjQAANCFTAWIy+ABAIAuZCpAAAAAupCpAHErDAAAoAuZClB0dLSvhwAAAIxApgIEAACgC5kKkNvt9vUQAACAEchUgLKysnw9BAAAYAQyFSAAAABdUIAAAIDpqKqqCiEURdH8El7LJicnnzx5UvO2ANl5ZmtVUsxfA2QBM6hunalMxvlbNas6HA7Po4oHGvgqC5hKDZNFxvkrYxYwvFpOEBnn72VZDoEBAADTkakAZWZm+noIAADACGQqQAAAALqgAAEAANORqQDZbDZfDwEAABiBTAUIAABAFxQgAABgOjIVIK4CAwAAupCpAAEAAOiCAgQAAExHpgLEVWAAAEAXMhUgAAAAXVCAAACA6chUgLgKDAAA6EKmAgQAAKALChAAADAdmQpQXFyc1Wp1uVy+HgjgbS6Xy2qVabZKjXUG5mS2dUamt2q1WgMDAwsKCnw9EMDbCgoKAgMDfT0Ks2CdgTmZbZ1RVVUVQiiKovklvJkNCwvLysoKDQ31DBswA4fDkZWVFRMTU91uL8v8lSXLOgMTuuo6U1ljnr+1z6oOh8PzqOKBBt7J5uXlRUVFhYWFZWRkxMfHh4eHm+rDOpiQy+UqKCjIysoKCwsTNU6Wxj9/5cqyzsA8ar/OVNaY528tszL9+8Zutwsh/P39o6Ki8vPzT58+zXF6GJvnsG9UVBS/g72MdQbmYdp1RqYCVMFqtYaFhUVFRWlugqqqkiVrmCwagmed8fyb2EPGfYMs2YbIGoNMdS88PNzXQwAAAEYgUwFq0qSJr4cAAACMQKYCBAAAoAuZClBxcbGvhwAAAIxApgJ07tw5Xw8BAAAYgUwFCAAAQBcyFSBTfUU3AABoODIVoIiICF8PAQAAGIFMBQgAAEAXMhWg8vJyXw8BAAAYgUwFKDc319dDAAAARiBTAQIAANCFTAXIYrH4eggAAMAIZCpA8fHxvh4CAAAwApkKEAAAgC4oQAAAwHRUVVWFEIqiaH4Jr2UzMzNtNpv3t0uWLFmyZMmSNVhWdTgcnkcVDzTwTtbhcFz25MY/ZrJkyZIlS5ZsI8xyCAwAAJiOTAWo8vEvAAAAzWQqQAAAALqgAAEAANORqQBlZmb6eggAAMAIZCpAAAAAuqAAAQAA05GpAHEVGAAA0IVMBQgAAEAXFCAAAGA6MhUgrgIDAAC6kKkAAQAA6IICBAAATEemAsRVYAAAQBcyFSAAAABdUIAAAIDpyFSAsrOzfT0EAABgBDIVIJfL5eshAAAAI1BVVRVCKIqi+SW8llXVC6P18nbJkiVLlixZsgbLqg6Hw/Oo4oEG3smGhYVd9uTGP2ayZMmSJUuWbCPMynQIzN/f39dDAAAARiBTAQIAANCFTAWooKDA10MAAABGIFMBOn/+vK+HAAAAjECmAgQAAKALmQpQcHCwr4cAAACMQKYCFBoa6ushAAAAI5CpAAEAAOhCpgJUVlbm6yEAAAAjkKkA5efn+3oIAADACGQqQAAAALqQqQBVvhMqAACAZjIVoJiYGF8PAQAAGIFMBQgAAEAXFCAAAGA6MhWgzMxMXw8BAAAYgUwFCAAAQBcUIAAAYDqq59pyRVE0v4TXssnJyT7ZLlmyZMmSJUvWYFnV4XB4HlU80IAsWbJkyZIlS1aiLIfAAACA6chUgLgKDAAA6EKmAgQAAKALChAAADAdmQqQzWbz9RAAAIARyFSAAAAAdEEBArBOePAAAABASURBVAAApiNTAeIqMAAAoAuZChAAAIAuKEAAAMB0ZCpAXAUGAAB0IVMBAgAA0AUFCAAAmI5MBYirwAAAgC7+PwQS6cOrvlnkAAAAAElFTkSuQmCC"},6602:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/n-a-a-vre_interface_1-441fe6fcba0c3cac6eb3a9294e33d740.png"},6597:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/notebook_search_1-681830ef694b98c4459e6b81f371a063.png"},9496:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/notebook_search_2-b9fcd1a2f6ebc23b30bea2223be70f89.png"},591:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/notebook_search_3-287346427ffbd78c94acb5548293c412.png"},2489:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/types_detector_R_1-b19f7fe3fdaa02457287720d910dae87.png"},7234:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/types_detector_R_2-523f954a8bea3823c70d8193ab767a42.png"},1151:(e,n,t)=>{t.d(n,{Z:()=>o,a:()=>s});var A=t(7294);const i={},a=A.createContext(i);function s(e){const n=A.useContext(a);return A.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),A.createElement(a.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/752a6134.76febb78.js b/pr-preview/pr-33/assets/js/752a6134.76febb78.js
new file mode 100644
index 0000000..796bb43
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/752a6134.76febb78.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[384],{7952:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>h});var s=r(5893),i=r(1151),n=r(2457);const a={sidebar_position:1,title:"VRE researcher"},o=void 0,l={id:"readiness_levels/Virtual_lab_roles/VRE_researcher",title:"VRE researcher",description:"The VRE researcher contributes the following per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/VRE_researcher.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/VRE_researcher",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/VRE_researcher.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"VRE researcher"},sidebar:"tutorialSidebar",previous:{title:"User supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter"},next:{title:"Getting Started with NaaVRE tutorial",permalink:"/pr-preview/pr-33/docs/tutorials/"}},u={},h=[];function c(e){const t={li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return n||d("Responsibilities",!1),n.L2VREResearcher||d("Responsibilities.L2VREResearcher",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"The VRE researcher contributes the following per level:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["L2: ",(0,s.jsx)(n.L2VREResearcher,{})]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}function d(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>s,L0Coordinator:()=>d,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>i,L1Coordinator:()=>v,L1CoreDeveloper:()=>y,L1DevOps:()=>w,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>C,L1Reviewer:()=>V,L2CommunitySupporter:()=>n,L2Coordinator:()=>m,L2CoreDeveloper:()=>_,L2DevOps:()=>L,L2GoldenUser:()=>h,L2InfrastructureSupporter:()=>k,L2Trainer:()=>D,L2VREResearcher:()=>P,L3CommunitySupporter:()=>a,L3Coordinator:()=>b,L3CoreDeveloper:()=>R,L3GoldenUser:()=>c,L3InfrastructureSupporter:()=>x,L3SteeringBoard:()=>j,L3Trainer:()=>U,L3UserSupporter:()=>T,L4CommunitySupporter:()=>o,L4Coordinator:()=>f,L4CoreDeveloper:()=>E,L4GoldenUser:()=>p,L4InfrastructureSupporter:()=>S,L4SteeringBoard:()=>G,L4UserSupporter:()=>I});const s=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",i=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",n=()=>"Finds potential silver users to take part in the trainings in the next phase.",a=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",h=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",c=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",p=()=>"A golden user can keep on using the virtual lab for their own experiments.",d=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",w=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",L=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",y=()=>"Develop the content of the new virtual lab in NaaVRE.",_=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",R=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",E=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",V=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",C=()=>"Advises and provides the infrastructure for the virtual lab.",k=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",x=()=>"Ensures the infrastructure can support the training sessions.",S=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",D=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",U=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",P=()=>"Potentially publishes a technical paper in addition to the domain paper.",j=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",G=()=>"Coordinates the further development of the virtual lab with a scientific vision.",T=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",I=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>o,a:()=>a});var s=r(7294);const i={},n=s.createContext(i);function a(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/772.9ad1d593.js b/pr-preview/pr-33/assets/js/772.9ad1d593.js
new file mode 100644
index 0000000..b02bd77
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/772.9ad1d593.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[772],{5658:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var i=n(512),s=n(5999),a=n(2503),o=n(5893);function r(e){let{className:t}=e;return(0,o.jsx)("main",{className:(0,i.Z)("container margin-vert--xl",t),children:(0,o.jsx)("div",{className:"row",children:(0,o.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,o.jsx)(a.Z,{as:"h1",className:"hero__title",children:(0,o.jsx)(s.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,o.jsx)("p",{children:(0,o.jsx)(s.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,o.jsx)("p",{children:(0,o.jsx)(s.Z,{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."})})]})})})}},1772:(e,t,n)=>{n.r(t),n.d(t,{default:()=>l});n(7294);var i=n(5999),s=n(1944),a=n(6040),o=n(5658),r=n(5893);function l(){const e=(0,i.I)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.d,{title:e}),(0,r.jsx)(a.Z,{children:(0,r.jsx)(o.Z,{})})]})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/7e556c3d.55c6c85c.js b/pr-preview/pr-33/assets/js/7e556c3d.55c6c85c.js
new file mode 100644
index 0000000..91dbfa2
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/7e556c3d.55c6c85c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[777],{7905:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>u,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var s=t(5893),n=t(1151),i=t(2457);const o={sidebar_position:1,title:"Golden user"},a=void 0,l={id:"readiness_levels/Virtual_lab_roles/Golden_user",title:"Golden user",description:"Golden users have the following responsibilities per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/Golden_user.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Golden_user",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Golden_user.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Golden user"},sidebar:"tutorialSidebar",previous:{title:"Virtual research environment development and operations (VRE DevOps) engineer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps"},next:{title:"Infrastructure supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter"}},u={},d=[];function p(e){const r={li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return i||c("Responsibilities",!1),i.L0GoldenUser||c("Responsibilities.L0GoldenUser",!0),i.L1GoldenUser||c("Responsibilities.L1GoldenUser",!0),i.L2GoldenUser||c("Responsibilities.L2GoldenUser",!0),i.L3GoldenUser||c("Responsibilities.L3GoldenUser",!0),i.L4GoldenUser||c("Responsibilities.L4GoldenUser",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.p,{children:"Golden users have the following responsibilities per level:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["L0: ",(0,s.jsx)(i.L0GoldenUser,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L1: ",(0,s.jsx)(i.L1GoldenUser,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L2: ",(0,s.jsx)(i.L2GoldenUser,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L3: ",(0,s.jsx)(i.L3GoldenUser,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L4: ",(0,s.jsx)(i.L4GoldenUser,{})]}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,n.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}function c(e,r){throw new Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,r,t)=>{t.r(r),t.d(r,{L0CommunitySupporter:()=>s,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>v,L1CoreDeveloper:()=>_,L1DevOps:()=>L,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>U,L1Reviewer:()=>C,L2CommunitySupporter:()=>i,L2Coordinator:()=>m,L2CoreDeveloper:()=>y,L2DevOps:()=>w,L2GoldenUser:()=>d,L2InfrastructureSupporter:()=>k,L2Trainer:()=>j,L2VREResearcher:()=>E,L3CommunitySupporter:()=>o,L3Coordinator:()=>b,L3CoreDeveloper:()=>G,L3GoldenUser:()=>p,L3InfrastructureSupporter:()=>R,L3SteeringBoard:()=>D,L3Trainer:()=>V,L3UserSupporter:()=>I,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>x,L4GoldenUser:()=>h,L4InfrastructureSupporter:()=>S,L4SteeringBoard:()=>P,L4UserSupporter:()=>N});const s=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",i=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",d=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",p=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",h=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",w=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",_=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",G=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",U=()=>"Advises and provides the infrastructure for the virtual lab.",k=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",R=()=>"Ensures the infrastructure can support the training sessions.",S=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",j=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",V=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",E=()=>"Potentially publishes a technical paper in addition to the domain paper.",D=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",P=()=>"Coordinates the further development of the virtual lab with a scientific vision.",I=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",N=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,r,t)=>{t.d(r,{Z:()=>a,a:()=>o});var s=t(7294);const n={},i=s.createContext(n);function o(e){const r=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),s.createElement(i.Provider,{value:r},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/8e76cafd.21bbfcf9.js b/pr-preview/pr-33/assets/js/8e76cafd.21bbfcf9.js
new file mode 100644
index 0000000..3a5fe0f
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/8e76cafd.21bbfcf9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[214],{2376:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var s=r(5893),i=r(1151),n=r(2457);const o={sidebar_position:1,title:"Virtual research environment development and operations (VRE DevOps) engineer"},a=void 0,l={id:"readiness_levels/Virtual_lab_roles/DevOps",title:"Virtual research environment development and operations (VRE DevOps) engineer",description:"The VRE DevOps engineers have the following responsibilities per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/DevOps.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/DevOps",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/DevOps.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Virtual research environment development and operations (VRE DevOps) engineer"},sidebar:"tutorialSidebar",previous:{title:"Core developer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer"},next:{title:"Golden user",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user"}},u={},p=[];function h(e){const t={li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return n||c("Responsibilities",!1),n.L0DevOps||c("Responsibilities.L0DevOps",!0),n.L1DevOps||c("Responsibilities.L1DevOps",!0),n.L2DevOps||c("Responsibilities.L2DevOps",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"The VRE DevOps engineers have the following responsibilities per level:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["L0: ",(0,s.jsx)(n.L0DevOps,{})]}),"\n",(0,s.jsxs)(t.li,{children:["L1: ",(0,s.jsx)(n.L1DevOps,{})]}),"\n",(0,s.jsxs)(t.li,{children:["L2: ",(0,s.jsx)(n.L2DevOps,{})]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}function c(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>s,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>i,L1Coordinator:()=>v,L1CoreDeveloper:()=>y,L1DevOps:()=>L,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>k,L1Reviewer:()=>x,L2CommunitySupporter:()=>n,L2Coordinator:()=>m,L2CoreDeveloper:()=>_,L2DevOps:()=>w,L2GoldenUser:()=>p,L2InfrastructureSupporter:()=>O,L2Trainer:()=>R,L2VREResearcher:()=>j,L3CommunitySupporter:()=>o,L3Coordinator:()=>b,L3CoreDeveloper:()=>D,L3GoldenUser:()=>h,L3InfrastructureSupporter:()=>V,L3SteeringBoard:()=>G,L3Trainer:()=>S,L3UserSupporter:()=>U,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>C,L4GoldenUser:()=>d,L4InfrastructureSupporter:()=>E,L4SteeringBoard:()=>P,L4UserSupporter:()=>T});const s=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",i=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",n=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",p=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",h=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",d=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",w=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",y=()=>"Develop the content of the new virtual lab in NaaVRE.",_=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",D=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",k=()=>"Advises and provides the infrastructure for the virtual lab.",O=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",V=()=>"Ensures the infrastructure can support the training sessions.",E=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",R=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",S=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",j=()=>"Potentially publishes a technical paper in addition to the domain paper.",G=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",P=()=>"Coordinates the further development of the virtual lab with a scientific vision.",U=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",T=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>o});var s=r(7294);const i={},n=s.createContext(i);function o(e){const t=s.useContext(n);return s.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(i):e.components||i:o(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/935f2afb.158c11a6.js b/pr-preview/pr-33/assets/js/935f2afb.158c11a6.js
new file mode 100644
index 0000000..1bd96bc
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/935f2afb.158c11a6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"About NaaVRE","href":"/pr-preview/pr-33/docs/about","docId":"about","unlisted":false},{"type":"category","label":"Readiness level framework for co-development of virtual labs on the NaaVRE platform","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"L0 - initial proposal","href":"/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal","docId":"readiness_levels/L0_initial_proposal","unlisted":false},{"type":"link","label":"L1 - Co-development","href":"/pr-preview/pr-33/docs/readiness_levels/L1_co-development","docId":"readiness_levels/L1_co-development","unlisted":false},{"type":"link","label":"L2 - Validation phase","href":"/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase","docId":"readiness_levels/L2_validation_phase","unlisted":false},{"type":"link","label":"L3 - Workshop use","href":"/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use","docId":"readiness_levels/L3_workshop_use","unlisted":false},{"type":"link","label":"L4 - Operational service","href":"/pr-preview/pr-33/docs/readiness_levels/L4_operational_service","docId":"readiness_levels/L4_operational_service","unlisted":false},{"type":"category","label":"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers.","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"RAVRE documentation","href":"/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation","docId":"readiness_levels/RAVRE/documentation","unlisted":false}],"href":"/pr-preview/pr-33/docs/readiness_levels/RAVRE/"},{"type":"link","label":"User manual","href":"/pr-preview/pr-33/docs/readiness_levels/user_manual","docId":"readiness_levels/user_manual","unlisted":false},{"type":"category","label":"Virtual_lab_roles","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Community supporter","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter","docId":"readiness_levels/Virtual_lab_roles/Community_supporter","unlisted":false},{"type":"link","label":"Virtual lab coordinator","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator","docId":"readiness_levels/Virtual_lab_roles/Coordinator","unlisted":false},{"type":"link","label":"Core developer","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer","docId":"readiness_levels/Virtual_lab_roles/Core_developer","unlisted":false},{"type":"link","label":"Virtual research environment development and operations (VRE DevOps) engineer","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps","docId":"readiness_levels/Virtual_lab_roles/DevOps","unlisted":false},{"type":"link","label":"Golden user","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user","docId":"readiness_levels/Virtual_lab_roles/Golden_user","unlisted":false},{"type":"link","label":"Infrastructure supporter","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter","docId":"readiness_levels/Virtual_lab_roles/Infrastructure_supporter","unlisted":false},{"type":"link","label":"Reviewer","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer","docId":"readiness_levels/Virtual_lab_roles/Reviewer","unlisted":false},{"type":"link","label":"Scientific steering board","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board","docId":"readiness_levels/Virtual_lab_roles/Steering_board","unlisted":false},{"type":"link","label":"Trainer","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer","docId":"readiness_levels/Virtual_lab_roles/Trainer","unlisted":false},{"type":"link","label":"User supporter","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter","docId":"readiness_levels/Virtual_lab_roles/User_supporter","unlisted":false},{"type":"link","label":"VRE researcher","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher","docId":"readiness_levels/Virtual_lab_roles/VRE_researcher","unlisted":false}]}],"href":"/pr-preview/pr-33/docs/readiness_levels/"},{"type":"link","label":"Getting Started with NaaVRE tutorial","href":"/pr-preview/pr-33/docs/tutorials/","docId":"tutorials/index","unlisted":false},{"type":"link","label":"The NaaVRE Interface","href":"/pr-preview/pr-33/docs/NaaVRE_Interface/","docId":"NaaVRE_Interface/index","unlisted":false}]},"docs":{"about":{"id":"about","title":"About NaaVRE","description":"NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1].","sidebar":"tutorialSidebar"},"NaaVRE_Interface/index":{"id":"NaaVRE_Interface/index","title":"The NaaVRE Interface","description":"The Notebook as a Virtual Research Environment (NaaVRE) is a set of tools to allow users to containerize cells, compose","sidebar":"tutorialSidebar"},"readiness_levels/index":{"id":"readiness_levels/index","title":"Readiness level framework for co-development of virtual labs on the NaaVRE platform","description":"Version 0.0.2","sidebar":"tutorialSidebar"},"readiness_levels/L0_initial_proposal":{"id":"readiness_levels/L0_initial_proposal","title":"L0 - initial proposal","description":"Start situation","sidebar":"tutorialSidebar"},"readiness_levels/L1_co-development":{"id":"readiness_levels/L1_co-development","title":"L1 - Co-development","description":"Start situation","sidebar":"tutorialSidebar"},"readiness_levels/L2_validation_phase":{"id":"readiness_levels/L2_validation_phase","title":"L2 - Validation phase","description":"Start situation","sidebar":"tutorialSidebar"},"readiness_levels/L3_workshop_use":{"id":"readiness_levels/L3_workshop_use","title":"L3 - Workshop use","description":"Start situation","sidebar":"tutorialSidebar"},"readiness_levels/L4_operational_service":{"id":"readiness_levels/L4_operational_service","title":"L4 - Operational service","description":"Start situation","sidebar":"tutorialSidebar"},"readiness_levels/RAVRE/documentation":{"id":"readiness_levels/RAVRE/documentation","title":"RAVRE documentation","description":"This page provides detailed documentation for RAVRE. A higher level overview of the RAVRE virtual lab is available on the lab overview page.","sidebar":"tutorialSidebar"},"readiness_levels/RAVRE/index":{"id":"readiness_levels/RAVRE/index","title":"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers.","description":"Introduction: The airspace is becoming increasingly crowded. High-rises, wind farms and airports all contribute to conflict with aerial organisms. Information about the movements of organisms in the air is required to identify stop-over sites, migratory routes, and patterns. This can inform mitigation of conflicts by, for example, wind-turbine curtailments or early warning systems for aviation. Weather radars, that continuously monitor the sky across continents, can be used to study movements of birds, bats, and insects. However, for continental scale analysis, large volumes of data are required to be processed and analyzed, which often rely on institute-specific tools and computational resources. This severely hampers collaborative efforts because of the initial investment of time and resources to gain access to existing computing infrastructure. Here we show a Radar Aeroecology Virtual Research Environment (RAVRE) which uses the Lifewatch ERIC infrastructure to facilitate collaboration and re-use of infrastructure and tools. By providing RAVRE, we aim to facilitate collaboration between ornithological institutes.","sidebar":"tutorialSidebar"},"readiness_levels/user_manual":{"id":"readiness_levels/user_manual","title":"User manual","description":"The following guidelines can be used to determine the completeness of a user manual.","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Community_supporter":{"id":"readiness_levels/Virtual_lab_roles/Community_supporter","title":"Community supporter","description":"The community supporter has the following responsibilities per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Coordinator":{"id":"readiness_levels/Virtual_lab_roles/Coordinator","title":"Virtual lab coordinator","description":"The virtual lab coordinator has the following responsibilities per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Core_developer":{"id":"readiness_levels/Virtual_lab_roles/Core_developer","title":"Core developer","description":"Core developers create the content of the new virtual lab, being steered by the golden users.","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/DevOps":{"id":"readiness_levels/Virtual_lab_roles/DevOps","title":"Virtual research environment development and operations (VRE DevOps) engineer","description":"The VRE DevOps engineers have the following responsibilities per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Golden_user":{"id":"readiness_levels/Virtual_lab_roles/Golden_user","title":"Golden user","description":"Golden users have the following responsibilities per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Infrastructure_supporter":{"id":"readiness_levels/Virtual_lab_roles/Infrastructure_supporter","title":"Infrastructure supporter","description":"The infrastructure supporter contributes the following per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Reviewer":{"id":"readiness_levels/Virtual_lab_roles/Reviewer","title":"Reviewer","description":"The reviewer can contribute the following per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Steering_board":{"id":"readiness_levels/Virtual_lab_roles/Steering_board","title":"Scientific steering board","description":"The scientific steering board decides on the further development of the virtual lab based on a scientific vision and their knowledge of the use cases of the virtual lab.","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Trainer":{"id":"readiness_levels/Virtual_lab_roles/Trainer","title":"Trainer","description":"The trainer contributes the following per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/User_supporter":{"id":"readiness_levels/Virtual_lab_roles/User_supporter","title":"User supporter","description":"The user supporter contributes the following per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/VRE_researcher":{"id":"readiness_levels/Virtual_lab_roles/VRE_researcher","title":"VRE researcher","description":"The VRE researcher contributes the following per level:","sidebar":"tutorialSidebar"},"tutorials/index":{"id":"tutorials/index","title":"Getting Started with NaaVRE tutorial","description":"The aim of this tutorial is to discover the basic functionalities of NaaVRE","sidebar":"tutorialSidebar"}}}')}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/944a1d22.d3908620.js b/pr-preview/pr-33/assets/js/944a1d22.d3908620.js
new file mode 100644
index 0000000..2eed495
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/944a1d22.d3908620.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[999],{1546:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>u,toc:()=>p});var s=t(5893),n=t(1151),i=t(2457);const o={sidebar_position:1,title:"Infrastructure supporter"},a=void 0,u={id:"readiness_levels/Virtual_lab_roles/Infrastructure_supporter",title:"Infrastructure supporter",description:"The infrastructure supporter contributes the following per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Infrastructure_supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Infrastructure supporter"},sidebar:"tutorialSidebar",previous:{title:"Golden user",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user"},next:{title:"Reviewer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer"}},l={},p=[];function c(e){const r={li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return i||d("Responsibilities",!1),i.L1InfrastructureSupporter||d("Responsibilities.L1InfrastructureSupporter",!0),i.L2InfrastructureSupporter||d("Responsibilities.L2InfrastructureSupporter",!0),i.L3InfrastructureSupporter||d("Responsibilities.L3InfrastructureSupporter",!0),i.L4InfrastructureSupporter||d("Responsibilities.L4InfrastructureSupporter",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.p,{children:"The infrastructure supporter contributes the following per level:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["L1: ",(0,s.jsx)(i.L1InfrastructureSupporter,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L2: ",(0,s.jsx)(i.L2InfrastructureSupporter,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L3: ",(0,s.jsx)(i.L3InfrastructureSupporter,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L4: ",(0,s.jsx)(i.L4InfrastructureSupporter,{})]}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,n.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}function d(e,r){throw new Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,r,t)=>{t.r(r),t.d(r,{L0CommunitySupporter:()=>s,L0Coordinator:()=>d,L0DevOps:()=>g,L0GoldenUser:()=>u,L1CommunitySupporter:()=>n,L1Coordinator:()=>v,L1CoreDeveloper:()=>_,L1DevOps:()=>L,L1GoldenUser:()=>l,L1InfrastructureSupporter:()=>C,L1Reviewer:()=>I,L2CommunitySupporter:()=>i,L2Coordinator:()=>f,L2CoreDeveloper:()=>y,L2DevOps:()=>w,L2GoldenUser:()=>p,L2InfrastructureSupporter:()=>k,L2Trainer:()=>E,L2VREResearcher:()=>D,L3CommunitySupporter:()=>o,L3Coordinator:()=>m,L3CoreDeveloper:()=>S,L3GoldenUser:()=>c,L3InfrastructureSupporter:()=>R,L3SteeringBoard:()=>G,L3Trainer:()=>V,L3UserSupporter:()=>U,L4CommunitySupporter:()=>a,L4Coordinator:()=>b,L4CoreDeveloper:()=>x,L4GoldenUser:()=>h,L4InfrastructureSupporter:()=>j,L4SteeringBoard:()=>P,L4UserSupporter:()=>T});const s=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",i=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",u=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",l=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",p=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",c=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",h=()=>"A golden user can keep on using the virtual lab for their own experiments.",d=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",f=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",m=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",b=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",w=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",_=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",S=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",I=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",C=()=>"Advises and provides the infrastructure for the virtual lab.",k=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",R=()=>"Ensures the infrastructure can support the training sessions.",j=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",E=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",V=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",D=()=>"Potentially publishes a technical paper in addition to the domain paper.",G=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",P=()=>"Coordinates the further development of the virtual lab with a scientific vision.",U=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",T=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,r,t)=>{t.d(r,{Z:()=>a,a:()=>o});var s=t(7294);const n={},i=s.createContext(n);function o(e){const r=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),s.createElement(i.Provider,{value:r},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/9b58cf7f.4f30322a.js b/pr-preview/pr-33/assets/js/9b58cf7f.4f30322a.js
new file mode 100644
index 0000000..e0a163f
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/9b58cf7f.4f30322a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[859],{2925:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>l,toc:()=>d});var i=r(5893),n=r(1151),s=r(2457);const a={sidebar_position:1,title:"Scientific steering board"},o=void 0,l={id:"readiness_levels/Virtual_lab_roles/Steering_board",title:"Scientific steering board",description:"The scientific steering board decides on the further development of the virtual lab based on a scientific vision and their knowledge of the use cases of the virtual lab.",source:"@site/docs/readiness_levels/Virtual_lab_roles/Steering_board.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Steering_board",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Steering_board.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Scientific steering board"},sidebar:"tutorialSidebar",previous:{title:"Reviewer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer"},next:{title:"Trainer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer"}},u={},d=[];function h(e){const t={li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return s||p("Responsibilities",!1),s.L3SteeringBoard||p("Responsibilities.L3SteeringBoard",!0),s.L4SteeringBoard||p("Responsibilities.L4SteeringBoard",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"The scientific steering board decides on the further development of the virtual lab based on a scientific vision and their knowledge of the use cases of the virtual lab.\nMembers of the scientific steering board are invited by the golden users and community supporter during L3 - workshop use.\nIf a golden user remains involved in the virtual lab, they can take place in the scientific steering board."}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["L3: ",(0,i.jsx)(s.L3SteeringBoard,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L4: ",(0,i.jsx)(s.L4SteeringBoard,{})]}),"\n"]})]})}function c(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}function p(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>i,L0Coordinator:()=>p,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>v,L1CoreDeveloper:()=>y,L1DevOps:()=>w,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>x,L1Reviewer:()=>C,L2CommunitySupporter:()=>s,L2Coordinator:()=>b,L2CoreDeveloper:()=>_,L2DevOps:()=>L,L2GoldenUser:()=>d,L2InfrastructureSupporter:()=>R,L2Trainer:()=>D,L2VREResearcher:()=>P,L3CommunitySupporter:()=>a,L3Coordinator:()=>f,L3CoreDeveloper:()=>S,L3GoldenUser:()=>h,L3InfrastructureSupporter:()=>E,L3SteeringBoard:()=>T,L3Trainer:()=>j,L3UserSupporter:()=>B,L4CommunitySupporter:()=>o,L4Coordinator:()=>m,L4CoreDeveloper:()=>k,L4GoldenUser:()=>c,L4InfrastructureSupporter:()=>V,L4SteeringBoard:()=>U,L4UserSupporter:()=>G});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",s=()=>"Finds potential silver users to take part in the trainings in the next phase.",a=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",d=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",h=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",c=()=>"A golden user can keep on using the virtual lab for their own experiments.",p=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",b=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",f=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",m=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",w=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",L=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",y=()=>"Develop the content of the new virtual lab in NaaVRE.",_=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",S=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",x=()=>"Advises and provides the infrastructure for the virtual lab.",R=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",E=()=>"Ensures the infrastructure can support the training sessions.",V=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",D=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",j=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",P=()=>"Potentially publishes a technical paper in addition to the domain paper.",T=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",U=()=>"Coordinates the further development of the virtual lab with a scientific vision.",B=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",G=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>o,a:()=>a});var i=r(7294);const n={},s=i.createContext(n);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/a034c16c.d8725a72.js b/pr-preview/pr-33/assets/js/a034c16c.d8725a72.js
new file mode 100644
index 0000000..5724092
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/a034c16c.d8725a72.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[334],{606:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>h,contentTitle:()=>a,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>u});var s=i(5893),n=i(1151),r=i(2457);const o={sidebar_position:1,title:"L3 - Workshop use"},a=void 0,l={id:"readiness_levels/L3_workshop_use",title:"L3 - Workshop use",description:"Start situation",source:"@site/docs/readiness_levels/L3_workshop_use.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/L3_workshop_use",permalink:"/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/L3_workshop_use.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"L3 - Workshop use"},sidebar:"tutorialSidebar",previous:{title:"L2 - Validation phase",permalink:"/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase"},next:{title:"L4 - Operational service",permalink:"/pr-preview/pr-33/docs/readiness_levels/L4_operational_service"}},h={},u=[{value:"Start situation",id:"start-situation",level:3},{value:"During the workshop use phase",id:"during-the-workshop-use-phase",level:3},{value:"Workshop use milestone",id:"workshop-use-milestone",level:3},{value:"Workshop use responsibilities",id:"workshop-use-responsibilities",level:3},{value:"Exit conditions",id:"exit-conditions",level:3}];function d(e){const t={h3:"h3",input:"input",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return r||p("Responsibilities",!1),r.L3CommunitySupporter||p("Responsibilities.L3CommunitySupporter",!0),r.L3Coordinator||p("Responsibilities.L3Coordinator",!0),r.L3CoreDeveloper||p("Responsibilities.L3CoreDeveloper",!0),r.L3GoldenUser||p("Responsibilities.L3GoldenUser",!0),r.L3InfrastructureSupporter||p("Responsibilities.L3InfrastructureSupporter",!0),r.L3SteeringBoard||p("Responsibilities.L3SteeringBoard",!0),r.L3Trainer||p("Responsibilities.L3Trainer",!0),r.L3UserSupporter||p("Responsibilities.L3UserSupporter",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h3,{id:"start-situation",children:"Start situation"}),"\n",(0,s.jsx)(t.p,{children:"At the start of level 3, the documentation and scientific publication is ready for silver users to learn the practices in workshops, trainings, and hackathons."}),"\n",(0,s.jsx)(t.h3,{id:"during-the-workshop-use-phase",children:"During the workshop use phase"}),"\n",(0,s.jsx)(t.p,{children:"During this phase silver users are invited to join workshops, trainings, or hackathons to learn the features and\ncomponents developed in the virtual lab and conduct their own exercises."}),"\n",(0,s.jsx)(t.p,{children:"The following should be done during workshop use:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Documentation","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Gather user feedback on the documentation."}),"\n",(0,s.jsx)(t.li,{children:"Continuously improve the documentation."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["Codebase","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Find out if the architecture of the virtual lab is understandable and maintainable."}),"\n",(0,s.jsx)(t.li,{children:"Continuously improve the codebase."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["Deployment","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"The virtual lab should be published on MyLifeWatch."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"workshop-use-milestone",children:"Workshop use milestone"}),"\n",(0,s.jsx)(t.p,{children:"In this phase at least one workshop should be given to a group of 10 to 25 potential users.\nAdditionally, user feedback should be gathered and processed."}),"\n",(0,s.jsx)(t.h3,{id:"workshop-use-responsibilities",children:"Workshop use responsibilities"}),"\n",(0,s.jsx)(t.p,{children:"The following responsibilities should be assigned during workshop use:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Golden users: ",(0,s.jsx)(r.L3GoldenUser,{})]}),"\n",(0,s.jsxs)(t.li,{children:["Scientific steering board: ",(0,s.jsx)(r.L3SteeringBoard,{})]}),"\n",(0,s.jsxs)(t.li,{children:["Community supporter: ",(0,s.jsx)(r.L3CommunitySupporter,{})]}),"\n",(0,s.jsxs)(t.li,{children:["Virtual lab trainer: ",(0,s.jsx)(r.L3Trainer,{})]}),"\n",(0,s.jsxs)(t.li,{children:["User supporter: ",(0,s.jsx)(r.L3UserSupporter,{})]}),"\n",(0,s.jsxs)(t.li,{children:["Core developer: ",(0,s.jsx)(r.L3CoreDeveloper,{})]}),"\n",(0,s.jsxs)(t.li,{children:["Infrastructure supporter: ",(0,s.jsx)(r.L3InfrastructureSupporter,{})]}),"\n",(0,s.jsxs)(t.li,{children:["Virtual lab coordinator: ",(0,s.jsx)(r.L3Coordinator,{})]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"exit-conditions",children:"Exit conditions"}),"\n",(0,s.jsx)(t.p,{children:"The virtual lab becomes an operational service, if scientists taking part in the workshops, trainings, and hackathons\nfind that they can use the virtual lab in their research, and the training material and guidelines are ready for normal (ivory) users to use."}),"\n",(0,s.jsx)(t.p,{children:"Virtual labs do not need to reach operational service to be successful. A lab could also be the perfect fit for the scientific\nscenario of the golden users, but not have any other users who can apply it in their own research.\nIt is important to weigh the scientific benefits of advancing a virtual lab to the next readiness level to the effort and cost involved in doing that.\nIn case none of the silver users keeps using the virtual labs after the workshops, the virtual lab should be archived."}),"\n",(0,s.jsx)(t.p,{children:"To evolve to an operational service, all previous criteria apply in addition to the following:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Community","\n",(0,s.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,s.jsxs)(t.li,{className:"task-list-item",children:[(0,s.jsx)(t.input,{type:"checkbox",disabled:!0})," ","There is a scientific steering board who are willing to take care of the scientific\ndirection of the virtual lab."]}),"\n",(0,s.jsxs)(t.li,{className:"task-list-item",children:[(0,s.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The is a community of users who benefit from doing their research in the virtual lab."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["Dependencies","\n",(0,s.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,s.jsxs)(t.li,{className:"task-list-item",children:[(0,s.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Dependencies are specified. The dependencies are in the dockerfile of the virtual lab,\nbut should be duplicated in the metadata such that a person can in theory also run the source code on their own machine after installing the dependencies manually."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["Deployment","\n",(0,s.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,s.jsxs)(t.li,{className:"task-list-item",children:[(0,s.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Deploy the virtual lab on MyLifeWatch."]}),"\n"]}),"\n"]}),"\n"]})]})}function c(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}function p(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,i)=>{i.r(t),i.d(t,{L0CommunitySupporter:()=>s,L0Coordinator:()=>p,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>v,L1CoreDeveloper:()=>w,L1DevOps:()=>x,L1GoldenUser:()=>h,L1InfrastructureSupporter:()=>S,L1Reviewer:()=>C,L2CommunitySupporter:()=>r,L2Coordinator:()=>m,L2CoreDeveloper:()=>k,L2DevOps:()=>L,L2GoldenUser:()=>u,L2InfrastructureSupporter:()=>_,L2Trainer:()=>E,L2VREResearcher:()=>U,L3CommunitySupporter:()=>o,L3Coordinator:()=>b,L3CoreDeveloper:()=>j,L3GoldenUser:()=>d,L3InfrastructureSupporter:()=>D,L3SteeringBoard:()=>I,L3Trainer:()=>T,L3UserSupporter:()=>N,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>y,L4GoldenUser:()=>c,L4InfrastructureSupporter:()=>R,L4SteeringBoard:()=>G,L4UserSupporter:()=>V});const s=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",r=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",h=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",u=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",d=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",c=()=>"A golden user can keep on using the virtual lab for their own experiments.",p=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",x=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",L=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",w=()=>"Develop the content of the new virtual lab in NaaVRE.",k=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",j=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",y=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",S=()=>"Advises and provides the infrastructure for the virtual lab.",_=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",D=()=>"Ensures the infrastructure can support the training sessions.",R=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",E=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",T=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",U=()=>"Potentially publishes a technical paper in addition to the domain paper.",I=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",G=()=>"Coordinates the further development of the virtual lab with a scientific vision.",N=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",V=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>o});var s=i(7294);const n={},r=s.createContext(n);function o(e){const t=s.useContext(r);return s.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:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/a65f7afd.e081efaf.js b/pr-preview/pr-33/assets/js/a65f7afd.e081efaf.js
new file mode 100644
index 0000000..641f76a
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/a65f7afd.e081efaf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[63],{1901:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>h,default:()=>f,frontMatter:()=>c,metadata:()=>d,toc:()=>g});var i=t(5893),s=t(1151),a=t(3901),r=t(2004);const o=t.p+"assets/medias/GettingStartedVRE-f8e58c19f2a2792084f7f44ca675f285.mp4",l=t.p+"assets/medias/NaaVREICOSDemo-2c9e806d0abdf0aef0502661806eeb6b.mp4",c={sidebar_position:2},h="Getting Started with NaaVRE tutorial",d={id:"tutorials/index",title:"Getting Started with NaaVRE tutorial",description:"The aim of this tutorial is to discover the basic functionalities of NaaVRE",source:"@site/docs/tutorials/index.mdx",sourceDirName:"tutorials",slug:"/tutorials/",permalink:"/pr-preview/pr-33/docs/tutorials/",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/tutorials/index.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"VRE researcher",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher"},next:{title:"The NaaVRE Interface",permalink:"/pr-preview/pr-33/docs/NaaVRE_Interface/"}},p={},g=[{value:"Starting NaaVRE",id:"starting-naavre",level:2},{value:"Signing in",id:"signing-in",level:3},{value:"Pick your collaborative virtual lab",id:"pick-your-collaborative-virtual-lab",level:3},{value:"Starting your virtual lab",id:"starting-your-virtual-lab",level:3},{value:"The NaaVRE interface in Jupyter Lab",id:"the-naavre-interface-in-jupyter-lab",level:3},{value:"From notebook to workflow",id:"from-notebook-to-workflow",level:2},{value:"Create a notebook",id:"create-a-notebook",level:3},{value:"Containerize the cells",id:"containerize-the-cells",level:3},{value:"Compose a workflow",id:"compose-a-workflow",level:3},{value:"Monitor the workflow",id:"monitor-the-workflow",level:3},{value:"A more realistic example",id:"a-more-realistic-example",level:2},{value:"Run it yourself",id:"run-it-yourself",level:3}];function x(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"getting-started-with-naavre-tutorial",children:"Getting Started with NaaVRE tutorial"}),"\n",(0,i.jsx)(n.p,{children:"The aim of this tutorial is to discover the basic functionalities of NaaVRE: logging in, starting your virtual lab, and creating a workflow from a notebook:"}),"\n",(0,i.jsx)(a.Z,{toc:g}),"\n",(0,i.jsx)(n.p,{children:"This is a screencast of the tutorial:"}),"\n",(0,i.jsx)(r.Z,{controls:!0,width:"100%",height:"auto",url:o}),"\n",(0,i.jsx)(n.h2,{id:"starting-naavre",children:"Starting NaaVRE"}),"\n",(0,i.jsxs)(n.p,{children:["Open the NaaVRE demo: ",(0,i.jsx)(n.a,{href:"https://naavre.lifewatch.dev",children:"https://naavre.lifewatch.dev"}),"."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Startin point",src:t(7972).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.h3,{id:"signing-in",children:"Signing in"}),"\n",(0,i.jsx)(n.p,{children:"Click on the 'Login' button."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Sign in",src:t(4913).Z+"",width:"768",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Chose your preferred login method:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"option 1 (recommended): Google"}),"\n",(0,i.jsx)(n.li,{children:"option 2: Federation with EOSC (provides several options such as GitHub or ORCID)"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Sign in",src:t(6788).Z+"",width:"768",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Log in with the chosen method (Google shown here)"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Sign in",src:t(4766).Z+"",width:"768",height:"810"})}),"\n",(0,i.jsx)(n.h3,{id:"pick-your-collaborative-virtual-lab",children:"Pick your collaborative virtual lab"}),"\n",(0,i.jsx)(n.p,{children:"On the main panel, you will see several Virtual Labs (VLs).\nFor this tutorial, select the 'NaaVRE Open Lab'."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Pick VRE",src:t(2875).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"When in the VL you can see:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"A description of the VL"}),"\n",(0,i.jsx)(n.li,{children:"The instances started by other users"}),"\n",(0,i.jsx)(n.li,{children:"A button to start your own instance of the VL"}),"\n",(0,i.jsxs)(n.li,{children:["Assets from the Virtual lab:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Workflow runs"}),"\n",(0,i.jsx)(n.li,{children:"Data products"}),"\n",(0,i.jsx)(n.li,{children:"Geographical data products"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Pick VRE",src:t(6419).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.h3,{id:"starting-your-virtual-lab",children:"Starting your virtual lab"}),"\n",(0,i.jsx)(n.p,{children:"Click on the 'Launch my instance' button."}),"\n",(0,i.jsx)(n.p,{children:"This opens a new tab where your virtual lab will be started. Click on the 'Sign in' button."}),"\n",(0,i.jsx)(n.p,{children:"On the new page click on the 'Sign in' button."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Start VRE",src:t(4618).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Your virtual lab instance starts up."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Start VRE",src:t(2637).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.h3,{id:"the-naavre-interface-in-jupyter-lab",children:"The NaaVRE interface in Jupyter Lab"}),"\n",(0,i.jsxs)(n.p,{children:["You now see the NaaVRE interface in Jupyter lab.\n(You can read more details ",(0,i.jsx)(n.a,{href:"../NaaVRE_Interface",children:"here"}),")."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Launcher",src:t(128).Z+"",width:"951",height:"668"})}),"\n",(0,i.jsx)(n.h2,{id:"from-notebook-to-workflow",children:"From notebook to workflow"}),"\n",(0,i.jsx)(n.h3,{id:"create-a-notebook",children:"Create a notebook"}),"\n",(0,i.jsx)(n.p,{children:"Create a new Python or a R notebook by clicking on the 'Python 3' or the 'R' icon under 'Notebook' on the launcher tab."}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsx)(n.p,{children:"If the Launcher page is not open, click on the new tab button or 'File->New->New Launcher'."})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Create notebook",src:t(5105).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Add some code to the notebook. For this tutorial, we will use a simple 'hello, world' example over two cells. The first one sets the data (in a real world application, this cell could download data from a repository), the second one prints the data (this could correspond to processing the data and generating some figures)."}),"\n",(0,i.jsx)(n.p,{children:"If you chose Python:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-python",children:'# Input list\nnames = ["Alice", "Bob"]\n'})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-python",children:'# Process list\nfor name in names:\n print(f"Hello, {name}!")\n'})}),"\n",(0,i.jsx)(n.p,{children:"If you chose R:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-R",children:'# Input list\nnames = list("Alice", "Bob")\n'})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-R",children:'# Process list\nfor (name in names) {\n print(sprintf("Hello, %s!", name))\n}\n'})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Create notebook",src:t(9776).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.h3,{id:"containerize-the-cells",children:"Containerize the cells"}),"\n",(0,i.jsx)(n.p,{children:"Open the component containerizer panel by clicking on the icon in the left-hand bar."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Containerize cells",src:t(8312).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Select the first cell to containerize it."}),"\n",(0,i.jsx)(n.p,{children:"On the left panel, you will see a preview of the containerized cell with the detected inputs, outputs, parameters and dependencies (if any)."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Containerize cells",src:t(8863).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Set the variable types to 'List'. For Python notebooks, type is inferred automatically."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Containerize cells",src:t(4430).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Select the base image for the containerized cell ('r' or 'python' depending on your notebook)."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Containerize cells",src:t(6796).Z+"",width:"1126",height:"1013"})}),"\n",(0,i.jsx)(n.p,{children:"Click on the 'Create' button."}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"This publishes the contents of the cell to a public repository on GitHub. Do not containerize cells containing passwords, API keys, or any code you wish to keep private."})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Containerize cells",src:t(363).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Congratulations, you containerized your first cell!"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Containerize cells",src:t(9664).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Repeat the containerization cells for the second cell in the notebook."}),"\n",(0,i.jsx)(n.h3,{id:"compose-a-workflow",children:"Compose a workflow"}),"\n",(0,i.jsx)(n.p,{children:"To compose a workflow open a new tab and click on the 'Experimenter Manager' icon."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(8891).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(8427).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Click on the 'Cells catalogue' button."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(3654).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"For each of the cells you created:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"select the cell,"}),"\n",(0,i.jsx)(n.li,{children:"click on Add to workspace."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(8e3).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Drag and drop the two cells onto the canvas, as well as a 'splitter' cell."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(4846).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Connect the cells nodes."}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsx)(n.p,{children:"It is important to note that the direction of the connections between the cells is important as it indicates the flow of ]\ndata dependencies between the cells. Therefore, the flow should be: 'Input list' -> 'Splitter' -> 'Process list'."})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(6680).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Click on the 'Run' button."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(9943).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Click on 'Execute'"}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["If your workflow uses ",(0,i.jsx)(n.a,{href:"../NaaVRE_Interface/#special-variables",children:"parameters"}),", you can set their values here. To use values from the notebook, click on 'Use notebook values'."]})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(9077).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.h3,{id:"monitor-the-workflow",children:"Monitor the workflow"}),"\n",(0,i.jsx)(n.p,{children:"To check the progress of the workflow click on the link on the pop-up message."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(8350).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"This will take you to the workflow engine page where you can see the progress of the workflow. Click on a node to see its status and logs."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Workflow Engine",src:t(5554).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsx)(n.p,{children:"The first time you open the workflow engine, select the 'single sign-on' login, and close the welcome message."})}),"\n",(0,i.jsx)(n.h2,{id:"a-more-realistic-example",children:"A more realistic example"}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["This example is part of the EGU ",(0,i.jsx)(n.a,{href:"https://meetingorganizer.copernicus.org/EGU24/session/49515",children:"SC5.19: Mastering Environmental Research through FAIR Data Integration, VREs and Open Science"}),"."]})}),"\n",(0,i.jsx)(n.p,{children:"We present a more realistic workflow using data from ICOS:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"list stations matching given criteria"}),"\n",(0,i.jsx)(n.li,{children:"list data products matching given criteria for these stations"}),"\n",(0,i.jsx)(n.li,{children:"plot a specific variable for these data products"}),"\n",(0,i.jsx)(n.li,{children:"save the plots"}),"\n"]}),"\n",(0,i.jsx)(r.Z,{controls:!0,width:"100%",height:"auto",url:l}),"\n",(0,i.jsx)(n.h3,{id:"run-it-yourself",children:"Run it yourself"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 1"})," Open the example notebook in NaaVRE by following ",(0,i.jsx)(n.a,{href:"https://naavre.lifewatch.dev/vl-openlab/hub/user-redirect/git-pull?repo=https%3A%2F%2Fgithub.com%2FQCDIS%2Flifewatch-notebooks&urlpath=lab%2Ftree%2Flifewatch-notebooks%2FICOS-demo%2Fegu24-icos-naavre.ipynb&branch=main",children:"this link"}),"."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(8003).Z+"",width:"898",height:"808"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 2"})," Fill-in the values for ",(0,i.jsx)(n.code,{children:"param_cpauth_token"})," (cell 2), ",(0,i.jsx)(n.code,{children:"param_s3_user_prefix"}),", ",(0,i.jsx)(n.code,{children:"param_s3_access_key"}),", and ",(0,i.jsx)(n.code,{children:"param_s3_secret_key"})," (cell 6). The s3 params and the \u201cUpload files\u201d step can be skipped if you want to make the tutorial shorter."]}),"\n",(0,i.jsx)(n.p,{children:"After filling in the values, you have the possibility to run the notebook."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(3427).Z+"",width:"898",height:"808"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 3"})," Containerize the cells of the notebook (see ",(0,i.jsx)(n.a,{href:"#containerize-the-cells",children:"\u201cContainerize the cells\u201d"})," in the above tutorial)."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(1178).Z+"",width:"898",height:"808"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 4"})," Create a workflow (see ",(0,i.jsx)(n.a,{href:"#compose-a-workflow",children:"\u201cCompose a workflow\u201d"}),") using the cells you just containerized, in the following order:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"List ICOS stations"}),"\n",(0,i.jsx)(n.li,{children:"List data products"}),"\n",(0,i.jsx)(n.li,{children:"Splitter"}),"\n",(0,i.jsx)(n.li,{children:"Plot time series"}),"\n",(0,i.jsx)(n.li,{children:"Merger (optional)"}),"\n",(0,i.jsx)(n.li,{children:"Upload files (optional)"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(7575).Z+"",width:"898",height:"808"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 5"})," Run the workflow:"]}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Click on the \u201cRun\u201d button"}),"\n",(0,i.jsx)(n.li,{children:"Fill in the workflow parameters by clicking on the \u201cUse notebook values\u201d button. Notice that you can edit the parameters at this stage, without having to re-containerize the cells or re-create the workflow."}),"\n",(0,i.jsx)(n.li,{children:"Click on \u201cExecute\u201d"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(8987).Z+"",width:"898",height:"808"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 6"})," Monitor the workflow execution (see ",(0,i.jsx)(n.a,{href:"#monitor-the-workflow",children:"\u201cMonitor the workflow\u201d"}),")"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(1026).Z+"",width:"898",height:"808"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 7"})," Retrieve the results"]}),"\n",(0,i.jsx)(n.p,{children:"If you used the \u201cUpload files\u201d cell, you can retrieve the results that have been uploaded to the MinIO server."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(8331).Z+"",width:"898",height:"808"})})]})}function f(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(x,{...e})}):x(e)}},8003:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_1-dfd756f376bb5d10243c21305079e9a0.png"},3427:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_2-92faa23841aab2cf015ebb7e45592c0a.png"},1178:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_3-3ca2107fcfce9f518e07e37a11f02cbc.png"},7575:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_4-9a167161c4a417bd3830c5016235defe.png"},8987:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_5-f68f4cf4630c8121e18c4668712de35b.png"},1026:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_6-56f55278365a743200e329065ed13ab9.png"},8331:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_7-d1fe9d5169e4477b7ea5134ccd8523a7.png"},7972:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/1_starting_point-1b110d23ba5b4ff9058c445d475aa549.png"},4913:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/2_signin_1-17934bc19db36bfefa4da380ca635a21.png"},6788:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/2_signin_2-ebba53247893ccb0fc59cb3152944882.png"},4766:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/2_signin_3-6ec134e26bc8fb371877820d74c62e8d.png"},2875:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/3_pick_vre_1-9df30abd2081134175b86a445fe0829e.png"},6419:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/3_pick_vre_2-6a2be3dd99dffeb5b3db14690688c841.png"},4618:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/4_start_vre_1-fa90be6957ed13821a0de360075e6dba.png"},2637:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/4_start_vre_2-860c5476324f633dcf4100a873912e68.png"},128:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/5_naavre_interface-441fe6fcba0c3cac6eb3a9294e33d740.png"},5105:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/6_create_notebook_1-a664a6b8752037a1526d70af3b472608.png"},9776:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/6_create_notebook_3-d72aa74930792849072e0f58f8baaa94.png"},8312:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/7_containerize_1-bd16d7f6c8b37901799803b31d8f43d8.png"},8863:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/7_containerize_2-474fcecd41fba6dfe2bb8a0c0c609655.png"},4430:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/7_containerize_3-98601ebf55684e1981bdbcd166fce713.png"},6796:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/7_containerize_4-7ea22f6fe34fb97eca2a1774cfded046.png"},363:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/7_containerize_5-bc28ba8919cf261c65bf0dcde6124f4b.png"},9664:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/7_containerize_6-1aa99944ddebc8b3184fae6f6846c343.png"},8891:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_1-82f1c05dbde9ed77051bc60e19147d7a.png"},8427:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_2-ad01915453712124333b1d29f020e6da.png"},3654:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_3-63858b38db719a237f033958ed1c502a.png"},8e3:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_4-2ab00df5660a327b2cacee40b87f5e2c.png"},4846:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_5-63ceed268a7e397dcfbc280ce762f8d2.png"},6680:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_6-f952bb9e4996148268200a64e6f48667.png"},9943:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_7-1a5130804476bb0b7fe41aca3eb450a1.png"},9077:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_8-90737f51cc92f99f8de181955ae7f2d5.png"},8350:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_9-0766f26eff5f67192e624d842261d351.png"},5554:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/9_argo_1-d4408b9bb320806c8a666c2c2b009e17.png"}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/a7bd4aaa.f385fbff.js b/pr-preview/pr-33/assets/js/a7bd4aaa.f385fbff.js
new file mode 100644
index 0000000..27ce75e
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/a7bd4aaa.f385fbff.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[518],{8564:(e,n,s)=>{s.r(n),s.d(n,{default:()=>d});s(7294);var r=s(1944),o=s(3320),t=s(4477),i=s(8790),a=s(197),c=s(5893);function u(e){const{version:n}=e;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(a.Z,{version:n.version,tag:(0,o.os)(n.pluginId,n.version)}),(0,c.jsx)(r.d,{children:n.noIndex&&(0,c.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(e){const{version:n,route:s}=e;return(0,c.jsx)(r.FG,{className:n.className,children:(0,c.jsx)(t.q,{version:n,children:(0,i.H)(s.routes)})})}function d(e){return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(u,{...e}),(0,c.jsx)(l,{...e})]})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/a84c24dd.41744933.js b/pr-preview/pr-33/assets/js/a84c24dd.41744933.js
new file mode 100644
index 0000000..0bff22f
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/a84c24dd.41744933.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[385],{3263:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>h});var i=r(5893),n=r(1151),s=r(2457);const a={sidebar_position:1,title:"Reviewer"},o=void 0,l={id:"readiness_levels/Virtual_lab_roles/Reviewer",title:"Reviewer",description:"The reviewer can contribute the following per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/Reviewer.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Reviewer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Reviewer.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Reviewer"},sidebar:"tutorialSidebar",previous:{title:"Infrastructure supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter"},next:{title:"Scientific steering board",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board"}},u={},h=[];function p(e){const t={li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return s||c("Responsibilities",!1),s.L1Reviewer||c("Responsibilities.L1Reviewer",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"The reviewer can contribute the following per level:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["L1: ",(0,i.jsx)(s.L1Reviewer,{})]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}function c(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>i,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>v,L1CoreDeveloper:()=>y,L1DevOps:()=>w,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>x,L1Reviewer:()=>k,L2CommunitySupporter:()=>s,L2Coordinator:()=>m,L2CoreDeveloper:()=>_,L2DevOps:()=>L,L2GoldenUser:()=>h,L2InfrastructureSupporter:()=>S,L2Trainer:()=>D,L2VREResearcher:()=>j,L3CommunitySupporter:()=>a,L3Coordinator:()=>b,L3CoreDeveloper:()=>C,L3GoldenUser:()=>p,L3InfrastructureSupporter:()=>E,L3SteeringBoard:()=>I,L3Trainer:()=>P,L3UserSupporter:()=>G,L4CommunitySupporter:()=>o,L4Coordinator:()=>f,L4CoreDeveloper:()=>R,L4GoldenUser:()=>d,L4InfrastructureSupporter:()=>V,L4SteeringBoard:()=>U,L4UserSupporter:()=>T});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",s=()=>"Finds potential silver users to take part in the trainings in the next phase.",a=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",h=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",p=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",d=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",w=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",L=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",y=()=>"Develop the content of the new virtual lab in NaaVRE.",_=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",C=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",R=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",x=()=>"Advises and provides the infrastructure for the virtual lab.",S=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",E=()=>"Ensures the infrastructure can support the training sessions.",V=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",D=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",P=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",j=()=>"Potentially publishes a technical paper in addition to the domain paper.",I=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",U=()=>"Coordinates the further development of the virtual lab with a scientific vision.",G=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",T=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>o,a:()=>a});var i=r(7294);const n={},s=i.createContext(n);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/a94703ab.39a4eb2d.js b/pr-preview/pr-33/assets/js/a94703ab.39a4eb2d.js
new file mode 100644
index 0000000..0cf7b21
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/a94703ab.39a4eb2d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[368],{2674:(e,t,n)=>{n.r(t),n.d(t,{default:()=>be});var a=n(7294),o=n(512),i=n(1944),s=n(5281),l=n(2802),r=n(1116),c=n(5999),d=n(2466),u=n(5936);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var b=n(5893);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.Ct)();return(0,d.RF)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",s.k.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(1442),x=n(6550),f=n(7524),j=n(6668),k=n(1327);function _(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const v={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function g(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,c.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",v.collapseSidebarButton),onClick:t,children:(0,b.jsx)(_,{className:v.collapseSidebarButtonIcon})})}var C=n(9689),S=n(902);const I=Symbol("EmptyContext"),N=a.createContext(I);function T(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(N.Provider,{value:i,children:t})}var B=n(6043),Z=n(8596),A=n(9960),L=n(2389);function y(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,c.I)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.I)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),type:"button",className:"clean-btn menu__caret",onClick:a})}function w(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.L)(),k=function(e){const t=(0,L.Z)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.LM)(e):void 0),[e,t])}(t),_=(0,l._F)(t,i),v=(0,Z.Mg)(x,i),{collapsed:g,setCollapsed:C}=(0,B.u)({initialState:()=>!!h&&(!_&&t.collapsed)}),{expandedItem:T,setExpandedItem:w}=function(){const e=(0,a.useContext)(N);if(e===I)throw new S.i6("DocSidebarItemsExpandedStateProvider");return e}(),E=function(e){void 0===e&&(e=!g),w(e?null:c),C(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.D9)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:_,collapsed:g,updateCollapsed:E}),(0,a.useEffect)((()=>{h&&null!=T&&T!==c&&f&&C(!0)}),[h,T,c,C,f]),(0,b.jsxs)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemCategory,s.k.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":g},p),children:[(0,b.jsxs)("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,b.jsx)(A.Z,{className:(0,o.Z)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":_}),onClick:h?e=>{n?.(t),x?E(!1):(e.preventDefault(),E())}:()=>{n?.(t)},"aria-current":v?"page":void 0,"aria-expanded":h?!g:void 0,href:h?k??"#":k,...d,children:m}),x&&h&&(0,b.jsx)(y,{collapsed:g,categoryLabel:m,onClick:e=>{e.preventDefault(),E()}})]}),(0,b.jsx)(B.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:g,children:(0,b.jsx)(V,{items:u,tabIndex:g?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var E=n(3919),H=n(9471);const M={menuExternalLink:"menuExternalLink_NmtK"};function R(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l._F)(t,a),x=(0,E.Z)(d);return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(A.Z,{className:(0,o.Z)("menu__link",!x&&M.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,b.jsx)(H.Z,{})]})},u)}const W={menuHtmlItem:"menuHtmlItem_M9Kj"};function F(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(n),l&&[W.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function P(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(w,{item:t,...n});case"html":return(0,b.jsx)(F,{item:t,...n});default:return(0,b.jsx)(R,{item:t,...n})}}function D(e){let{items:t,...n}=e;const a=(0,l.f)(t,n.activePath);return(0,b.jsx)(T,{children:a.map(((e,t)=>(0,b.jsx)(P,{item:e,index:t,...n},t)))})}const V=(0,a.memo)(D),U={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function K(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,C.nT)(),[t,n]=(0,a.useState)(e);return(0,d.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",U.menu,l&&U.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:n,activePath:t,level:1})})})}const Y="sidebar_njMd",z="sidebarWithHideableNavbar_wUlq",G="sidebarHidden_VK0M",O="sidebarLogo_isFc";function q(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.L)();return(0,b.jsxs)("div",{className:(0,o.Z)(Y,s&&z,i&&G),children:[s&&(0,b.jsx)(k.Z,{tabIndex:-1,className:O}),(0,b.jsx)(K,{path:t,sidebar:n}),l&&(0,b.jsx)(g,{onClick:a})]})}const J=a.memo(q);var Q=n(3102),X=n(2961);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,X.e)();return(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,b.jsx)(Q.Zo,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.i)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(J,{...e}),a&&(0,b.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function oe(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ae.expandButton,title:(0,c.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(_,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function se(e){let{children:t}=e;const n=(0,r.V)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.TH)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.n)()&&c(!0),i((e=>!e))}),[i,r]);return(0,b.jsx)("aside",{className:(0,o.Z)(s.k.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,b.jsx)(se,{children:(0,b.jsxs)("div",{className:(0,o.Z)(ie.sidebarViewport,r&&ie.sidebarViewportHidden),children:[(0,b.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,b.jsx)(oe,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.V)();return(0,b.jsx)("main",{className:(0,o.Z)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function ue(e){let{children:t}=e;const n=(0,r.V)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:de.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:de.docRoot,children:[n&&(0,b.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(5658);function be(e){const t=(0,l.SN)(e);if(!t)return(0,b.jsx)(me.Z,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(i.FG,{className:(0,o.Z)(s.k.page.docsDocPage),children:(0,b.jsx)(r.b,{name:a,items:c,children:(0,b.jsx)(ue,{children:n})})})}},5658:(e,t,n)=>{n.d(t,{Z:()=>l});n(7294);var a=n(512),o=n(5999),i=n(2503),s=n(5893);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.Z)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.Z,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{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."})})]})})})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/bb19cae0.81d1e62b.js b/pr-preview/pr-33/assets/js/bb19cae0.81d1e62b.js
new file mode 100644
index 0000000..c66ce5f
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/bb19cae0.81d1e62b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[686],{3121:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var i=r(5893),s=r(1151),n=r(2457);const o={sidebar_position:1,title:"L4 - Operational service"},a=void 0,l={id:"readiness_levels/L4_operational_service",title:"L4 - Operational service",description:"Start situation",source:"@site/docs/readiness_levels/L4_operational_service.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/L4_operational_service",permalink:"/pr-preview/pr-33/docs/readiness_levels/L4_operational_service",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/L4_operational_service.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"L4 - Operational service"},sidebar:"tutorialSidebar",previous:{title:"L3 - Workshop use",permalink:"/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use"},next:{title:"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers.",permalink:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/"}},u={},p=[{value:"Start situation",id:"start-situation",level:3},{value:"During operational service",id:"during-operational-service",level:3},{value:"Operational service milestones",id:"operational-service-milestones",level:3},{value:"Operational service responsibilities",id:"operational-service-responsibilities",level:3}];function h(e){const t={h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return n||d("Responsibilities",!1),n.L4CommunitySupporter||d("Responsibilities.L4CommunitySupporter",!0),n.L4Coordinator||d("Responsibilities.L4Coordinator",!0),n.L4CoreDeveloper||d("Responsibilities.L4CoreDeveloper",!0),n.L4InfrastructureSupporter||d("Responsibilities.L4InfrastructureSupporter",!0),n.L4SteeringBoard||d("Responsibilities.L4SteeringBoard",!0),n.L4UserSupporter||d("Responsibilities.L4UserSupporter",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h3,{id:"start-situation",children:"Start situation"}),"\n",(0,i.jsx)(t.p,{children:"At the start of the operational service phase, the lab has been tested by multiple users and the documentation has matured."}),"\n",(0,i.jsx)(t.h3,{id:"during-operational-service",children:"During operational service"}),"\n",(0,i.jsx)(t.p,{children:"In this phase the virtual lab has been industrialized and is provisioned on the research infrastructure."}),"\n",(0,i.jsx)(t.p,{children:"The following should be done during operational service:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Expand and adapt the virtual lab where useful."}),"\n",(0,i.jsx)(t.li,{children:"Keep up to date with new versions of dependencies."}),"\n",(0,i.jsx)(t.li,{children:"Make the containerized cells and workflow interoperable with other systems where use cases for the interoperability between NaaVRE and another system arise."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"operational-service-milestones",children:"Operational service milestones"}),"\n",(0,i.jsx)(t.p,{children:"The following milestones can occur when a virtual lab runs as an operational service:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Silver and ivory users successfully run their own scenarios in the virtual lab."}),"\n",(0,i.jsx)(t.li,{children:"Silver and ivory users make their own modifications to the virtual lab to facilitate their research."}),"\n",(0,i.jsx)(t.li,{children:"Users come up with ideas that spawn the creation of a new virtual lab:\nWhenever users of the virtual lab come up with a new idea that does not fit in the possibilities of existing virtual labs,\nthey can contact the community supporter or virtual lab coordinator to discuss the possibilities of creating a new virtual lab."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"operational-service-responsibilities",children:"Operational service responsibilities"}),"\n",(0,i.jsx)(t.p,{children:"The following responsibilities should be assigned when the virtual lab is an operational service:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Scientific steering board: ",(0,i.jsx)(n.L4SteeringBoard,{})]}),"\n",(0,i.jsxs)(t.li,{children:["User supporter: ",(0,i.jsx)(n.L4UserSupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Community supporter: ",(0,i.jsx)(n.L4CommunitySupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Core developer: ",(0,i.jsx)(n.L4CoreDeveloper,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Virtual lab coordinator: ",(0,i.jsx)(n.L4Coordinator,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Infrastructure supporter: ",(0,i.jsx)(n.L4InfrastructureSupporter,{})]}),"\n"]})]})}function c(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}function d(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>i,L0Coordinator:()=>d,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>s,L1Coordinator:()=>v,L1CoreDeveloper:()=>x,L1DevOps:()=>w,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>k,L1Reviewer:()=>j,L2CommunitySupporter:()=>n,L2Coordinator:()=>m,L2CoreDeveloper:()=>y,L2DevOps:()=>L,L2GoldenUser:()=>p,L2InfrastructureSupporter:()=>_,L2Trainer:()=>D,L2VREResearcher:()=>I,L3CommunitySupporter:()=>o,L3Coordinator:()=>b,L3CoreDeveloper:()=>C,L3GoldenUser:()=>h,L3InfrastructureSupporter:()=>R,L3SteeringBoard:()=>O,L3Trainer:()=>U,L3UserSupporter:()=>P,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>S,L4GoldenUser:()=>c,L4InfrastructureSupporter:()=>E,L4SteeringBoard:()=>V,L4UserSupporter:()=>T});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",s=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",n=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",p=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",h=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",c=()=>"A golden user can keep on using the virtual lab for their own experiments.",d=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",w=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",L=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",x=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",C=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",S=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",j=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",k=()=>"Advises and provides the infrastructure for the virtual lab.",_=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",R=()=>"Ensures the infrastructure can support the training sessions.",E=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",D=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",U=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",I=()=>"Potentially publishes a technical paper in addition to the domain paper.",O=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",V=()=>"Coordinates the further development of the virtual lab with a scientific vision.",P=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",T=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>o});var i=r(7294);const s={},n=i.createContext(s);function o(e){const t=i.useContext(n);return i.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(s):e.components||s:o(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/c9526f62.90de1b8e.js b/pr-preview/pr-33/assets/js/c9526f62.90de1b8e.js
new file mode 100644
index 0000000..22880f4
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/c9526f62.90de1b8e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[48],{9477:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>u,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var s=t(5893),i=t(1151),n=t(2457);const o={sidebar_position:1,title:"User supporter"},a=void 0,l={id:"readiness_levels/Virtual_lab_roles/User_supporter",title:"User supporter",description:"The user supporter contributes the following per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/User_supporter.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/User_supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/User_supporter.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"User supporter"},sidebar:"tutorialSidebar",previous:{title:"Trainer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer"},next:{title:"VRE researcher",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher"}},u={},p=[];function h(e){const r={li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return n||c("Responsibilities",!1),n.L3UserSupporter||c("Responsibilities.L3UserSupporter",!0),n.L4UserSupporter||c("Responsibilities.L4UserSupporter",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.p,{children:"The user supporter contributes the following per level:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["L3: ",(0,s.jsx)(n.L3UserSupporter,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L4: ",(0,s.jsx)(n.L4UserSupporter,{})]}),"\n"]})]})}function d(e={}){const{wrapper:r}={...(0,i.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}function c(e,r){throw new Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,r,t)=>{t.r(r),t.d(r,{L0CommunitySupporter:()=>s,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>i,L1Coordinator:()=>v,L1CoreDeveloper:()=>_,L1DevOps:()=>L,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>x,L1Reviewer:()=>k,L2CommunitySupporter:()=>n,L2Coordinator:()=>m,L2CoreDeveloper:()=>y,L2DevOps:()=>w,L2GoldenUser:()=>p,L2InfrastructureSupporter:()=>U,L2Trainer:()=>R,L2VREResearcher:()=>j,L3CommunitySupporter:()=>o,L3Coordinator:()=>b,L3CoreDeveloper:()=>C,L3GoldenUser:()=>h,L3InfrastructureSupporter:()=>E,L3SteeringBoard:()=>P,L3Trainer:()=>D,L3UserSupporter:()=>G,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>S,L4GoldenUser:()=>d,L4InfrastructureSupporter:()=>V,L4SteeringBoard:()=>T,L4UserSupporter:()=>I});const s=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",i=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",n=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",p=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",h=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",d=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",w=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",_=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",C=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",S=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",x=()=>"Advises and provides the infrastructure for the virtual lab.",U=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",E=()=>"Ensures the infrastructure can support the training sessions.",V=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",R=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",D=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",j=()=>"Potentially publishes a technical paper in addition to the domain paper.",P=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",T=()=>"Coordinates the further development of the virtual lab with a scientific vision.",G=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",I=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,r,t)=>{t.d(r,{Z:()=>a,a:()=>o});var s=t(7294);const i={},n=s.createContext(i);function o(e){const r=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(n.Provider,{value:r},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/d76867c1.dee9674d.js b/pr-preview/pr-33/assets/js/d76867c1.dee9674d.js
new file mode 100644
index 0000000..3ebee4b
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/d76867c1.dee9674d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[408],{8210:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>h});var n=t(5893),s=t(1151),r=t(2457);const a={sidebar_position:1,title:"L0 - initial proposal"},o=void 0,l={id:"readiness_levels/L0_initial_proposal",title:"L0 - initial proposal",description:"Start situation",source:"@site/docs/readiness_levels/L0_initial_proposal.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/L0_initial_proposal",permalink:"/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/L0_initial_proposal.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"L0 - initial proposal"},sidebar:"tutorialSidebar",previous:{title:"Readiness level framework for co-development of virtual labs on the NaaVRE platform",permalink:"/pr-preview/pr-33/docs/readiness_levels/"},next:{title:"L1 - Co-development",permalink:"/pr-preview/pr-33/docs/readiness_levels/L1_co-development"}},c={},h=[{value:"Start situation",id:"start-situation",level:3},{value:"During the initial proposal phase",id:"during-the-initial-proposal-phase",level:3},{value:"Initial proposal responsibilities",id:"initial-proposal-responsibilities",level:3},{value:"Initial proposal milestones",id:"initial-proposal-milestones",level:3},{value:"Exit conditions",id:"exit-conditions",level:3}];function d(e){const i={a:"a",h3:"h3",input:"input",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return r||p("Responsibilities",!1),r.L0CommunitySupporter||p("Responsibilities.L0CommunitySupporter",!0),r.L0Coordinator||p("Responsibilities.L0Coordinator",!0),r.L0DevOps||p("Responsibilities.L0DevOps",!0),r.L0GoldenUser||p("Responsibilities.L0GoldenUser",!0),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h3,{id:"start-situation",children:"Start situation"}),"\n",(0,n.jsx)(i.p,{children:"A new virtual lab starts with potential (golden) users who are willing to use NaaVRE to conduct their research.\nThey will be selected, or reached out. The (golden) user will propose a virtual lab based on a scientific story\nand technical starting point.\nIf a NaaVRE virtual lab seems a suitable platform to conduct the research,\nthe potential (golden) users, the community manager, and NaaVRE DevOps team work out the idea further, recruit a team of core developers,\nestablish ambitions, and make a timeline for the virtual lab."}),"\n",(0,n.jsx)(i.h3,{id:"during-the-initial-proposal-phase",children:"During the initial proposal phase"}),"\n",(0,n.jsx)(i.p,{children:"The following things should be done to work out the initial proposal to a concrete virtual lab:"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["Feasibility","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Check if the research activity can be done in NaaVRE."}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Team recruitment","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Find and hire a team of core developers to build the virtual lab."}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Plan","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Write a development plan for the virtual lab. What scientific scenario will be investigated and what is needed to enable that?"}),"\n",(0,n.jsx)(i.li,{children:"Make a timeline for the co-development, validation of the virtual lab and development of training material."}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Licensing","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["Choose a license for the virtual lab. We recommend using the ",(0,n.jsx)(i.a,{href:"https://choosealicense.com/licenses/apache-2.0/",children:"Apache license 2.0"}),",\nassuming this is compatible with the other packages and software you use in the virtual lab. If the Apache License 2.0 is incompatible with software or libraries used,\nyou can pick another license. We recommend having a look at ",(0,n.jsx)(i.a,{href:"https://choosealicense.com/",children:"https://choosealicense.com/"}),"."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Codebase","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"The virtual lab coordinator will create a new virtual lab."}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Version control","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Store the codebase on a repository with version control (e.g. git)."}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Documentation","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Pick a nice name for your virtual lab. Make sure the name won't be mixed up with other virtual labs."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"initial-proposal-responsibilities",children:"Initial proposal responsibilities"}),"\n",(0,n.jsx)(i.p,{children:"The following roles are involved in a initial proposal:"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["Community supporter: ",(0,n.jsx)(r.L0CommunitySupporter,{})]}),"\n",(0,n.jsxs)(i.li,{children:["Golden users: ",(0,n.jsx)(r.L0GoldenUser,{})]}),"\n",(0,n.jsxs)(i.li,{children:["Virtual lab coordinator: ",(0,n.jsx)(r.L0Coordinator,{})]}),"\n",(0,n.jsxs)(i.li,{children:["VRE DevOps engineer: ",(0,n.jsx)(r.L0DevOps,{})]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"initial-proposal-milestones",children:"Initial proposal milestones"}),"\n",(0,n.jsx)(i.p,{children:"The following milestones can be achieved during the phase L0 of virtual lab development:"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"The core development team becomes complete."}),"\n",(0,n.jsx)(i.li,{children:"The creation of a new empty virtual lab."}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"exit-conditions",children:"Exit conditions"}),"\n",(0,n.jsx)(i.p,{children:"To transition from initial proposal to co-development an ambitious but realistic virtual lab proposal should exist.\nThe following should be done:"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["Plan","\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","There is an ambitious and realistic development plan for the virtual lab."]}),"\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","A timeline exists for the co-development, validation of the virtual lab and development of training material."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Codebase","\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","A new virtual lab is created."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Version control","\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","The codebase repository has version control (e.g. git)."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Security","\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","Personal tokens for APIs do not end up in version control. ToDo VLIC: Guideline for secret management ",(0,n.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/276",children:"#276"}),"."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Licensing","\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","The virtual lab has a license."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Documentation","\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","The virtual lab has a nice name."]}),"\n"]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:i}={...(0,s.a)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}function p(e,i){throw new Error("Expected "+(i?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,i,t)=>{t.r(i),t.d(i,{L0CommunitySupporter:()=>n,L0Coordinator:()=>p,L0DevOps:()=>x,L0GoldenUser:()=>l,L1CommunitySupporter:()=>s,L1Coordinator:()=>m,L1CoreDeveloper:()=>w,L1DevOps:()=>g,L1GoldenUser:()=>c,L1InfrastructureSupporter:()=>S,L1Reviewer:()=>C,L2CommunitySupporter:()=>r,L2Coordinator:()=>v,L2CoreDeveloper:()=>L,L2DevOps:()=>j,L2GoldenUser:()=>h,L2InfrastructureSupporter:()=>_,L2Trainer:()=>E,L2VREResearcher:()=>T,L3CommunitySupporter:()=>a,L3Coordinator:()=>b,L3CoreDeveloper:()=>y,L3GoldenUser:()=>d,L3InfrastructureSupporter:()=>N,L3SteeringBoard:()=>V,L3Trainer:()=>R,L3UserSupporter:()=>P,L4CommunitySupporter:()=>o,L4Coordinator:()=>f,L4CoreDeveloper:()=>k,L4GoldenUser:()=>u,L4InfrastructureSupporter:()=>D,L4SteeringBoard:()=>I,L4UserSupporter:()=>G});const n=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",s=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",r=()=>"Finds potential silver users to take part in the trainings in the next phase.",a=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",c=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",h=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",d=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",u=()=>"A golden user can keep on using the virtual lab for their own experiments.",p=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",m=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",v=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",x=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",g=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",j=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",w=()=>"Develop the content of the new virtual lab in NaaVRE.",L=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",y=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",S=()=>"Advises and provides the infrastructure for the virtual lab.",_=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",N=()=>"Ensures the infrastructure can support the training sessions.",D=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",E=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",R=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",T=()=>"Potentially publishes a technical paper in addition to the domain paper.",V=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",I=()=>"Coordinates the further development of the virtual lab with a scientific vision.",P=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",G=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,i,t)=>{t.d(i,{Z:()=>o,a:()=>a});var n=t(7294);const s={},r=n.createContext(s);function a(e){const i=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(r.Provider,{value:i},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/eb592792.e609651f.js b/pr-preview/pr-33/assets/js/eb592792.e609651f.js
new file mode 100644
index 0000000..54aa10b
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/eb592792.e609651f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[453],{6696:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>u,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>h});var i=t(5893),n=t(1151),s=t(2457);const a={sidebar_position:1,title:"Trainer"},o=void 0,l={id:"readiness_levels/Virtual_lab_roles/Trainer",title:"Trainer",description:"The trainer contributes the following per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/Trainer.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Trainer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Trainer.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Trainer"},sidebar:"tutorialSidebar",previous:{title:"Scientific steering board",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board"},next:{title:"User supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter"}},u={},h=[];function p(e){const r={li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return s||c("Responsibilities",!1),s.L2Trainer||c("Responsibilities.L2Trainer",!0),s.L3Trainer||c("Responsibilities.L3Trainer",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.p,{children:"The trainer contributes the following per level:"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["L2: ",(0,i.jsx)(s.L2Trainer,{})]}),"\n",(0,i.jsxs)(r.li,{children:["L3: ",(0,i.jsx)(s.L3Trainer,{})]}),"\n"]})]})}function d(e={}){const{wrapper:r}={...(0,n.a)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}function c(e,r){throw new Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,r,t)=>{t.r(r),t.d(r,{L0CommunitySupporter:()=>i,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>v,L1CoreDeveloper:()=>y,L1DevOps:()=>L,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>T,L1Reviewer:()=>x,L2CommunitySupporter:()=>s,L2Coordinator:()=>m,L2CoreDeveloper:()=>_,L2DevOps:()=>w,L2GoldenUser:()=>h,L2InfrastructureSupporter:()=>S,L2Trainer:()=>R,L2VREResearcher:()=>j,L3CommunitySupporter:()=>a,L3Coordinator:()=>b,L3CoreDeveloper:()=>C,L3GoldenUser:()=>p,L3InfrastructureSupporter:()=>E,L3SteeringBoard:()=>U,L3Trainer:()=>D,L3UserSupporter:()=>G,L4CommunitySupporter:()=>o,L4Coordinator:()=>f,L4CoreDeveloper:()=>k,L4GoldenUser:()=>d,L4InfrastructureSupporter:()=>V,L4SteeringBoard:()=>P,L4UserSupporter:()=>I});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",s=()=>"Finds potential silver users to take part in the trainings in the next phase.",a=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",h=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",p=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",d=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",w=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",y=()=>"Develop the content of the new virtual lab in NaaVRE.",_=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",C=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",T=()=>"Advises and provides the infrastructure for the virtual lab.",S=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",E=()=>"Ensures the infrastructure can support the training sessions.",V=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",R=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",D=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",j=()=>"Potentially publishes a technical paper in addition to the domain paper.",U=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",P=()=>"Coordinates the further development of the virtual lab with a scientific vision.",G=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",I=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,r,t)=>{t.d(r,{Z:()=>o,a:()=>a});var i=t(7294);const n={},s=i.createContext(n);function a(e){const r=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:r},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/f8cb845a.3149b4d5.js b/pr-preview/pr-33/assets/js/f8cb845a.3149b4d5.js
new file mode 100644
index 0000000..4d85065
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/f8cb845a.3149b4d5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[207],{8228:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>h});var t=s(5893),r=s(1151);const n=e=>{let{text:i}=e;return(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"41px",height:"52px",viewBox:"-0.5 -0.5 83 104",children:[(0,t.jsx)("rect",{width:"100%",height:"100%",fill:"#ffffff"})," ",(0,t.jsx)("g",{children:(0,t.jsx)("path",{d:"M40 102 L80 62 M40 102 L0 62 M40 41 L0 1 M41 40 L81 0 M80 2 L80 62 M0 2 L0 62",fill:"none",stroke:"black","stroke-miterlimit":"10"})}),(0,t.jsx)("text",{x:"50%",y:"60%",textAnchor:"middle",dominantBaseline:"middle","font-size":"40",children:i})]})},a={sidebar_position:1,title:"Readiness level framework for co-development of virtual labs on the NaaVRE platform"},l=void 0,o={id:"readiness_levels/index",title:"Readiness level framework for co-development of virtual labs on the NaaVRE platform",description:"Version 0.0.2",source:"@site/docs/readiness_levels/index.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/",permalink:"/pr-preview/pr-33/docs/readiness_levels/",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/index.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Readiness level framework for co-development of virtual labs on the NaaVRE platform"},sidebar:"tutorialSidebar",previous:{title:"About NaaVRE",permalink:"/pr-preview/pr-33/docs/about"},next:{title:"L0 - initial proposal",permalink:"/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal"}},d={},h=[{value:"Content of a virtual lab",id:"content-of-a-virtual-lab",level:2},{value:"Assets",id:"assets",level:3},{value:"Documents",id:"documents",level:3},{value:"Stakeholder roles",id:"stakeholder-roles",level:2},{value:"Readiness levels",id:"readiness-levels",level:2},{value:"Sources",id:"sources",level:2},{value:"Potential ToDos for LifeWatch VLIC",id:"potential-todos-for-lifewatch-vlic",level:2},{value:"Feedback",id:"feedback",level:2}];function c(e){const i={a:"a",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:(0,t.jsx)(i.em,{children:"Version 0.0.2"})}),"\n",(0,t.jsx)(i.p,{children:"The NaaVRE platform facilitates data- and computing-centric research activities by enabling scientists to create customizable virtual labs for specific scientific purposes.\nThis is achieved through a collaborative co-development approach, bringing together domain specialists, computational scientists, data scientists, and development and operations engineers."}),"\n",(0,t.jsx)(i.p,{children:"This readiness level framework assists researchers in virtual lab co-development by:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Introducing the content of virtual labs."}),"\n",(0,t.jsx)(i.li,{children:"Defining stakeholder roles."}),"\n",(0,t.jsx)(i.li,{children:"Describing the progression of a virtual lab through readiness levels,\nhighlighting requirements, milestones and responsibilities."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"content-of-a-virtual-lab",children:"Content of a virtual lab"}),"\n",(0,t.jsx)(i.p,{children:"To successfully develop a reusable and maintainable virtual lab, it is important to understand what a virtual lab is made up of.\nA NaaVRE virtual lab provides a collection of research tools and assets customized for a specific research need:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Assets created in the virtual lab."}),"\n",(0,t.jsx)(i.li,{children:"Documents that support the usability of the virtual lab."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"assets",children:"Assets"}),"\n",(0,t.jsx)(i.p,{children:"Three types of assets can be created in a virtual lab:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"The codebase: Any code written for the virtual lab. The codebase interacts with external resources such as software libraries and external data."}),"\n",(0,t.jsx)(i.li,{children:"Internal data: Produced in the virtual lab by data processing, data analysis, and simulations."}),"\n",(0,t.jsx)(i.li,{children:"Containerized cells and workflows."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"documents",children:"Documents"}),"\n",(0,t.jsx)(i.p,{children:"Besides assets, we encourage the developers of a virtual lab to create documents that aid the FAIRness and maintenance of the virtual lab:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Metadata."}),"\n",(0,t.jsx)(i.li,{children:"Documentation, including a tutorial."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"stakeholder-roles",children:"Stakeholder roles"}),"\n",(0,t.jsx)(i.p,{children:"NaaVRE aims to be a virtual research environment (VRE) that enables experts in computational ecology and ecological data analysis\nto create virtual labs.\nStakeholders are organized into multiple roles to facilitate the collaboration that enables innovative research methods. Some people will only have\none role for the virtual lab, while others might have multiple of the following roles:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"Virtual lab usage roles:"})," Roles for the domain scientists using the virtual lab for their own research.","\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Golden_user",children:"Golden user"}),": Provides a scientific scenario that be well investigated in NaaVRE. Is involved in developing a\nnew virtual lab and conducts the first research in that virtual lab."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"Silver user:"})," Starts using a virtual lab developed by others for their own scientific scenarios in a workshop, training or hackathon.\nLearns how to use the virtual lab through a workshop, training or hackathon."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"Ivory user:"})," Other users that visit or use the virtual lab in a later stage."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"Virtual lab development roles:"})," Roles involved in the creation of a new virtual lab.","\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Core_developer",children:"Virtual lab core developers"}),": Develop a new virtual lab in NaaVRE. Often the virtual lab owner will be one of the core developers. Core developers are provided or hired by the golden user."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Reviewer",children:"Virtual lab code reviewers"}),": Provide feedback during co-development on the user-friendliness, maintainability, and robustness of the\nsource code and other assets."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Steering_board",children:"Scientific steering board"}),": Coordinates the development of the virtual lab with a scientific vision."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"Virtual lab support roles:"})," Roles to support development and use of virtual labs.","\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Community_supporter",children:"Community supporter"}),": Forms connections between users and the virtual lab."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Trainer",children:"Virtual lab trainer"}),": Knows the lab from a user viewpoint and provides trainings to new users."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Coordinator",children:"Virtual lab coordinator"}),": Knows the lab from a technical perspective and pushes the lab to the next readiness level if there is a user community. Often, this will be an employee at LifeWatch ERIC VLIC"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/DevOps",children:"Virtual research environment development and operations (VRE DevOps) engineer"}),": Maintains NaaVRE. Often, this will be an employee at LifeWatch ERIC VLIC."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/VRE_researcher",children:"VRE researcher"}),": Contributes state-of-the-art components to the NaaVRE and can publish technical papers\nthat demonstrate the relevance of NaaVRE in the field of networked systems."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/User_supporter",children:"User supporter"}),": Can support users. Knows the potential and limitations of the lab and can help out when problems arise."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Infrastructure_supporter",children:"Infrastructure supporter"}),": Ensures there is infrastructure that allows the virtual lab to be used by multiple users."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"Infrastructure provider:"})," Organisation that provides infrastructure for the virtual lab."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"readiness-levels",children:"Readiness levels"}),"\n",(0,t.jsx)(i.p,{children:"We discern five readiness levels in the development of a virtual lab.\nVirtual labs evolve through these readiness level by improving and expanding the assets and documents of the virtual lab.\nHigher readiness levels increase the usability of the lab for others, reducing reliance on core developers and the VRE DevOps team."}),"\n",(0,t.jsxs)("ul",{style:{listStyleType:"none"},children:[(0,t.jsxs)("li",{children:[" ",(0,t.jsx)(n,{text:"L0"})," ",(0,t.jsx)(i.a,{href:"L0_initial_proposal",children:"Initial proposal"}),": ",(0,t.jsx)("div",{children:"The initial proposal of a virtual lab, with conceptual definition but no technical setup. "})]}),(0,t.jsxs)("li",{children:[" ",(0,t.jsx)(n,{text:"L1"})," ",(0,t.jsx)(i.a,{href:"L1_co-development",children:"Co-development"}),": ",(0,t.jsx)("div",{children:"A provisioned virtual lab that is ready for the core development team to implement the virtual lab functionality, e.g. new components, workflows, or experiments. "})]}),(0,t.jsxs)("li",{children:[" ",(0,t.jsx)(n,{text:"L2"})," ",(0,t.jsx)(i.a,{href:"L2_validation_phase",children:"Validation phase"}),": ",(0,t.jsx)("div",{children:"A provisioned virtual lab with developed components. It is ready to run scientific experiments to validate the virtual lab and write scientific publications. "})]}),(0,t.jsxs)("li",{children:[" ",(0,t.jsx)(n,{text:"L3"})," ",(0,t.jsx)(i.a,{href:"L3_workshop_use",children:"Workshop use"}),": ",(0,t.jsx)("div",{children:"A provisioned virtual lab with validated components and scientific stories. It is ready to engage more users through training and hackathons under controlled conditions. "})]}),(0,t.jsxs)("li",{children:[" ",(0,t.jsx)(n,{text:"L4"})," ",(0,t.jsx)(i.a,{href:"L4_operational_service",children:"Operational service"}),": ",(0,t.jsx)("div",{children:"A provisioned virtual lab on operational infrastructure. It is ready to be operational for serving users from the general public. "})]})]}),"\n",(0,t.jsxs)(i.table,{children:[(0,t.jsx)(i.thead,{children:(0,t.jsxs)(i.tr,{children:[(0,t.jsx)(i.th,{children:"Level"}),(0,t.jsx)(i.th,{children:"Name"}),(0,t.jsx)(i.th,{children:"Duration"}),(0,t.jsx)(i.th,{children:"Developers"}),(0,t.jsx)(i.th,{children:"Users"}),(0,t.jsx)(i.th,{children:"Context dissemination"}),(0,t.jsx)(i.th,{children:"Entering condition"}),(0,t.jsx)(i.th,{children:"Exit condition"})]})}),(0,t.jsxs)(i.tbody,{children:[(0,t.jsxs)(i.tr,{children:[(0,t.jsx)(i.td,{children:"L0"}),(0,t.jsx)(i.td,{children:"initial proposal"}),(0,t.jsx)(i.td,{children:"1-12 months"}),(0,t.jsx)(i.td,{children:"0"}),(0,t.jsx)(i.td,{children:"0"}),(0,t.jsx)(i.td,{}),(0,t.jsx)(i.td,{children:"A good idea & Available resources."}),(0,t.jsx)(i.td,{children:"Set up a concrete lab on the platform."})]}),(0,t.jsxs)(i.tr,{children:[(0,t.jsx)(i.td,{children:"L1"}),(0,t.jsx)(i.td,{children:"Co-development"}),(0,t.jsx)(i.td,{children:"3-6 months"}),(0,t.jsx)(i.td,{children:"Core developers 6-12 FTE"}),(0,t.jsx)(i.td,{children:"0"}),(0,t.jsx)(i.td,{children:"Metadata publication"}),(0,t.jsx)(i.td,{children:"A lab & a core development team."}),(0,t.jsx)(i.td,{children:"A lab ready for scientific experiments."})]}),(0,t.jsxs)(i.tr,{children:[(0,t.jsx)(i.td,{children:"L2"}),(0,t.jsx)(i.td,{children:"Validation phase"}),(0,t.jsx)(i.td,{children:"3 months"}),(0,t.jsx)(i.td,{children:"A team of core developers"}),(0,t.jsx)(i.td,{children:"1"}),(0,t.jsx)(i.td,{children:"Paper publication"}),(0,t.jsx)(i.td,{children:"A lab ready for writing a scientific paper."}),(0,t.jsx)(i.td,{children:"One or two papers submitted to publication."})]}),(0,t.jsxs)(i.tr,{children:[(0,t.jsx)(i.td,{children:"L3"}),(0,t.jsx)(i.td,{children:"Workshop use"}),(0,t.jsx)(i.td,{children:"3 months"}),(0,t.jsx)(i.td,{children:"Core developers or users"}),(0,t.jsx)(i.td,{children:"10-25"}),(0,t.jsx)(i.td,{children:"Workshops, trainings, hackathons"}),(0,t.jsx)(i.td,{children:"A working lab with documentation and training material."}),(0,t.jsx)(i.td,{children:"The lab has been tested in workshops / hackathons, and has an emerging community."})]}),(0,t.jsxs)(i.tr,{children:[(0,t.jsx)(i.td,{children:"L4"}),(0,t.jsx)(i.td,{children:"Operational service"}),(0,t.jsx)(i.td,{}),(0,t.jsx)(i.td,{children:"Core developers or users"}),(0,t.jsx)(i.td,{children:"10+"}),(0,t.jsx)(i.td,{}),(0,t.jsx)(i.td,{children:"The lab is operational, and can be managed on research infrastructure."}),(0,t.jsx)(i.td,{})]})]})]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.em,{children:"Table 1: Summary of readiness levels, with duration, number of developers and users,\nhow the context of the lab is communicated with the outside world, and what conditions per transition should be met."})}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:" images/NaaVRE_development_cycle.drawio.png not found",src:s(971).Z+"",width:"691",height:"668"}),(0,t.jsx)("br",{}),"\n",(0,t.jsx)(i.em,{children:"Figure 1: The virtual lab moves through the readiness levels, from initial proposal to operational service.\nUsers coming up with ideas for new experiments that can not be done in the existing virtual labs,\ncan, in collaboration with LifeWatch, create a new virtual lab that fits their needs."})]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:" images/Timeline.drawio.png not found",src:s(4786).Z+"",width:"701",height:"481"}),(0,t.jsx)("br",{}),"\n",(0,t.jsx)(i.em,{children:"Figure 2: Timeline per readiness level showing the timing of role involvement. See roles pages for details."})]}),"\n",(0,t.jsx)(i.h2,{id:"sources",children:"Sources"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["These recommendations are partially based on ideas presented in the paper ",(0,t.jsx)(i.a,{href:"https://www.nature.com/articles/s41597-022-01710-x",children:"Introducing the FAIR Principles for research software"}),", the ",(0,t.jsx)(i.a,{href:"https://fairsoftwarechecklist.net/v0.2/",children:"Fair software checklist"}),", and ",(0,t.jsx)(i.a,{href:"https://fair-software.eu/recommendations/license",children:"fair-software.eu"}),"."]}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"potential-todos-for-lifewatch-vlic",children:"Potential ToDos for LifeWatch VLIC"}),"\n",(0,t.jsx)(i.p,{children:"To be able to cycle through the entire readiness cycle described here, LifeWatch VLIC needs to provide the following:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["Make NaaVRE generate a persistent identifier and version number for containerized cells and executed workflows. ",(0,t.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/280",children:"https://github.com/QCDIS/projects_overview/issues/280"})]}),"\n",(0,t.jsxs)(i.li,{children:["Choose a metadata standard for Virtual labs. ",(0,t.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/275",children:"https://github.com/QCDIS/projects_overview/issues/275"})]}),"\n",(0,t.jsxs)(i.li,{children:["Create recommendations on community standards for reading, writing and exchanging data in virtual labs. See github issue ",(0,t.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/281",children:"#281"})]}),"\n",(0,t.jsxs)(i.li,{children:["Create recommendations for testing: ",(0,t.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/274",children:"https://github.com/QCDIS/projects_overview/issues/274"})]}),"\n",(0,t.jsxs)(i.li,{children:["Guideline for secret management ",(0,t.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/276",children:"https://github.com/QCDIS/projects_overview/issues/276"})]}),"\n",(0,t.jsxs)(i.li,{children:["Determine a way of structuring files in a virtual lab git repository that allows publication of the user manual and documentation on NaaVRE.net. ",(0,t.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/279",children:"https://github.com/QCDIS/projects_overview/issues/279"})]}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"feedback",children:"Feedback"}),"\n",(0,t.jsx)(i.p,{children:"Any feedback on this document is appreciated. Please contact the LifeWatch VLIC team if you have any questions or comments on the document."})]})}function u(e={}){const{wrapper:i}={...(0,r.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},971:(e,i,s)=>{s.d(i,{Z:()=>t});const t=s.p+"assets/images/NaaVRE_development_cycle.drawio-59df28395fc82e2a20828d19ed19c9bf.png"},4786:(e,i,s)=>{s.d(i,{Z:()=>t});const t=s.p+"assets/images/Timeline.drawio-827411ef3e2aaf388dbccfa0a2894c7d.png"},1151:(e,i,s)=>{s.d(i,{Z:()=>l,a:()=>a});var t=s(7294);const r={},n=t.createContext(r);function a(e){const i=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),t.createElement(n.Provider,{value:i},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/fb4baa79.9b1ce62e.js b/pr-preview/pr-33/assets/js/fb4baa79.9b1ce62e.js
new file mode 100644
index 0000000..3e7c6f8
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/fb4baa79.9b1ce62e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[489],{5326:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>u,toc:()=>p});var i=r(5893),s=r(1151),n=r(2457);const o={sidebar_position:1,title:"Community supporter"},a=void 0,u={id:"readiness_levels/Virtual_lab_roles/Community_supporter",title:"Community supporter",description:"The community supporter has the following responsibilities per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/Community_supporter.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Community_supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Community_supporter.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Community supporter"},sidebar:"tutorialSidebar",previous:{title:"User manual",permalink:"/pr-preview/pr-33/docs/readiness_levels/user_manual"},next:{title:"Virtual lab coordinator",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator"}},l={},p=[];function h(e){const t={li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return n||c("Responsibilities",!1),n.L0CommunitySupporter||c("Responsibilities.L0CommunitySupporter",!0),n.L1CommunitySupporter||c("Responsibilities.L1CommunitySupporter",!0),n.L2CommunitySupporter||c("Responsibilities.L2CommunitySupporter",!0),n.L3CommunitySupporter||c("Responsibilities.L3CommunitySupporter",!0),n.L4CommunitySupporter||c("Responsibilities.L4CommunitySupporter",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"The community supporter has the following responsibilities per level:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["L0: ",(0,i.jsx)(n.L0CommunitySupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L1: ",(0,i.jsx)(n.L1CommunitySupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L2: ",(0,i.jsx)(n.L2CommunitySupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L3: ",(0,i.jsx)(n.L3CommunitySupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L4: ",(0,i.jsx)(n.L4CommunitySupporter,{})]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}function c(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>i,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>u,L1CommunitySupporter:()=>s,L1Coordinator:()=>m,L1CoreDeveloper:()=>C,L1DevOps:()=>y,L1GoldenUser:()=>l,L1InfrastructureSupporter:()=>k,L1Reviewer:()=>x,L2CommunitySupporter:()=>n,L2Coordinator:()=>v,L2CoreDeveloper:()=>w,L2DevOps:()=>L,L2GoldenUser:()=>p,L2InfrastructureSupporter:()=>j,L2Trainer:()=>V,L2VREResearcher:()=>P,L3CommunitySupporter:()=>o,L3Coordinator:()=>b,L3CoreDeveloper:()=>_,L3GoldenUser:()=>h,L3InfrastructureSupporter:()=>R,L3SteeringBoard:()=>U,L3Trainer:()=>D,L3UserSupporter:()=>T,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>S,L4GoldenUser:()=>d,L4InfrastructureSupporter:()=>E,L4SteeringBoard:()=>G,L4UserSupporter:()=>I});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",s=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",n=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",u=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",l=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",p=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",h=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",d=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",m=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",v=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",y=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",L=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",C=()=>"Develop the content of the new virtual lab in NaaVRE.",w=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",_=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",S=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",k=()=>"Advises and provides the infrastructure for the virtual lab.",j=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",R=()=>"Ensures the infrastructure can support the training sessions.",E=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",V=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",D=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",P=()=>"Potentially publishes a technical paper in addition to the domain paper.",U=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",G=()=>"Coordinates the further development of the virtual lab with a scientific vision.",T=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",I=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>o});var i=r(7294);const s={},n=i.createContext(s);function o(e){const t=i.useContext(n);return i.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(s):e.components||s:o(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-33/assets/js/main.280a6015.js b/pr-preview/pr-33/assets/js/main.280a6015.js
new file mode 100644
index 0000000..1648bc7
--- /dev/null
+++ b/pr-preview/pr-33/assets/js/main.280a6015.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.280a6015.js.LICENSE.txt */
+(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(7294);var r=n(8356),a=n.n(r),o=n(6887);const i={"11047fcd":[()=>n.e(708).then(n.bind(n,7666)),"@site/docs/readiness_levels/Virtual_lab_roles/Core_developer.mdx",7666],17896441:[()=>Promise.all([n.e(532),n.e(918)]).then(n.bind(n,2730)),"@theme/DocItem",2730],"1df93b7f":[()=>Promise.all([n.e(532),n.e(237)]).then(n.bind(n,2924)),"@site/src/pages/index.tsx",2924],"22571d12":[()=>n.e(480).then(n.t.bind(n,3769,19)),"/home/runner/work/naavre.github.io/naavre.github.io/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"34aec551":[()=>n.e(971).then(n.bind(n,2455)),"@site/docs/readiness_levels/user_manual.mdx",2455],"34b0fabf":[()=>n.e(360).then(n.bind(n,216)),"@site/docs/readiness_levels/Virtual_lab_roles/Coordinator.mdx",216],36041992:[()=>n.e(73).then(n.bind(n,6670)),"@site/docs/about.mdx",6670],"38b43935":[()=>n.e(273).then(n.bind(n,7842)),"@site/docs/readiness_levels/RAVRE/documentation.md",7842],"3d901806":[()=>n.e(436).then(n.t.bind(n,5745,19)),"/home/runner/work/naavre.github.io/naavre.github.io/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],"4d655930":[()=>n.e(895).then(n.bind(n,6999)),"@site/docs/readiness_levels/L2_validation_phase.mdx",6999],"5aab0ac5":[()=>n.e(98).then(n.bind(n,2018)),"@site/docs/readiness_levels/L1_co-development.mdx",2018],"5e95c892":[()=>n.e(661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"667ea6e9":[()=>n.e(132).then(n.bind(n,9188)),"@site/docs/readiness_levels/RAVRE/index.md",9188],"6f3e0bc7":[()=>n.e(167).then(n.bind(n,7326)),"@site/docs/NaaVRE_Interface/index.md",7326],"752a6134":[()=>n.e(384).then(n.bind(n,7952)),"@site/docs/readiness_levels/Virtual_lab_roles/VRE_researcher.mdx",7952],"7e556c3d":[()=>n.e(777).then(n.bind(n,7905)),"@site/docs/readiness_levels/Virtual_lab_roles/Golden_user.mdx",7905],"8e76cafd":[()=>n.e(214).then(n.bind(n,2376)),"@site/docs/readiness_levels/Virtual_lab_roles/DevOps.mdx",2376],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"944a1d22":[()=>n.e(999).then(n.bind(n,1546)),"@site/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter.mdx",1546],"9b58cf7f":[()=>n.e(859).then(n.bind(n,2925)),"@site/docs/readiness_levels/Virtual_lab_roles/Steering_board.mdx",2925],a034c16c:[()=>n.e(334).then(n.bind(n,606)),"@site/docs/readiness_levels/L3_workshop_use.mdx",606],a65f7afd:[()=>Promise.all([n.e(532),n.e(27),n.e(63)]).then(n.bind(n,1901)),"@site/docs/tutorials/index.mdx",1901],a7bd4aaa:[()=>n.e(518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a84c24dd:[()=>n.e(385).then(n.bind(n,3263)),"@site/docs/readiness_levels/Virtual_lab_roles/Reviewer.mdx",3263],a94703ab:[()=>Promise.all([n.e(532),n.e(368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],bb19cae0:[()=>n.e(686).then(n.bind(n,3121)),"@site/docs/readiness_levels/L4_operational_service.mdx",3121],c9526f62:[()=>n.e(48).then(n.bind(n,9477)),"@site/docs/readiness_levels/Virtual_lab_roles/User_supporter.mdx",9477],d76867c1:[()=>n.e(408).then(n.bind(n,8210)),"@site/docs/readiness_levels/L0_initial_proposal.mdx",8210],eb592792:[()=>n.e(453).then(n.bind(n,6696)),"@site/docs/readiness_levels/Virtual_lab_roles/Trainer.mdx",6696],f8cb845a:[()=>n.e(207).then(n.bind(n,8228)),"@site/docs/readiness_levels/index.mdx",8228],fb4baa79:[()=>n.e(489).then(n.bind(n,5326)),"@site/docs/readiness_levels/Virtual_lab_roles/Community_supporter.mdx",5326]};var l=n(5893);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(9670),c=n(226);function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e(772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,l.jsx)(c.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},p=[],f=[],m=(0,u.Z)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),a().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;return delete a.__context,(0,l.jsx)(c.z,{value:i,children:(0,l.jsx)(o,{...a,...n})})}})}const p=[{path:"/pr-preview/pr-33/docs/",component:d("/pr-preview/pr-33/docs/","c8e"),routes:[{path:"/pr-preview/pr-33/docs/",component:d("/pr-preview/pr-33/docs/","f96"),routes:[{path:"/pr-preview/pr-33/docs/",component:d("/pr-preview/pr-33/docs/","77e"),routes:[{path:"/pr-preview/pr-33/docs/about/",component:d("/pr-preview/pr-33/docs/about/","e36"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/NaaVRE_Interface/",component:d("/pr-preview/pr-33/docs/NaaVRE_Interface/","871"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/",component:d("/pr-preview/pr-33/docs/readiness_levels/","98f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal/",component:d("/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal/","4ce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/L1_co-development/",component:d("/pr-preview/pr-33/docs/readiness_levels/L1_co-development/","7ea"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase/",component:d("/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase/","c00"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use/",component:d("/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use/","163"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/L4_operational_service/",component:d("/pr-preview/pr-33/docs/readiness_levels/L4_operational_service/","cbf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/",component:d("/pr-preview/pr-33/docs/readiness_levels/RAVRE/","b0c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation/",component:d("/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation/","96b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/user_manual/",component:d("/pr-preview/pr-33/docs/readiness_levels/user_manual/","648"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter/","554"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator/","8f2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/","b8e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps/","85f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/","cc5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/","98c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer/","369"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/","afc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/","26b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter/","d97"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher/","0a0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/tutorials/",component:d("/pr-preview/pr-33/docs/tutorials/","f12"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/pr-preview/pr-33/",component:d("/pr-preview/pr-33/","8d4"),exact:!0},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,t:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var r=n(7294),a=n(745),o=n(3727),i=n(405),l=n(412);const s=[n(2497),n(3310),n(8320),n(2295)];var u=n(723),c=n(6550),d=n(8790),p=n(5893);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5742),h=n(2263),g=n(4996),y=n(6668),b=n(1944),v=n(4711),w=n(9727),k=n(3320),x=n(8780),S=n(197);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.Z)(),r=(0,v.l)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,p.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.Z)(),{pathname:r}=(0,c.TH)();return e+(0,x.applyTrailingSlash)((0,g.Z)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{property:"og:url",content:a}),(0,p.jsx)("link",{rel:"canonical",href:a})]})}function C(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.h})]}),n&&(0,p.jsx)(b.d,{image:n}),(0,p.jsx)(E,{}),(0,p.jsx)(_,{}),(0,p.jsx)(S.Z,{tag:k.HX,locale:e}),(0,p.jsx)(m.Z,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const T=new Map;function L(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var R=n(8934),j=n(8940),A=n(469);function N(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,A.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),N("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class D extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?N("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=N("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(c.AW,{location:t,render:()=>e})})}}const I=D,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
The Notebook as a Virtual Research Environment (NaaVRE) is a set of tools to allow users to containerize cells, compose
+workflows and execute them on a workflow engine.
+The 'Cell Preview' panel shows a preview of the cell that is currently selected including its name, inputs and outputs.
+Under the 'Cell Preview' panel there a list of the inputs and outputs of the cell and their types. The types are needed
+to be filled in by the user when containerizing a cell. Currently, the supported types are:
+
+
String
+
Integer
+
Float
+
List
+
+
Under the 'Inputs' and 'Outputs' there is the 'Base Image' selection. This is the base image that will be used to build
+the container. The default base image is 'miniconda3'. The user can select a different base image from the drop down.
Special variables can be used in the cell code. Their name should contain one of the following prefixes:
+
+
+
param_: these variables are used to pass input parameters to a cell. They should be used to allow users to set their own values when running a workflow. When containerizing the cell, a default value is extracted from the code and saved to the catalogue. When running a workflow that contains the cell, users use the default value or set a custom one. The value is then passed to the cell during execution.
secret_: these variables are used to pass secret parameters to a cell. They should be used for credentials such as passwords or API keys. They are similar to param_ variables, but no default value is saved to the catalogue, and values are handled in a secure way when executing the workflow.
+
+
+
+
conf_: these variables are used to pass configuration parameters to all cells. They are visible by all cells of the notebook. They can be thought of as 'global' variables therefore, they do not require to set their type like other variables. Their value is set when containerizing the cell, and cannot be updated when running the workflow.
Notice in the image above that the conf_b variable is declared in the first cell and used in the second and third cell.
+However, the conf_b is not showing up as input in the second and third cell.
This feature can result in broken containerized cells. Use it with caution.
+
In normal circumstances, the component containerizer automatically determines the cell variables (inputs, outputs,
+params, confs) and dependencies by analyzing the source code.
+
This can be overridden by adding a special comment to the cell. The comment contains a YAML document, beginning with
+--- and ending with ....
If an entry (e.g. params:) is omitted from the comment, the containerizer will try to determine the appropriate values from the source code.
+This makes it possible to override some variable types, while using the code analysis for others.
+In this example, the input and output are manually specified, while the dependencies, confs and params are determined from the source code (note how we specify that the cell has no outputs):
While containerizing R code cells is similar to Python, R's characteristics make it more challenging and require additional steps. The type of detected variables will only be identified if they have been explicitly assigned a primitive value.
+
# Will be detected a <- 1L # Integer b <- 1.5 # Float c <- "foo" # String d <- list(1,2,3) # List # Will not be detected e <- round(1.555, 2)
+
The type detector can detect the type of variables that have not been explicitly assigned a primitive value.
+
+
By pressing the Type Detector button, the selected cell will be executed by the kernel and the types of the detected variables will be retrieved. However, this does require that the selected cell is executable and that all used variables are initialized.
+
+
In R, new variables can be added to the environment without explicit initialization, leading to instances where additional inputs are detected. This is especially common when working with dataframes, where variables for columns may be implicitly created. Unwanted input variables can be removed by pressing the X button next to the variable.
In the 'Experiment Manager' page you can compose and execute workflows. To compose a workflow click on the '+' button in
+the bottom right corner of the page and select the 'Cells Catalog' option.
+
+
After you have selected the cells you want to compose a workflow with, click on the 'Add to Workspace' button.
In the 'Experiment Manager' page you can compose workflows using special components. These components are:
+
+
Splitter: This component is used to split an output array from a call into its elements and feed each element to the
+next cell. That way the next cell will be executed in parallel as many times as the number of elements in the array.
+
Merger: This component is used to merge the outputs of multiple cells into a single array.
When re-containerizing a cell used in a workflow, you might need to update the
+workflow itself:
+
+
If you only updated the cell's source code or dependencies: the workflow automatically uses the new version of the
+cell.
+
If you changed the cell’s inputs, outputs or parameters: the workflow needs to be updated. Remove the cell from the
+workflow, and add the new version from the catalogue.
+
If you changed the cell’s title: a new cell is created in the catalogue. Both the old and new cell can be used.
+Workflows using the old cell don’t need to be updated.
To transfer files between containerized cells when running the workflow, they need to be placed in the /tmp/data/ repository. Files outside of this repository are not preserved from one containerized cell to the other.
+
The best practice for exchanging files between cells is to save the file in /tmp/data/, and pass the filename between the cells. Example:
In the 'Notebook Search' page you can search for notebooks relevant to your research. To search for notebooks click on
+the icon in the middle left of the page. There you can search for notebooks.
+
+
The results will be displayed in the left panel. If you clik on a result you will be shown some relevant information
+such its title, link, summary etc. If you click on the 'More' button you will be redirected to the notebook where you
+can download it.
In all VLs there is a Git integration with jupyterlab-git.
+To clone and push to a repository you can follow the instructions from here: jupyterlab-git.
NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1].
+
+
+
Zhao, Zhiming, Spiros Koulouzis, Riccardo Bianchi, Siamak Farshidi, Zeshun Shi, Ruyue Xin, Yuandou Wang et al. "Notebook‐as‐a‐VRE (NaaVRE): From private notebooks to a collaborative cloud virtual research environment." Software: Practice and Experience 52, no. 9 (2022): 1947-1966. https://doi.org/10.1002/spe.3098
This section of the documentation contains step-by-step tutorials that help outline the capabilities of Virtual Research
+Environments (VRE) and how you can achieve specific aims. The tutorials are recommended if you do not have much
+experience with VRE.
Notebook as a Virtual Research Environment (NaaVRE) Platform
+
The LifeWatch NaaVRE platform is a Platform as a Service (PaaS) that allows users to create Collaborative Virtual Labs with customized runtime libraries, user interfaces, and workflow building blocks, and to conduct research activities in specific domains.
A Collaborative Virtual Lab provides a customized profile, which allows a domain user to create a Virtual Lab instance on the NaaVRE platform. All the Virtual Lab instances of a Collaborative Virtual Lab can share data and workflows. A Virtual Lab is based on a Jupyter environment with specially developed extensions for containerizing Notebook cells, composing and executing workflows, and searching and sharing research objects.
A new virtual lab starts with potential (golden) users who are willing to use NaaVRE to conduct their research.
+They will be selected, or reached out. The (golden) user will propose a virtual lab based on a scientific story
+and technical starting point.
+If a NaaVRE virtual lab seems a suitable platform to conduct the research,
+the potential (golden) users, the community manager, and NaaVRE DevOps team work out the idea further, recruit a team of core developers,
+establish ambitions, and make a timeline for the virtual lab.
The following things should be done to work out the initial proposal to a concrete virtual lab:
+
+
Feasibility
+
+
Check if the research activity can be done in NaaVRE.
+
+
+
Team recruitment
+
+
Find and hire a team of core developers to build the virtual lab.
+
+
+
Plan
+
+
Write a development plan for the virtual lab. What scientific scenario will be investigated and what is needed to enable that?
+
Make a timeline for the co-development, validation of the virtual lab and development of training material.
+
+
+
Licensing
+
+
Choose a license for the virtual lab. We recommend using the Apache license 2.0,
+assuming this is compatible with the other packages and software you use in the virtual lab. If the Apache License 2.0 is incompatible with software or libraries used,
+you can pick another license. We recommend having a look at https://choosealicense.com/.
+
+
+
Codebase
+
+
The virtual lab coordinator will create a new virtual lab.
+
+
+
Version control
+
+
Store the codebase on a repository with version control (e.g. git).
+
+
+
Documentation
+
+
Pick a nice name for your virtual lab. Make sure the name won't be mixed up with other virtual labs.
The following roles are involved in a initial proposal:
+
+
Community supporter: Reaches out to domain scientists who have the potential of becoming golden users.
+
Golden users: Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.
+
Virtual lab coordinator: Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.
+
VRE DevOps engineer: Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.
Co-development of the new virtual lab can be started when a basic virtual lab has been provisioned with the customized libraries
+and configurations required by the development plan and a development team is ready to work on the subject.
The following roles should be assigned during co-development:
+
+
Golden users: Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments
+
Virtual lab core developers: Develop the content of the new virtual lab in NaaVRE.
+
Virtual lab code reviewer: Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.
+
Community supporter: At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.
+
Infrastructure supporter: Advises and provides the infrastructure for the virtual lab.
+
Virtual lab coordinator: Coordinates the co-development between the golden users, core developers and DevOps engineers.
+
Virtual research environment (VRE) development and operations (DevOps) engineers: Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.
The lab transitions from co-development to the validation phase, when the technical development has been finished and
+the lab is ready to conduct the scientific experiments on the required scale.
+For this, at least the following criteria should be checked:
+
+
Documentation
+
+
The virtual lab metadata is available outside the virtual lab.
+
+
Metadata is tracked by version control.
+
+
+
+
+
Security
+
+
Personal tokens are not tracked by version control.
+
+
+
Versioning
+
+
Versions of used software and libraries are pinned.
+
+
+
Data
+
+
The data is ready for scientific experiments.
+
Data that is only read by the virtual lab is stored in an external catalogue.
+
+
+
Codebase
+
+
The code executes without errors: The code can be executed without errors.
+Currently, you can verify this by manually executing all cells in the notebook on a machine on which the code was not developed (to ensure no references are made to local resources).
+
The responsibility of each cell in the notebook is clear and can be described in a single sentence.
+
The coding style is consistent and follows a style guide e.g. For Python PEP 8.
+
Parallel processing is applied where suitable.
+
There are clear errors when expected files and objects are not found.
+
External code use, such as command-line interface tools, are clearly labeled.
+
+
+
Containerization
+
+
The notebook cells can be containerized.
+
+
+
Workflow execution
+
+
The containerized cells can run without any modifications.
+
It is possible to give a demonstration of the virtual lab.
At the start of the validation phase, the virtual lab has the required components and the workflow has been developed and tested.
+Additionally the scientific (golden) user has made the data sets ready for the experiments.
The golden user will conduct experiments in the virtual lab in this phase.
+The following should also be done phase:
+
+
Data
+
+
Make data fair.
+
Follow the community standards of the relevant domains for reading, writing and exchanging data.
+
+
+
Metadata
+
+
Complete all metadata fields.
+
+
+
Scenarios
+
+
Make sure and describe how the virtual lab can be used on different scenarios, i.e. other datasets and with other parameters.
+
+
+
Versioning
+
+
Add a version number to the virtual lab so users can refer to this number when they are reporting reproducibility or bug issues.
+
Give each containerized cell and executed workflow a persistent identifier and version number.
+Feature is currently under development. For progress, see #280.
The submission for publication of a paper in the ecosystem domain presenting the scenarios run in the virtual lab.
+
The lab becoming publicly available.
+
Potentially, besides a domain paper, the submission for publication of a technical paper focusing on the infrastructure part of the virtual research environment.
The following roles should be assigned during the validation phase:
+
+
Golden users: Use the virtual lab to do their research. Publish a paper in the ecosystem domain.
+
Virtual lab core developers: Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.
+
Community supporter: Finds potential silver users to take part in the trainings in the next phase.
+
Virtual lab trainer: Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.
+
Infrastructure supporter: Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.
+
VRE researcher: Potentially publishes a technical paper in addition to the domain paper.
+
Virtual lab coordinator: Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.
+
VRE DevOps engineer: Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.
The virtual lab transitions to workshop use, once validation of the lab by doing scientific experiments has been done and a scientific paper is ready for publication.
+
It is important to find out who would be potential silver users of the virtual lab. In case no match between the virtual lab
+and potential silver users can be found, the virtual lab should be archived.
+
To advance to workshop use, all of the following boxes should be checked, in addition to the criteria for the initial proposal, and co-development:
+
+
User community
+
+
Other potential users have been identified.
+
+
+
Data
+
+
All input data of the lab is FAIR.
+
+
+
Metadata
+
+
All the fields of the metadata standard are present.
+
+
+
Scenarios
+
+
The virtual lab can be used in multiple scenarios, i.e. both the parameters and datasets can be changed to suit experiments of different researchers.
+
+
+
Documentation
+
+
There is a user manual and at least one domain scientist who was not involved in the development of the virtual lab has reviewed the user manual.
+The coding experience of the reviewer of the user manual is similar to the coding experience of the intended user.
+
How to use the virtual lab on a different scenario is explained.
+
+
+
Codebase
+
+
Unit tests verify the behavior of used methods and libraries. There should be a testing guideline, which will be done in this issue #274.
+
The virtual lab reads, writes and exchanges data in a way that meets domain-relevant community standards. Recommendations for what standards to use are under investigation, see github issue #281.
+
The code within cells is easily human-readable and others can easily modify it. If methods have side effects, this is clear to the user.
+
The input and output of each cell is clear. It is both clear what the structure is (e.g. what data type is used) and what the data content is from a domain perspective.
+
+
+
Workflow
+
+
The duration of computation, memory usage, and power usage of the containers is acceptable. As there is currently no dashboard to monitor resource usage, contact the VLIC team for guidelines.
+
+
+
Deployment
+
+
The virtual lab is publicly available.
+
+
+
Infrastructure
+
+
The infrastructure requirements for the workshop are known and the necessary infrastructure has been provided:
+
+
The number of people taking part in a workshop.
+
The random access memory and permanent storage usage of the virtual lab are known.
+
The amount of processors the virtual lab uses is known.
At the start of level 3, the documentation and scientific publication is ready for silver users to learn the practices in workshops, trainings, and hackathons.
During this phase silver users are invited to join workshops, trainings, or hackathons to learn the features and
+components developed in the virtual lab and conduct their own exercises.
+
The following should be done during workshop use:
+
+
Documentation
+
+
Gather user feedback on the documentation.
+
Continuously improve the documentation.
+
+
+
Codebase
+
+
Find out if the architecture of the virtual lab is understandable and maintainable.
+
Continuously improve the codebase.
+
+
+
Deployment
+
+
The virtual lab should be published on MyLifeWatch.
In this phase at least one workshop should be given to a group of 10 to 25 potential users.
+Additionally, user feedback should be gathered and processed.
The following responsibilities should be assigned during workshop use:
+
+
Golden users: The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.
+
Scientific steering board: Gathers user feedback and determines how to facilitate other users in the virtual lab.
+
Community supporter: Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.
+
Virtual lab trainer: Gives trainings to users. Can point out what the user can change and can not change in the lab.
+
User supporter: Answers any technical questions arising from the workshop use which the trainer can not answer.
+
Core developer: Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.
+
Infrastructure supporter: Ensures the infrastructure can support the training sessions.
+
Virtual lab coordinator: Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.
The virtual lab becomes an operational service, if scientists taking part in the workshops, trainings, and hackathons
+find that they can use the virtual lab in their research, and the training material and guidelines are ready for normal (ivory) users to use.
+
Virtual labs do not need to reach operational service to be successful. A lab could also be the perfect fit for the scientific
+scenario of the golden users, but not have any other users who can apply it in their own research.
+It is important to weigh the scientific benefits of advancing a virtual lab to the next readiness level to the effort and cost involved in doing that.
+In case none of the silver users keeps using the virtual labs after the workshops, the virtual lab should be archived.
+
To evolve to an operational service, all previous criteria apply in addition to the following:
+
+
Community
+
+
There is a scientific steering board who are willing to take care of the scientific
+direction of the virtual lab.
+
The is a community of users who benefit from doing their research in the virtual lab.
+
+
+
Dependencies
+
+
Dependencies are specified. The dependencies are in the dockerfile of the virtual lab,
+but should be duplicated in the metadata such that a person can in theory also run the source code on their own machine after installing the dependencies manually.
In this phase the virtual lab has been industrialized and is provisioned on the research infrastructure.
+
The following should be done during operational service:
+
+
Expand and adapt the virtual lab where useful.
+
Keep up to date with new versions of dependencies.
+
Make the containerized cells and workflow interoperable with other systems where use cases for the interoperability between NaaVRE and another system arise.
The following milestones can occur when a virtual lab runs as an operational service:
+
+
Silver and ivory users successfully run their own scenarios in the virtual lab.
+
Silver and ivory users make their own modifications to the virtual lab to facilitate their research.
+
Users come up with ideas that spawn the creation of a new virtual lab:
+Whenever users of the virtual lab come up with a new idea that does not fit in the possibilities of existing virtual labs,
+they can contact the community supporter or virtual lab coordinator to discuss the possibilities of creating a new virtual lab.
RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers.
Introduction: The airspace is becoming increasingly crowded. High-rises, wind farms and airports all contribute to conflict with aerial organisms. Information about the movements of organisms in the air is required to identify stop-over sites, migratory routes, and patterns. This can inform mitigation of conflicts by, for example, wind-turbine curtailments or early warning systems for aviation. Weather radars, that continuously monitor the sky across continents, can be used to study movements of birds, bats, and insects. However, for continental scale analysis, large volumes of data are required to be processed and analyzed, which often rely on institute-specific tools and computational resources. This severely hampers collaborative efforts because of the initial investment of time and resources to gain access to existing computing infrastructure. Here we show a Radar Aeroecology Virtual Research Environment (RAVRE) which uses the Lifewatch ERIC infrastructure to facilitate collaboration and re-use of infrastructure and tools. By providing RAVRE, we aim to facilitate collaboration between ornithological institutes.
This virtual lab (VL) allows users to easily obtain biological scatters from radar data.
+The lab reduces the initial investment of acquiring access and expertise to computational resources and provide immediate access to tools built by domain experts. These tools are then run in the cloud leveraging the performance and flexibility of cloud computing.
+The VL is shipped with the data management plan used by the University of Amsterdam's Animal Movement Ecology group (UvA IBED-TCE AME) to provide an out of the box solution for managing large datasets.
+RAVRE is currently capable of accessing, processing, managing and visualizing data from the Royal Netherlands Meteorological Institute's (RNMI) open Radar Data repository. The VL has multi-language support, and has well known libraries such as bioRad in R and xradar in Python installed. Furthermore, it uses vol2bird for processing biological echoes found in Polar Volume files to Vertical Profiles.
Dokter AM, Liechti F, Stark H, Delobbe L, Tabary P, Holleman I, J. R. Soc.
+Bird migration flight altitudes studied by a network of operational weather radars
+Interface, 8, 30–43, 2011, DOI 10.1098/rsif.2010.0116
Picking custom dates to study biological scatters using KNMI weather radar data is possible by only setting parameters.
+Preprocessing other weather radar data to the vol2bird input format requires some experience in handling APIs and data in Python.
The virtual lab coordinator has the following responsibilities per level:
+
+
L0: Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.
+
L1: Coordinates the co-development between the golden users, core developers and DevOps engineers.
+
L2: Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.
+
L3: Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.
+
L4: Ensures the VRE keeps supporting the virtual lab.
+
+
+
\ No newline at end of file
diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/index.html
new file mode 100644
index 0000000..a276458
--- /dev/null
+++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/index.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+Core developer | NaaVRE
+
+
+
+
+
Virtual research environment development and operations (VRE DevOps) engineer
The VRE DevOps engineers have the following responsibilities per level:
+
+
L0: Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.
+
L1: Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.
+
L2: Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.
+
+
+
\ No newline at end of file
diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/index.html
new file mode 100644
index 0000000..2ff9815
--- /dev/null
+++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/index.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+Golden user | NaaVRE
+
+
+
+
+
Golden users have the following responsibilities per level:
+
+
L0: Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.
+
L1: Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments
+
L2: Use the virtual lab to do their research. Publish a paper in the ecosystem domain.
+
L3: The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.
+
L4: A golden user can keep on using the virtual lab for their own experiments.
+
+
+
\ No newline at end of file
diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/index.html
new file mode 100644
index 0000000..6a8e39a
--- /dev/null
+++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/index.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+Infrastructure supporter | NaaVRE
+
+
+
+
+
The reviewer can contribute the following per level:
+
+
L1: Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.
+
+
+
\ No newline at end of file
diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/index.html
new file mode 100644
index 0000000..6d1d1d6
--- /dev/null
+++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/index.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+Scientific steering board | NaaVRE
+
+
+
+
+
The scientific steering board decides on the further development of the virtual lab based on a scientific vision and their knowledge of the use cases of the virtual lab.
+Members of the scientific steering board are invited by the golden users and community supporter during L3 - workshop use.
+If a golden user remains involved in the virtual lab, they can take place in the scientific steering board.
+
+
L3: Gathers user feedback and determines how to facilitate other users in the virtual lab.
+
L4: Coordinates the further development of the virtual lab with a scientific vision.
+
+
+
\ No newline at end of file
diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/index.html
new file mode 100644
index 0000000..794d9cb
--- /dev/null
+++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/index.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+Trainer | NaaVRE
+
+
+
+
+
Readiness level framework for co-development of virtual labs on the NaaVRE platform
Version 0.0.2
+
The NaaVRE platform facilitates data- and computing-centric research activities by enabling scientists to create customizable virtual labs for specific scientific purposes.
+This is achieved through a collaborative co-development approach, bringing together domain specialists, computational scientists, data scientists, and development and operations engineers.
+
This readiness level framework assists researchers in virtual lab co-development by:
+
+
Introducing the content of virtual labs.
+
Defining stakeholder roles.
+
Describing the progression of a virtual lab through readiness levels,
+highlighting requirements, milestones and responsibilities.
To successfully develop a reusable and maintainable virtual lab, it is important to understand what a virtual lab is made up of.
+A NaaVRE virtual lab provides a collection of research tools and assets customized for a specific research need:
+
+
Assets created in the virtual lab.
+
Documents that support the usability of the virtual lab.
NaaVRE aims to be a virtual research environment (VRE) that enables experts in computational ecology and ecological data analysis
+to create virtual labs.
+Stakeholders are organized into multiple roles to facilitate the collaboration that enables innovative research methods. Some people will only have
+one role for the virtual lab, while others might have multiple of the following roles:
+
+
Virtual lab usage roles: Roles for the domain scientists using the virtual lab for their own research.
+
+
Golden user: Provides a scientific scenario that be well investigated in NaaVRE. Is involved in developing a
+new virtual lab and conducts the first research in that virtual lab.
+
Silver user: Starts using a virtual lab developed by others for their own scientific scenarios in a workshop, training or hackathon.
+Learns how to use the virtual lab through a workshop, training or hackathon.
+
Ivory user: Other users that visit or use the virtual lab in a later stage.
+
+
+
Virtual lab development roles: Roles involved in the creation of a new virtual lab.
+
+
Virtual lab core developers: Develop a new virtual lab in NaaVRE. Often the virtual lab owner will be one of the core developers. Core developers are provided or hired by the golden user.
+
Virtual lab code reviewers: Provide feedback during co-development on the user-friendliness, maintainability, and robustness of the
+source code and other assets.
Virtual lab trainer: Knows the lab from a user viewpoint and provides trainings to new users.
+
Virtual lab coordinator: Knows the lab from a technical perspective and pushes the lab to the next readiness level if there is a user community. Often, this will be an employee at LifeWatch ERIC VLIC
VRE researcher: Contributes state-of-the-art components to the NaaVRE and can publish technical papers
+that demonstrate the relevance of NaaVRE in the field of networked systems.
+
User supporter: Can support users. Knows the potential and limitations of the lab and can help out when problems arise.
+
Infrastructure supporter: Ensures there is infrastructure that allows the virtual lab to be used by multiple users.
+
Infrastructure provider: Organisation that provides infrastructure for the virtual lab.
We discern five readiness levels in the development of a virtual lab.
+Virtual labs evolve through these readiness level by improving and expanding the assets and documents of the virtual lab.
+Higher readiness levels increase the usability of the lab for others, reducing reliance on core developers and the VRE DevOps team.
A provisioned virtual lab that is ready for the core development team to implement the virtual lab functionality, e.g. new components, workflows, or experiments.
A provisioned virtual lab with developed components. It is ready to run scientific experiments to validate the virtual lab and write scientific publications.
A provisioned virtual lab with validated components and scientific stories. It is ready to engage more users through training and hackathons under controlled conditions.
A provisioned virtual lab on operational infrastructure. It is ready to be operational for serving users from the general public.
+
Level
Name
Duration
Developers
Users
Context dissemination
Entering condition
Exit condition
L0
initial proposal
1-12 months
0
0
A good idea & Available resources.
Set up a concrete lab on the platform.
L1
Co-development
3-6 months
Core developers 6-12 FTE
0
Metadata publication
A lab & a core development team.
A lab ready for scientific experiments.
L2
Validation phase
3 months
A team of core developers
1
Paper publication
A lab ready for writing a scientific paper.
One or two papers submitted to publication.
L3
Workshop use
3 months
Core developers or users
10-25
Workshops, trainings, hackathons
A working lab with documentation and training material.
The lab has been tested in workshops / hackathons, and has an emerging community.
L4
Operational service
Core developers or users
10+
The lab is operational, and can be managed on research infrastructure.
+
Table 1: Summary of readiness levels, with duration, number of developers and users,
+how the context of the lab is communicated with the outside world, and what conditions per transition should be met.
+
+Figure 1: The virtual lab moves through the readiness levels, from initial proposal to operational service.
+Users coming up with ideas for new experiments that can not be done in the existing virtual labs,
+can, in collaboration with LifeWatch, create a new virtual lab that fits their needs.
+
+Figure 2: Timeline per readiness level showing the timing of role involvement. See roles pages for details.
The following guidelines can be used to determine the completeness of a user manual.
+
+
The virtual lab is explained from the following viewpoints:
+
+
A conceptual viewpoint. There is an intuitive description of what happens.
+
A mathematical viewpoint. How the real world system relates to the used mathematical algorithm is clear.
+
A computational viewpoint: How the algorithm is converted into computational methods is explained.
+
An engineering viewpoint: There is a description of the software architecture of the virtual lab.
+
+
+
The parameters are clear.
+
+
It is clear what the ecological meaning of the parameter is.
+
It is clear how to change these parameters.
+
+
+
There is a tutorial: Virtual lab developers are strongly encouraged to create a tutorial for virtual labs early on in the development. In the simplest case, this is the existing main notebook with a description of the processes that occur during execution.
+
+
The tutorial can be done without supervision.
+
+
+
Known potential pitfalls in using the virtual lab are described.
+
There is a description of the standards used for data exchange with application programming interfaces and databases.
+
The intended audience is described. Recommended prior knowledge is listed.
+
Storage location
+
+
Store the user manual for the virtual lab in the same git repository as the virtual lab assets.
+
The user manual will be made available on NaaVRE.net and should be separated from the codebase.
+
Instructions on how to use a single notebook can be stored in the markdown of that notebook.
+
+
+
+
+
\ No newline at end of file
diff --git a/pr-preview/pr-33/docs/tutorials/index.html b/pr-preview/pr-33/docs/tutorials/index.html
new file mode 100644
index 0000000..dd79916
--- /dev/null
+++ b/pr-preview/pr-33/docs/tutorials/index.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+Getting Started with NaaVRE tutorial | NaaVRE
+
+
+
+
+
The aim of this tutorial is to discover the basic functionalities of NaaVRE: logging in, starting your virtual lab, and creating a workflow from a notebook:
Create a new Python or a R notebook by clicking on the 'Python 3' or the 'R' icon under 'Notebook' on the launcher tab.
+
note
If the Launcher page is not open, click on the new tab button or 'File->New->New Launcher'.
+
+
Add some code to the notebook. For this tutorial, we will use a simple 'hello, world' example over two cells. The first one sets the data (in a real world application, this cell could download data from a repository), the second one prints the data (this could correspond to processing the data and generating some figures).
+
If you chose Python:
+
# Input list names =["Alice","Bob"]
+
# Process list for name in names: print(f"Hello, {name}!")
+
If you chose R:
+
# Input list names = list("Alice", "Bob")
+
# Process list for (name in names) { print(sprintf("Hello, %s!", name)) }
Open the component containerizer panel by clicking on the icon in the left-hand bar.
+
+
Select the first cell to containerize it.
+
On the left panel, you will see a preview of the containerized cell with the detected inputs, outputs, parameters and dependencies (if any).
+
+
Set the variable types to 'List'. For Python notebooks, type is inferred automatically.
+
+
Select the base image for the containerized cell ('r' or 'python' depending on your notebook).
+
+
Click on the 'Create' button.
+
warning
This publishes the contents of the cell to a public repository on GitHub. Do not containerize cells containing passwords, API keys, or any code you wish to keep private.
+
+
Congratulations, you containerized your first cell!
+
+
Repeat the containerization cells for the second cell in the notebook.
To compose a workflow open a new tab and click on the 'Experimenter Manager' icon.
+
+
+
Click on the 'Cells catalogue' button.
+
+
For each of the cells you created:
+
+
select the cell,
+
click on Add to workspace.
+
+
+
Drag and drop the two cells onto the canvas, as well as a 'splitter' cell.
+
+
Connect the cells nodes.
+
tip
It is important to note that the direction of the connections between the cells is important as it indicates the flow of ]
+data dependencies between the cells. Therefore, the flow should be: 'Input list' -> 'Splitter' -> 'Process list'.
+
+
Click on the 'Run' button.
+
+
Click on 'Execute'
+
note
If your workflow uses parameters, you can set their values here. To use values from the notebook, click on 'Use notebook values'.
Step 1 Open the example notebook in NaaVRE by following this link.
+
+
Step 2 Fill-in the values for param_cpauth_token (cell 2), param_s3_user_prefix, param_s3_access_key, and param_s3_secret_key (cell 6). The s3 params and the “Upload files” step can be skipped if you want to make the tutorial shorter.
+
After filling in the values, you have the possibility to run the notebook.
+
+
Step 3 Containerize the cells of the notebook (see “Containerize the cells” in the above tutorial).
+
+
Step 4 Create a workflow (see “Compose a workflow”) using the cells you just containerized, in the following order:
+
+
List ICOS stations
+
List data products
+
Splitter
+
Plot time series
+
Merger (optional)
+
Upload files (optional)
+
+
+
Step 5 Run the workflow:
+
+
Click on the “Run” button
+
Fill in the workflow parameters by clicking on the “Use notebook values” button. Notice that you can edit the parameters at this stage, without having to re-containerize the cells or re-create the workflow.
NaaVRE lets you containerize cells of Jupyter notebooks. Use these reusable components to build workflows.
Compose workflows and run them in the cloud
NaaVRE lets you compose workflows and run them into a cloud environment, with different parameters or input data.
Find, reuse and share research assets
Find notebooks, containerized cells, workflows and datasets to run your own experiments in NaaVRE.
NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1].
+
+
+
Zhao, Zhiming, Spiros Koulouzis, Riccardo Bianchi, Siamak Farshidi, Zeshun Shi, Ruyue Xin, Yuandou Wang et al. "Notebook‐as‐a‐VRE (NaaVRE): From private notebooks to a collaborative cloud virtual research environment." Software: Practice and Experience 52, no. 9 (2022): 1947-1966. https://doi.org/10.1002/spe.3098
+
+
Tutorials
+
This section of the documentation contains step-by-step tutorials that help outline the capabilities of Virtual Research
+Environments (VRE) and how you can achieve specific aims. The tutorials are recommended if you do not have much
+experience with VRE.
Notebook as a Virtual Research Environment (NaaVRE) Platform
+
The LifeWatch NaaVRE platform is a Platform as a Service (PaaS) that allows users to create Collaborative Virtual Labs with customized runtime libraries, user interfaces, and workflow building blocks, and to conduct research activities in specific domains.
+
Main Features
+
+
A user-friendly interface to the LifeWatch VRE platform
+
Overview of the running Virtual Labs (VLs)
+
Overview of executed workflows
+
Community-based data products catalog
+
Community-based geographical data products catalog
A Collaborative Virtual Lab provides a customized profile, which allows a domain user to create a Virtual Lab instance on the NaaVRE platform. All the Virtual Lab instances of a Collaborative Virtual Lab can share data and workflows. A Virtual Lab is based on a Jupyter environment with specially developed extensions for containerizing Notebook cells, composing and executing workflows, and searching and sharing research objects.
+
Main Features
+
+
Containerization of cells
+
Workflow composition based on containerized cells
+
Execution of containerized cells on a workflow engine
+
Search for notebooks
+
+
Supported Kernels
+
+
Python
+
Rscript
+
+
+
\ No newline at end of file
diff --git a/pr-preview/pr-33/sitemap.xml b/pr-preview/pr-33/sitemap.xml
new file mode 100644
index 0000000..9fc9a65
--- /dev/null
+++ b/pr-preview/pr-33/sitemap.xml
@@ -0,0 +1 @@
+https://naavre.github.io/pr-preview/pr-33/docs/about/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/NaaVRE_Interface/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/L1_co-development/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/L4_operational_service/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/RAVRE/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/user_manual/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/tutorials/weekly0.5https://naavre.github.io/pr-preview/pr-33/weekly0.5
\ No newline at end of file