diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..3e6af6a --- /dev/null +++ b/404.html @@ -0,0 +1,17 @@ + + + + + +Page Not Found | Selcukes + + + + + +
+
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

Subscribe for product updates

By subscribing, you agree with Selcukes’s Terms of Service and Privacy Policy.
+ + + + \ No newline at end of file diff --git a/assets/css/styles.1b949ae5.css b/assets/css/styles.1b949ae5.css new file mode 100644 index 0000000..fb4e155 --- /dev/null +++ b/assets/css/styles.1b949ae5.css @@ -0,0 +1 @@ +@import url(https://rsms.me/inter/inter.css);.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)}.DocSearch-Button,.button{-webkit-user-select:none;-ms-user-select:none}.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}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}: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:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--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 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--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:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--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-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}.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:transparent}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-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)}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,.tabItem_LNqP{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 rgba(0,0,0,.1);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:transparent;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,.tabList__CuJ{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_tbUL,.alert__heading,.heading_unpT,.supheading_Wqow,.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{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--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:rgba(235,237,240,.15);--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:rgba(0,164,0,.15);--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:rgba(84,199,236,.15);--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:rgba(255,186,0,.15);--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:rgba(250,56,62,.15);--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{-webkit-text-decoration-color:var(--ifm-alert-border-color);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:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:-webkit-any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-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;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:transparent;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--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;list-style:none;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 transparent;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_S0QG>:last-child,.collapsibleContent_i85q>:last-child,.footer__items,.tabItem_Ymn6>:last-child{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,.title_f1Hy{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;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{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:"";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)}.form_ITRE,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:-webkit-sticky;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;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:hsla(0,0%,100%,.1);--ifm-navbar-search-input-placeholder-color:hsla(0,0%,100%,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:hsla(0,0%,100%,.05);--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:-ms-input-placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.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:rgba(0,0,0,.6);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{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,.sidebarItemLink_mo7H:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.DocSearch-Hit[aria-selected=true] mark,.content_knG7 a{text-decoration:underline}.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 transparent;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:hsla(0,0%,100%,.05);--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:hsla(0,0%,100%,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:hsla(0,0%,100%,.07);--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;--ifm-background-color:var(--ifm-color-gray-1000);--ifm-color-emphasis-50:#151719;--docsearch-searchbox-background:var(--ifm-color-gray-900)!important;--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-font-family-base:"Inter",sans-serif;--ifm-color-primary:#9333ea;--ifm-color-primary-dark:#8519e7;--ifm-color-primary-darker:#7e17dc;--ifm-color-primary-darkest:#6813b5;--ifm-color-primary-light:#a14ded;--ifm-color-primary-lighter:#a85aee;--ifm-color-primary-lightest:#bc81f2;--ifm-background-color:var(--ifm-color-gray-0);--ifm-navbar-background-color:var(--ifm-background-color);--ifm-footer-background-color:var(--ifm-background-color);--ifm-link-hover-decoration:none;--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.75rem;--ifm-pre-padding:1.5rem;--ifm-color-emphasis-50:#f9fafa;--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12);--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}#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}@supports (font-variation-settings:normal){:root{--ifm-font-family-base:"Inter var",sans-serif}}.docusaurus-highlight-code-line{background-color:rgba(0,0,0,.1);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.menu__link:not(.menu__link--active):hover,.navbar{background:none}[data-theme=dark] .docusaurus-highlight-code-line{background-color:rgba(0,0,0,.3)}.theme-doc-sidebar-container{border-right:none!important}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_b6E3,.navbar-sidebar__close,.pagination-nav,.sidebarLogo_isFc,.themedImage_ToTc,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.navbar{box-shadow:none;padding:0}.navbar__inner{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:hsla(0,0%,100%,.65);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}[data-theme=dark] .navbar__inner{background-color:rgba(0,0,0,.65)}.navbar__logo{height:36px}.navbar__link{font-size:.95rem}.navbar-sidebar{border-right:1px solid var(--ifm-color-emphasis-100)}.menu{padding:1rem!important}.container_mt6G,.menu__link,.sidebarItemList_Yudw{font-size:.9rem}.menu__link--sublist:after{transform:scale(.8)}.footer{padding-bottom:4rem}.button{--ifm-button-size-multiplier:1;font-size:calc(.5rem + .5rem*var(--ifm-button-size-multiplier));--ifm-button-color:var(--ifm-color-white)}.button--lg{--ifm-button-size-multiplier:1.2}.button--sm{--ifm-button-size-multiplier:0.8}.button--secondary{--ifm-button-color:var(--ifm-color-black)}.header-github-link:hover{opacity:.6}.header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;content:"";display:flex;height:24px;width:24px}html[data-theme=dark] .header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.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}.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] .themedImage--dark_i4oU,[data-theme=light] .themedImage--light_HNdA,html:not([data-theme]) .themedComponent--light_NU7w{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.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}.root_Mqqm{border-top:1px solid var(--ifm-color-emphasis-200);padding:50px 0 30px}.wrapper_d1Vi,.wrapper_dohI{align-items:center;display:flex;justify-content:space-between}.heading_q7SK{font-size:24px;margin-bottom:6px}.subheading_mjXf{color:var(--ifm-color-emphasis-600)}.input_xw7i,.input_xw7i:hover{border:1px solid var(--ifm-color-emphasis-400);color:var(--ifm-color-content);display:block;flex:1;margin-right:8px;min-width:0;text-align:left;width:340px}.input_xw7i:focus{outline-color:var(--ifm-color-primary)}.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}.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%}.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:hsla(0,0%,100%,.05);--docusaurus-collapse-button-bg-hover:hsla(0,0%,100%,.1)}.collapseSidebarButton_PEFL{display:none;margin:0}.docMainContainer_gTbr,.docPage__5DB{display:flex;width:100%}.docPage__5DB{flex:1 0}.docsWrapper_BCFX{display:flex;flex:1 0 auto}.root_AhId{margin:80px 0 100px}.heading_fnW7{font-size:40px;margin-bottom:0;text-align:center}.subheading_cJ8g{color:var(--ifm-color-emphasis-600);font-size:28px;font-weight:500;margin-top:8px;text-align:center}.features_ez_S{display:grid;gap:80px 60px;grid-template-columns:repeat(3,1fr);justify-content:center;margin-top:80px}.featureIcon_fDSv{fill:var(--ifm-color-primary);height:50px;width:50px}.featureTitle_ubQv{font-size:20px;margin-top:20px}.featureDescription_d4Zi{color:var(--ifm-color-emphasis-600);font-size:16px;margin-bottom:0}.root_Vlw6{margin:100px 0}.heading_NDJj{font-size:50px;font-weight:800;line-height:1.2}.supheading_Wqow{color:var(--ifm-color-primary);font-size:14px;font-weight:700;letter-spacing:1px;margin-bottom:10px}.subheading_epWx{color:var(--ifm-color-emphasis-600);font-size:24px;font-weight:500;line-height:1.2;margin-top:16px}.buttons_lPY8{margin-top:50px}.panelImage_wYPY{margin-top:20px;max-width:50%;width:100%}.panelImage_wYPY img{display:block}.root_rQXT{background:var(--ifm-color-emphasis-50);padding:40px 0}.heading_unpT{color:var(--ifm-color-primary);font-size:14px;font-weight:700;letter-spacing:1px;margin-bottom:20px;text-align:center}.languages_YWkp{display:grid;gap:20px 40px;grid-template-columns:repeat(6,auto);justify-content:center}.language_Pd3C{display:block;text-align:center}.languageIcon_eeCc{display:block;height:60px;width:60px}.languageName_kgzU{color:var(--ifm-color-emphasis-600);font-size:16px;font-weight:400;margin-bottom:0;margin-top:6px}.sidebar_re4s{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:-webkit-sticky;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_pO2u{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.sidebarItem__DBe{margin-top:.7rem}.sidebarItemLink_mo7H{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_I1ZP{color:var(--ifm-color-primary)!important}.authorCol_Hf19{flex-grow:1!important;max-width:inherit!important}.imageOnlyAuthorRow_pa_O{display:flex;flex-flow:row wrap}.DocSearch-Button,.DocSearch-Button-Container{align-items:center;display:flex}.imageOnlyAuthorCol_G86a{margin-left:.3rem;margin-right:.3rem}.DocSearch-Button{background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;user-select:none}.DocSearch-Footer,.DocSearch-Help{-webkit-user-select:none;-ms-user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Input,.DocSearch-Link{-webkit-appearance:none;font:inherit}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:0 0;border:0;color:var(--docsearch-text-color);flex:1;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Hit-action-button,.DocSearch-Reset{-webkit-appearance:none;border:0;cursor:pointer}.DocSearch-Input:-ms-input-placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards a;appearance:none;background:none;border-radius:50%;color:var(--docsearch-icon-color);padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:focus{outline:0}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:0 0}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border-radius:50%;color:inherit;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_vkbj a{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}@keyframes a{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container{z-index:calc(var(--ifm-z-index-fixed) + 1)}.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}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}: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:-webkit-sticky;position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.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}.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}.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}.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}.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;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:transparent transparent transparent 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)}.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;-ms-user-select:none;user-select:none}.hash-link:before{content:"#"}.containsTaskList_mC6p{list-style:none}.img_ev3q{height:auto}.admonition_LlT9{margin-bottom:1em}.admonitionHeading_tbUL{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.3rem}.admonitionHeading_tbUL code{text-transform:none}.admonitionIcon_kALy{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_kALy svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.blogPostFooterDetailsFull_mRVl{flex-direction:column}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:-webkit-sticky;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.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}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_m80_{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.searchBox_ZlJk{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:-webkit-sticky;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_BlDH,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_m80_:focus,.expandButton_m80_: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_m80_{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_BlDH{transform:rotate(180deg)}.docSidebarContainer_b6E3{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_b3ry{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_Xe31{height:100%;max-height:100vh;position:-webkit-sticky;position:sticky;top:0}.docMainContainer_gTbr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_Uz_u{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_czyv{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}}@media screen and (min-width:997px){.hidden--lg{display:none}}@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,.sidebar_re4s,.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}.searchBox_ZlJk{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media screen and (max-width:996px){.features_ez_S,.wrapper_dohI{text-align:center}.navbar__brand{flex:1;justify-content:center;margin-right:2rem}.footer__links{display:grid;grid-template-columns:repeat(2,1fr)}.hidden--sm{display:none}.wrapper_d1Vi,.wrapper_dohI{display:block}.wrapper_d1Vi form{margin-top:30px}.heading_q7SK{font-size:22px}.heading_fnW7{font-size:32px}.subheading_cJ8g{font-size:24px}.features_ez_S{grid-template-columns:repeat(1,1fr);padding:0 20px}.root_Vlw6{margin:72px 0}.heading_NDJj{font-size:34px}.panelImage_wYPY{margin-top:50px;max-width:100%;padding:0 20px}.languages_YWkp{grid-template-columns:repeat(3,auto)}}@media (max-width:750px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{-webkit-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_f1Hy{font-size:2rem}}@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 screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width);animation:none;-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}@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/assets/images/selenium-webdriver-architecture-dfeb30760c997a9cbe6ccb4a963b4d3c.png b/assets/images/selenium-webdriver-architecture-dfeb30760c997a9cbe6ccb4a963b4d3c.png new file mode 100644 index 0000000..c8c9a74 Binary files /dev/null and b/assets/images/selenium-webdriver-architecture-dfeb30760c997a9cbe6ccb4a963b4d3c.png differ diff --git a/assets/images/techs-used-eafbf8d333e38a8ecc097a22cbf1dce0.png b/assets/images/techs-used-eafbf8d333e38a8ecc097a22cbf1dce0.png new file mode 100644 index 0000000..c5f7745 Binary files /dev/null and b/assets/images/techs-used-eafbf8d333e38a8ecc097a22cbf1dce0.png differ diff --git a/assets/js/0032ee8c.7dedb95e.js b/assets/js/0032ee8c.7dedb95e.js new file mode 100644 index 0000000..8c37887 --- /dev/null +++ b/assets/js/0032ee8c.7dedb95e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[995],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return m}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var i=n.createContext({}),l=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):u(u({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(i.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),f=l(r),m=o,d=f["".concat(i,".").concat(m)]||f[m]||s[m]||a;return r?n.createElement(d,u(u({ref:t},p),{},{components:r})):n.createElement(d,u({ref:t},p))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,u=new Array(a);u[0]=f;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:o,u[1]=c;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var o=n.createContext({}),s=function(e){var t=n.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):u(u({},t),e)),r},c=function(e){var t=s(e.components);return n.createElement(o.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,o=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),d=s(r),f=a,m=d["".concat(o,".").concat(f)]||d[f]||p[f]||l;return r?n.createElement(m,u(u({ref:t},c),{},{components:r})):n.createElement(m,u({ref:t},c))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,u=new Array(l);u[0]=d;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i.mdxType="string"==typeof e?e:a,u[1]=i;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:r.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,r=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:c(r);return function(e){var t=(0,o.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,r])}function d(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,r=void 0!==t&&t,n=e.groupId,l=(0,u.k6)(),o=function(e){var t=e.queryString,r=void 0!==t&&t,n=e.groupId;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=n?n:null}({queryString:r,groupId:n});return[(0,i._X)(o),(0,a.useCallback)((function(e){if(o){var t=new URLSearchParams(l.location.search);t.set(o,e),l.replace(Object.assign({},l.location,{search:t.toString()}))}}),[o,l])]}function m(e){var t,r,n,l,u=e.defaultValue,i=e.queryString,o=void 0!==i&&i,c=e.groupId,m=p(e),v=(0,a.useState)((function(){return function(e){var t,r=e.defaultValue,n=e.tabValues;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(r){if(!d({value:r,tabValues:n}))throw new Error('Docusaurus error: The has a defaultValue "'+r+'" but none of its children has the corresponding value. Available values are: '+n.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return r}var a=null!=(t=n.find((function(e){return e.default})))?t:n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:u,tabValues:m})})),b=v[0],g=v[1],h=f({queryString:o,groupId:c}),k=h[0],y=h[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),r=(0,s.Nk)(t),n=r[0],l=r[1],[n,(0,a.useCallback)((function(e){t&&l.set(e)}),[t,l])]),T=w[0],N=w[1],E=function(){var e=null!=k?k:T;return d({value:e,tabValues:m})?e:null}();return(0,a.useLayoutEffect)((function(){E&&g(E)}),[E]),{selectedValue:b,selectValue:(0,a.useCallback)((function(e){if(!d({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);g(e),y(e),N(e)}),[y,N,m]),tabValues:m}}var v=r(2466),b=r(2389),g="tabList__CuJ",h="tabItem_LNqP";function k(e){var t=e.className,r=e.block,u=e.selectedValue,i=e.selectValue,o=e.tabValues,s=[],c=(0,v.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,r=s.indexOf(t),n=o[r].value;n!==u&&(c(t),i(n))},d=function(e){var t,r=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var n,a=s.indexOf(e.currentTarget)+1;r=null!=(n=s[a])?n:s[0];break;case"ArrowLeft":var l,u=s.indexOf(e.currentTarget)-1;r=null!=(l=s[u])?l:s[s.length-1]}null==(t=r)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":r},t)},o.map((function(e){var t=e.value,r=e.label,i=e.attributes;return a.createElement("li",(0,n.Z)({role:"tab",tabIndex:u===t?0:-1,"aria-selected":u===t,key:t,ref:function(e){return s.push(e)},onKeyDown:d,onClick:p},i,{className:(0,l.Z)("tabs__item",h,null==i?void 0:i.className,{"tabs__item--active":u===t})}),null!=r?r:t)})))}function y(e){var t=e.lazy,r=e.children,n=e.selectedValue,l=(Array.isArray(r)?r:[r]).filter(Boolean);if(t){var u=l.find((function(e){return e.props.value===n}));return u?(0,a.cloneElement)(u,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},l.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==n})})))}function w(e){var t=m(e);return a.createElement("div",{className:(0,l.Z)("tabs-container",g)},a.createElement(k,(0,n.Z)({},e,t)),a.createElement(y,(0,n.Z)({},e,t)))}function T(e){var t=(0,b.Z)();return a.createElement(w,(0,n.Z)({key:String(t)},e))}},9853:function(e,t,r){r.r(t),r.d(t,{assets:function(){return d},contentTitle:function(){return c},default:function(){return v},frontMatter:function(){return s},metadata:function(){return p},toc:function(){return f}});var n=r(7462),a=r(3366),l=(r(7294),r(3905)),u=r(4866),i=r(5162),o=["components"],s={id:"selcukes-reports",title:"Selcukes Reports",sidebar_position:6},c=void 0,p={unversionedId:"guides/selcukes-reports",id:"guides/selcukes-reports",title:"Selcukes Reports",description:"Selcukes Reports helps with below capabilities",source:"@site/docs/03_guides/selcukes-reports.md",sourceDirName:"03_guides",slug:"/guides/selcukes-reports",permalink:"/docs/guides/selcukes-reports",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/selcukes-reports.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{id:"selcukes-reports",title:"Selcukes Reports",sidebar_position:6},sidebar:"defaultSidebar",previous:{title:"Selcukes TestNG",permalink:"/docs/guides/selcukes-testng"},next:{title:"Video Recorder",permalink:"/docs/guides/video-recorder"}},d={},f=[{value:"Setup",id:"setup",level:2},{value:"Usage",id:"usage",level:2}],m={toc:f};function v(e){var t=e.components,r=(0,a.Z)(e,o);return(0,l.kt)("wrapper",(0,n.Z)({},m,r,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/selcukes-reports"},"Selcukes Reports")," helps with below capabilities"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Real-time Monitoring and Reporting"),(0,l.kt)("li",{parentName:"ul"},"Full-page Screenshot on Test Failure"),(0,l.kt)("li",{parentName:"ul"},"Video on Test Failure"),(0,l.kt)("li",{parentName:"ul"},"Microsoft Teams/Slack Notifications on Test Failure")),(0,l.kt)("h2",{id:"setup"},"Setup"),(0,l.kt)("p",null,"Selcukes Reports is primarily used as a Java dependency . We typically use a ",(0,l.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,l.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,l.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Selcukes Reports\ndependency."),(0,l.kt)(u.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,l.kt)(i.Z,{value:"maven",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n selcukes-reports\n ${selcukes.version}\n\n"))),(0,l.kt)(i.Z,{value:"gradle",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:selcukes-reports:${selcukes.version}")\n}\n')))),(0,l.kt)("h2",{id:"usage"},"Usage"),(0,l.kt)("p",null,"Add ",(0,l.kt)("inlineCode",{parentName:"p"},"selcukes.yaml")," file in ",(0,l.kt)("inlineCode",{parentName:"p"},"src/test/resource")," folder and update below video configuration as required"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-yaml"},"reports:\n emailReport: true\n htmlReport: true\n path: build\n fileName: index\n timestamp: false\nvideo:\n recording: false\n type: MONTE\n ffmpegPath:\n watermark: false\nnotifier:\n notification: false\n type: slack\n webhookToken: WEBHOOKXXXX\n apiToken: APIXXXX\n channel: selcukes\n authorIcon: https://github.com/rameshbabuprudhvi.png\n")),(0,l.kt)("p",null,"Create a test class as follows"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-java"},'public class RecorderTest {\n private final Logger logger = LoggerFactory.getLogger(getClass());\n private WebDriver driver;\n private ScreenPlay screenPlay;\n\n @BeforeTest\n public void beforeTest() {\n driver = new LocalDriver().createWebDriver(CHROME);\n driver.manage().window().maximize();\n screenPlay = ScreenPlayBuilder\n .getScreenPlay(driver)\n .withRecorder(RecorderType.FFMPEG)\n .start();\n }\n\n @Test\n public void loginTest() {\n driver.get("http://www.princexml.com/samples/");\n logger.debug(driver::getTitle);\n Assert.assertTrue(driver.findElement(By.xpath("//a[contains(@href,\'dictionary.pdf\')]")).isDisplayed());\n driver.findElement(By.xpath("//a[contains(@href,\'dictionary.pdf\')]")).click();\n Assert.assertTrue(driver.getCurrentUrl().contains(".pdf"));\n }\n\n @AfterMethod\n public void afterMethod(ITestResult result) {\n screenPlay\n .withResult(result)\n .ignoreCondition()\n .attachScreenshot()\n .withNotifier(NotifierType.SLACK) //Default Notifier is TEAMS\n .sendNotification("This is sample Test Step");\n\n }\n\n @AfterTest\n public void afterTest() {\n if (driver != null)\n driver.quit();\n screenPlay\n .attachVideo()\n .attachLogs();\n }\n}\n')))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0e0535b1.34691241.js b/assets/js/0e0535b1.34691241.js new file mode 100644 index 0000000..61562cb --- /dev/null +++ b/assets/js/0e0535b1.34691241.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[51],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,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 o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var i=r.createContext({}),s=function(e){var t=r.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=s(e.components);return r.createElement(i.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,i=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),d=s(n),m=a,f=d["".concat(i,".").concat(m)]||d[m]||p[m]||l;return n?r.createElement(f,o(o({ref:t},c),{},{components:n})):r.createElement(f,o({ref:t},c))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,o=new Array(l);o[0]=d;var u={};for(var i in t)hasOwnProperty.call(t,i)&&(u[i]=t[i]);u.originalType=e,u.mdxType="string"==typeof e?e:a,o[1]=u;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,n=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:c(n);return function(e){var t=(0,i.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function d(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function m(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId,l=(0,o.k6)(),i=function(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=r?r:null}({queryString:n,groupId:r});return[(0,u._X)(i),(0,a.useCallback)((function(e){if(i){var t=new URLSearchParams(l.location.search);t.set(i,e),l.replace(Object.assign({},l.location,{search:t.toString()}))}}),[i,l])]}function f(e){var t,n,r,l,o=e.defaultValue,u=e.queryString,i=void 0!==u&&u,c=e.groupId,f=p(e),h=(0,a.useState)((function(){return function(e){var t,n=e.defaultValue,r=e.tabValues;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!d({value:n,tabValues:r}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+r.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var a=null!=(t=r.find((function(e){return e.default})))?t:r[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:o,tabValues:f})})),v=h[0],g=h[1],k=m({queryString:i,groupId:c}),b=k[0],y=k[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),n=(0,s.Nk)(t),r=n[0],l=n[1],[r,(0,a.useCallback)((function(e){t&&l.set(e)}),[t,l])]),N=w[0],E=w[1],I=function(){var e=null!=b?b:N;return d({value:e,tabValues:f})?e:null}();return(0,a.useLayoutEffect)((function(){I&&g(I)}),[I]),{selectedValue:v,selectValue:(0,a.useCallback)((function(e){if(!d({value:e,tabValues:f}))throw new Error("Can't select invalid tab value="+e);g(e),y(e),E(e)}),[y,E,f]),tabValues:f}}var h=n(2466),v=n(2389),g="tabList__CuJ",k="tabItem_LNqP";function b(e){var t=e.className,n=e.block,o=e.selectedValue,u=e.selectValue,i=e.tabValues,s=[],c=(0,h.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,n=s.indexOf(t),r=i[n].value;r!==o&&(c(t),u(r))},d=function(e){var t,n=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var r,a=s.indexOf(e.currentTarget)+1;n=null!=(r=s[a])?r:s[0];break;case"ArrowLeft":var l,o=s.indexOf(e.currentTarget)-1;n=null!=(l=s[o])?l:s[s.length-1]}null==(t=n)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":n},t)},i.map((function(e){var t=e.value,n=e.label,u=e.attributes;return a.createElement("li",(0,r.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:function(e){return s.push(e)},onKeyDown:d,onClick:p},u,{className:(0,l.Z)("tabs__item",k,null==u?void 0:u.className,{"tabs__item--active":o===t})}),null!=n?n:t)})))}function y(e){var t=e.lazy,n=e.children,r=e.selectedValue,l=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var o=l.find((function(e){return e.props.value===r}));return o?(0,a.cloneElement)(o,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},l.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==r})})))}function w(e){var t=f(e);return a.createElement("div",{className:(0,l.Z)("tabs-container",g)},a.createElement(b,(0,r.Z)({},e,t)),a.createElement(y,(0,r.Z)({},e,t)))}function N(e){var t=(0,v.Z)();return a.createElement(w,(0,r.Z)({key:String(t)},e))}},7049:function(e,t,n){n.r(t),n.d(t,{assets:function(){return c},contentTitle:function(){return i},default:function(){return m},frontMatter:function(){return u},metadata:function(){return s},toc:function(){return p}});var r=n(7462),a=n(3366),l=(n(7294),n(3905)),o=(n(4866),n(5162),["components"]),u={slug:"/"},i="Introduction",s={unversionedId:"intro",id:"intro",title:"Introduction",description:"Selcukes is a powerful open-source testing library for web, mobile, desktop applications, and API endpoints, designed to create scalable and high-quality automated tests.",source:"@site/docs/01_intro.mdx",sourceDirName:".",slug:"/",permalink:"/docs/",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/01_intro.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{slug:"/"},sidebar:"defaultSidebar",next:{title:"Web Test",permalink:"/docs/test/web-test"}},c={},p=[{value:"Features",id:"features",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Install Node LTS",id:"install-node-lts",level:4},{value:"Install Appium",id:"install-appium",level:4},{value:"Install Appium Doctor",id:"install-appium-doctor",level:4},{value:"Java 11",id:"java-11",level:4},{value:"IDE",id:"ide",level:4},{value:"A Build Tool",id:"a-build-tool",level:4},{value:"Quick Start",id:"quick-start",level:3},{value:"So far so good?",id:"so-far-so-good",level:4}],d={toc:p};function m(e){var t=e.components,u=(0,a.Z)(e,o);return(0,l.kt)("wrapper",(0,r.Z)({},d,u,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"introduction"},"Introduction"),(0,l.kt)("p",null,"Selcukes is a powerful open-source testing library for web, mobile, desktop applications, and API endpoints, designed to create scalable and high-quality automated tests."),(0,l.kt)("h2",{id:"features"},"Features"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Easy addition of new test logic without causing regression issues"),(0,l.kt)("li",{parentName:"ul"},"Complete control over the execution workflow, including browser changes and reuse"),(0,l.kt)("li",{parentName:"ul"},"Retry of failing tests to confirm issues"),(0,l.kt)("li",{parentName:"ul"},"UI automation on real devices or emulators"),(0,l.kt)("li",{parentName:"ul"},"Cross-platform screenshot and video recording on test failure for efficient debugging")),(0,l.kt)("p",null,"In summary, Selcukes is a reliable and customizable testing solution that streamlines the testing process and improves application quality."),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"Technologies",src:n(1533).Z,width:"1818",height:"1122"})),(0,l.kt)("h2",{id:"getting-started"},"Getting Started"),(0,l.kt)("p",null,"Before you start, you will need to install a few prerequisites."),(0,l.kt)("h4",{id:"install-node-lts"},"Install Node LTS"),(0,l.kt)("p",null,"You can download the ",(0,l.kt)("a",{parentName:"p",href:"https://nodejs.org/en/"},"installer")," for Windows, use",(0,l.kt)("a",{parentName:"p",href:"https://brew.sh/"},"Homebrew")," or run the command below on Linux:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"sudo apt install nodejs\n")),(0,l.kt)("h4",{id:"install-appium"},"Install Appium"),(0,l.kt)("p",null,"Install Appium from the command prompt or terminal by running:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"npm install -g appium\n")),(0,l.kt)("p",null,"Confirm the installation by running the following command:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"appium -v\n")),(0,l.kt)("h4",{id:"install-appium-doctor"},"Install Appium Doctor"),(0,l.kt)("p",null,"To validate if all the setup is done correctly to run your tests with Appium, install Appium Doctor by running the following command:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"npm install -g appium-doctor\n")),(0,l.kt)("p",null,"Run the following commands to check the setup for Android and iOS:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"appium-doctor --android\nappium-doctor --ios\n")),(0,l.kt)("p",null," This command will check if the setup is done correctly. If there are any issues with the mandatory components, it will try to fix them automatically. If it can\u2019t fix them on its own, it will mention the steps to follow to fix the issues."),(0,l.kt)("h4",{id:"java-11"},"Java 11"),(0,l.kt)("p",null,"Since Selcukes uses Java 11, make sure you have a ",(0,l.kt)("a",{parentName:"p",href:"http://www.oracle.com/technetwork/java/javase/downloads/index.html"},"JDK 11 or later")," installed."),(0,l.kt)("h4",{id:"ide"},"IDE"),(0,l.kt)("p",null,"You will need a modern IDE such as ",(0,l.kt)("a",{parentName:"p",href:"https://www.jetbrains.com/idea/download"},"IntelliJ")," or Eclipse to work with Java."),(0,l.kt)("h4",{id:"a-build-tool"},"A Build Tool"),(0,l.kt)("p",null,"You will need either ",(0,l.kt)("a",{parentName:"p",href:"http://www.gradle.org/downloads"},"Gradle 3.x or higher")," or ",(0,l.kt)("a",{parentName:"p",href:"https://maven.apache.org/download.cgi"},"Maven 3.3.x or higher")," to run your tests and generate reports."),(0,l.kt)("h3",{id:"quick-start"},"Quick Start"),(0,l.kt)("p",null,"To quickly create a new project, clone the starter project from the ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java-skeleton"},"selcukes-java-skeleton")," repository on GitHub."),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"git clone https://github.com/selcukes/selcukes-java-skeleton.git\ncd selcukes-java-skeleton\n")),(0,l.kt)("p",null,"Alternatively, you can download a zip file from ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java-skeleton/archive/master.zip"},"here"),"."),(0,l.kt)("h4",{id:"so-far-so-good"},"So far so good?"),(0,l.kt)("p",null,"The starter project comes with a demo test that you can run.\nTo run the test from the command line, run either:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"$ mvn clean verify\n")),(0,l.kt)("p",null,"or"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"$ gradle clean test\n")),(0,l.kt)("p",null,"That's it! You're now ready to start creating and running automated tests with Selcukes."))}m.isMDXComponent=!0},1533:function(e,t,n){t.Z=n.p+"assets/images/techs-used-eafbf8d333e38a8ecc097a22cbf1dce0.png"}}]); \ No newline at end of file diff --git a/assets/js/0e33704a.7264411f.js b/assets/js/0e33704a.7264411f.js new file mode 100644 index 0000000..a29627f --- /dev/null +++ b/assets/js/0e33704a.7264411f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[504],{5745:function(e){e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/11e0564c.b10c923a.js b/assets/js/11e0564c.b10c923a.js new file mode 100644 index 0000000..f5d5a14 --- /dev/null +++ b/assets/js/11e0564c.b10c923a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[979],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return m}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),u=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},p=function(e){var t=u(e.components);return n.createElement(o.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,s=e.originalType,o=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(a),m=r,f=d["".concat(o,".").concat(m)]||d[m]||c[m]||s;return a?n.createElement(f,l(l({ref:t},p),{},{components:a})):n.createElement(f,l({ref:t},p))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=a.length,l=new Array(s);l[0]=d;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i.mdxType="string"==typeof e?e:r,l[1]=i;for(var u=2;u child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:a.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function c(e){var t=e.values,a=e.children;return(0,r.useMemo)((function(){var e=null!=t?t:p(a);return function(e){var t=(0,o.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,a])}function d(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function m(e){var t=e.queryString,a=void 0!==t&&t,n=e.groupId,s=(0,l.k6)(),o=function(e){var t=e.queryString,a=void 0!==t&&t,n=e.groupId;if("string"==typeof a)return a;if(!1===a)return null;if(!0===a&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=n?n:null}({queryString:a,groupId:n});return[(0,i._X)(o),(0,r.useCallback)((function(e){if(o){var t=new URLSearchParams(s.location.search);t.set(o,e),s.replace(Object.assign({},s.location,{search:t.toString()}))}}),[o,s])]}function f(e){var t,a,n,s,l=e.defaultValue,i=e.queryString,o=void 0!==i&&i,p=e.groupId,f=c(e),g=(0,r.useState)((function(){return function(e){var t,a=e.defaultValue,n=e.tabValues;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(a){if(!d({value:a,tabValues:n}))throw new Error('Docusaurus error: The has a defaultValue "'+a+'" but none of its children has the corresponding value. Available values are: '+n.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return a}var r=null!=(t=n.find((function(e){return e.default})))?t:n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:l,tabValues:f})})),h=g[0],k=g[1],v=m({queryString:o,groupId:p}),b=v[0],y=v[1],N=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:p}.groupId),a=(0,u.Nk)(t),n=a[0],s=a[1],[n,(0,r.useCallback)((function(e){t&&s.set(e)}),[t,s])]),S=N[0],D=N[1],w=function(){var e=null!=b?b:S;return d({value:e,tabValues:f})?e:null}();return(0,r.useLayoutEffect)((function(){w&&k(w)}),[w]),{selectedValue:h,selectValue:(0,r.useCallback)((function(e){if(!d({value:e,tabValues:f}))throw new Error("Can't select invalid tab value="+e);k(e),y(e),D(e)}),[y,D,f]),tabValues:f}}var g=a(2466),h=a(2389),k="tabList__CuJ",v="tabItem_LNqP";function b(e){var t=e.className,a=e.block,l=e.selectedValue,i=e.selectValue,o=e.tabValues,u=[],p=(0,g.o5)().blockElementScrollPositionUntilNextRender,c=function(e){var t=e.currentTarget,a=u.indexOf(t),n=o[a].value;n!==l&&(p(t),i(n))},d=function(e){var t,a=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":var n,r=u.indexOf(e.currentTarget)+1;a=null!=(n=u[r])?n:u[0];break;case"ArrowLeft":var s,l=u.indexOf(e.currentTarget)-1;a=null!=(s=u[l])?s:u[u.length-1]}null==(t=a)||t.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":a},t)},o.map((function(e){var t=e.value,a=e.label,i=e.attributes;return r.createElement("li",(0,n.Z)({role:"tab",tabIndex:l===t?0:-1,"aria-selected":l===t,key:t,ref:function(e){return u.push(e)},onKeyDown:d,onClick:c},i,{className:(0,s.Z)("tabs__item",v,null==i?void 0:i.className,{"tabs__item--active":l===t})}),null!=a?a:t)})))}function y(e){var t=e.lazy,a=e.children,n=e.selectedValue,s=(Array.isArray(a)?a:[a]).filter(Boolean);if(t){var l=s.find((function(e){return e.props.value===n}));return l?(0,r.cloneElement)(l,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},s.map((function(e,t){return(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==n})})))}function N(e){var t=f(e);return r.createElement("div",{className:(0,s.Z)("tabs-container",k)},r.createElement(b,(0,n.Z)({},e,t)),r.createElement(y,(0,n.Z)({},e,t)))}function S(e){var t=(0,h.Z)();return r.createElement(N,(0,n.Z)({key:String(t)},e))}},4264:function(e,t,a){a.r(t),a.d(t,{assets:function(){return d},contentTitle:function(){return p},default:function(){return g},frontMatter:function(){return u},metadata:function(){return c},toc:function(){return m}});var n=a(7462),r=a(3366),s=(a(7294),a(3905)),l=a(4866),i=a(5162),o=["components"],u={id:"data-bind",title:"Selcukes Databind",sidebar_position:1},p=void 0,c={unversionedId:"guides/data-bind",id:"guides/data-bind",title:"Selcukes Databind",description:"Selcukes DataBind helps to parser JSON, YML, XML, CSV, Properties and Excel files.",source:"@site/docs/03_guides/data-bind.md",sourceDirName:"03_guides",slug:"/guides/data-bind",permalink:"/docs/guides/data-bind",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/data-bind.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"data-bind",title:"Selcukes Databind",sidebar_position:1},sidebar:"defaultSidebar",previous:{title:"Api Test",permalink:"/docs/test/api-test"},next:{title:"Extent Reports",permalink:"/docs/guides/extent-reports"}},d={},m=[{value:"Setup",id:"setup",level:2},{value:"Data Mapper",id:"data-mapper",level:2},{value:"DataFile Lookup Strategy",id:"datafile-lookup-strategy",level:3},{value:"Read data files",id:"read-data-files",level:3},{value:"Update data files",id:"update-data-files",level:3},{value:"Write data files",id:"write-data-files",level:3},{value:"ExcelMapper",id:"excelmapper",level:2},{value:"Converter",id:"converter",level:3},{value:"Substitutor",id:"substitutor",level:3},{value:"PropertiesMapper",id:"propertiesmapper",level:2},{value:"CsvMapper",id:"csvmapper",level:2},{value:"Parsing CSV Files",id:"parsing-csv-files",level:3}],f={toc:m};function g(e){var t=e.components,a=(0,r.Z)(e,o);return(0,s.kt)("wrapper",(0,n.Z)({},f,a,{components:t,mdxType:"MDXLayout"}),(0,s.kt)("p",null,(0,s.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/selcukes-databind"},"Selcukes DataBind")," helps to parser JSON, YML, XML, CSV, Properties and Excel files."),(0,s.kt)("h2",{id:"setup"},"Setup"),(0,s.kt)("p",null,"Selcukes Databind is primarily used as a Java dependency . We typically use a ",(0,s.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,s.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,s.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Selcukes Databind dependency."),(0,s.kt)(l.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,s.kt)(i.Z,{value:"maven",mdxType:"TabItem"},(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n selcukes-databind\n ${selcukes.version}\n\n"))),(0,s.kt)(i.Z,{value:"gradle",mdxType:"TabItem"},(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:selcukes-databind:${selcukes.version}")\n}\n')))),(0,s.kt)("admonition",{type:"note"},(0,s.kt)("p",{parentName:"admonition"},"Selcukes DataBind is a transitive Dependency of ",(0,s.kt)("inlineCode",{parentName:"p"},"selcukes-commons"),".If you are using ",(0,s.kt)("inlineCode",{parentName:"p"},"selcukes-commons"),", then\nignore adding this dependency explicitly.")),(0,s.kt)("h2",{id:"data-mapper"},"Data Mapper"),(0,s.kt)("p",null,"DataMapper object helps to read and write Json , xml or yaml/yml files with ",(0,s.kt)("inlineCode",{parentName:"p"},"@DataFile")," annotation."),(0,s.kt)("h3",{id:"datafile-lookup-strategy"},"DataFile Lookup Strategy"),(0,s.kt)("p",null,"The ",(0,s.kt)("inlineCode",{parentName:"p"},"DataMapper")," uses a specific strategy to locate the appropriate data files in the test resource folder. This strategy is based on converting the POJO class name to a SnakeCase JSON or YAML/YML file."),(0,s.kt)("p",null,"For example, for the POJO class ",(0,s.kt)("inlineCode",{parentName:"p"},"TestUsers.java"),", the matching test data files would be test_users.json, test_users.xml, test_users.yml, or test_users.yaml"),(0,s.kt)("p",null,(0,s.kt)("inlineCode",{parentName:"p"},"@DataFile")," annotation also takes additional attributes as follows"),(0,s.kt)("ul",null,(0,s.kt)("li",{parentName:"ul"},"fileName : This attribute allows you to specify a custom data file name, such as ",(0,s.kt)("inlineCode",{parentName:"li"},"sample_data.json")),(0,s.kt)("li",{parentName:"ul"},"filePath : This attribute is used to specify the path where the data file is located, such as ",(0,s.kt)("inlineCode",{parentName:"li"},"src/main/resources"),"."),(0,s.kt)("li",{parentName:"ul"},"streamLoader: This attribute is set to false by default. If set to true, the DataMapper loads data files from the class loader, which allows for reading from a JAR file.",(0,s.kt)("admonition",{parentName:"li",type:"note"},(0,s.kt)("p",{parentName:"admonition"},"If you enable ",(0,s.kt)("inlineCode",{parentName:"p"},"streamLoader"),", then the ",(0,s.kt)("inlineCode",{parentName:"p"},"fileName")," attribute is mandatory.")))),(0,s.kt)("h3",{id:"read-data-files"},"Read data files"),(0,s.kt)("p",null,"To illustrate how to read data files using the DataMapper object, let's consider the ",(0,s.kt)("inlineCode",{parentName:"p"},"test_users.json")," file below:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-json"},'{\n "users": [\n {\n "username": "MyName",\n "password": "things"\n },\n {\n "username": "TestName",\n "password": "eggs"\n }\n ]\n}\n')),(0,s.kt)("p",null,"First, we define a POJO class with the ",(0,s.kt)("inlineCode",{parentName:"p"},"@DataFile")," annotation:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"\n@Data\n@DataFile\nstatic class TestUsers {\n List users;\n}\n")),(0,s.kt)("p",null,"Then, we create our User class:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"\n@Data\nstatic class User {\n private String username;\n private String password;\n\n}\n")),(0,s.kt)("p",null,"To read the ",(0,s.kt)("inlineCode",{parentName:"p"},"test_users.json")," file into a TestUsers object using DataMapper, we use the following code:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"final TestUsers testUsers=DataMapper.parse(TestUsers.class);\n")),(0,s.kt)("p",null,"Our ",(0,s.kt)("inlineCode",{parentName:"p"},"TestUsers")," object is now populated with the data from the file, including the list of User."),(0,s.kt)("p",null,"The following code demonstrates a full example of how to parse and read the ",(0,s.kt)("inlineCode",{parentName:"p"},"test_users.json")," file:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class ReadDataFileTest {\n @DataProvider\n public Iterator getTestUsers() {\n final TestUsers testUsers = DataMapper.parse(TestUsers.class);\n final List data = new ArrayList<>();\n testUsers.getUsers()\n .forEach(user -> data.add(new Object[]{user}));\n return data.iterator();\n }\n\n @Test(dataProvider = "getTestUsers")\n public void jsonTest(User user) {\n Assert.assertFalse(user.getUsername().isBlank());\n System.out.println("Username[" + user.getUsername() + "] Password[" + user.getPassword() + "]");\n }\n\n @Data\n @DataFile\n static class TestUsers {\n List users;\n }\n\n @Data\n static class User {\n private String username;\n private String password;\n\n }\n}\n')),(0,s.kt)("h3",{id:"update-data-files"},"Update data files"),(0,s.kt)("p",null,"In addition to reading data files, DataMapper can also update them. Let's take a look at how to do this with a YAML file, ",(0,s.kt)("inlineCode",{parentName:"p"},"test_sample.yml"),"."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},'users:\n user1:\n username: "Ramesh"\n password: "4177472e-23a3-4426-893f-8a794af7189c"\n user2:\n username: "Babu"\n password: "40aafad2-1d24-4d6c-85e2-b7630dc17c57"\n')),(0,s.kt)("p",null,"First, we define the POJO class with ",(0,s.kt)("inlineCode",{parentName:"p"},"@DataFile")," annotation."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'\n@Data\n@DataFile(fileName = "test_sample.yml")\nstatic class TestSample {\n Map> users;\n}\n')),(0,s.kt)("p",null,"To update the values in the test_sample.yml file, we first read the file into a TestSample object:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"UUID uuid=UUID.randomUUID();\nTestSample testSample=DataMapper.parse(TestSample.class);\n")),(0,s.kt)("p",null,'We can then modify the values in the TestSample object as desired. For example, let\'s update the password for "user1" to a new UUID:'),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'testSample.getUsers().get("user1").put("password", uuid.toString());\n')),(0,s.kt)("p",null,"Finally, we can write the updated TestSample object back to the ",(0,s.kt)("inlineCode",{parentName:"p"},"test_sample.yml")," file:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"DataMapper.write(testSample);\n")),(0,s.kt)("p",null,"Here is the complete example code for updating and writing to the ",(0,s.kt)("inlineCode",{parentName:"p"},"test_sample.yml")," file:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class UpdateDataFileTest {\n @SneakyThrows\n @Test\n public void testClass() {\n UUID uuid = UUID.randomUUID();\n TestSample testSample = DataMapper.parse(TestSample.class);\n testSample.getUsers().get("user1").put("password", uuid.toString());\n DataMapper.write(testSample);\n }\n\n @Data\n @DataFile(fileName = "test_sample.yml")\n static class TestSample {\n Map> users;\n }\n}\n')),(0,s.kt)("h3",{id:"write-data-files"},"Write data files"),(0,s.kt)("p",null,"We'll use DataMapper to write a ",(0,s.kt)("inlineCode",{parentName:"p"},"Customer")," object to a data file. If the file doesn't exist, it will create a new one."),(0,s.kt)("p",null,"Let's create ",(0,s.kt)("inlineCode",{parentName:"p"},"Customer")," POJO class"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'\n@Data\n@DataFile(fileName = "customer.yml")\nstatic class Customer {\n String firstName;\n String lastName;\n int age;\n List
contactDetails;\n}\n\n@Data\nstatic class Details {\n String type;\n String number;\n}\n')),(0,s.kt)("p",null,"Next, let's create a Customer object:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'Details details1=new Details();\ndetails1.setNumber("512");\ndetails1.setType("CSM");\n\nDetails details2=new Details();\ndetails2.setNumber("123");\ndetails2.setType("A-CSM");\n\nCustomer customer=new Customer();\ncustomer.setAge(5);\ncustomer.setFirstName("Mark");\ncustomer.setLastName("Jones");\ncustomer.setContactDetails(List.of(details1,details2));\n')),(0,s.kt)("p",null,"Now, let's use the ",(0,s.kt)("inlineCode",{parentName:"p"},"write")," method to write the Customer to a YAML file:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"DataMapper.write(customer);\n")),(0,s.kt)("p",null,"The resulting ",(0,s.kt)("inlineCode",{parentName:"p"},"customer.yml")," file will look like this:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},'firstName: "Mark"\nlastName: "Jones"\nage: 5\ncontactDetails:\n - type: "CSM"\n number: "512"\n - type: "A-CSM"\n number: "123"\n')),(0,s.kt)("p",null,"Here is full example code to create data file."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class CreateDataFileTest {\n\n @Test\n public void createDataFileTest() {\n Details details1 = new Details();\n details1.setNumber("512");\n details1.setType("CSM");\n\n Details details2 = new Details();\n details2.setNumber("123");\n details2.setType("A-CSM");\n\n Customer customer = new Customer();\n customer.setAge(5);\n customer.setFirstName("Mark");\n customer.setLastName("Jones");\n customer.setContactDetails(List.of(details1, details2));\n\n DataMapper.write(customer);\n\n Customer newCustomer = DataMapper.parse(Customer.class);\n newCustomer.getContactDetails().forEach(details -> System.out.println(details.getType() + " : " + details.getNumber()));\n }\n\n @Data\n @DataFile(fileName = "customer.yml")\n static class Customer {\n String firstName;\n String lastName;\n int age;\n List
contactDetails;\n }\n\n @Data\n static class Details {\n String type;\n String number;\n }\n\n}\n')),(0,s.kt)("h2",{id:"excelmapper"},"ExcelMapper"),(0,s.kt)("p",null,"ExcelMapper is used to parse Excel sheet to Stream of entity classes."),(0,s.kt)("p",null,"Here is an example usage of reading Excel sheet."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class ReadExcelTest { \n @Data\n @DataFile(fileName = "TestData.xlsx", sheetName = "Yahoo")\n static class TestData {\n @Key(name = "First Name")\n String firstName;\n @Key(name = "Last Name")\n String lastName;\n @Key(name = "DOB", format = "MM-dd-yyyy")\n LocalDate dob;\n String location;\n\n }\n\n @Test\n public void excelMapperTest() {\n Stream dataStream = ExcelMapper.parse(TestData.class);\n dataStream.forEach(System.out::println);\n }\n}\n')),(0,s.kt)("p",null,"In the above example, We have provided Excel file name and sheet name as input in ",(0,s.kt)("inlineCode",{parentName:"p"},"@DataFile")," annotation. "),(0,s.kt)("p",null,"As explained in the ",(0,s.kt)("inlineCode",{parentName:"p"},"DataMapper")," section, the fileName attribute is optional - by default, ExcelMapper will look for a datafile name as the SnakeCase of the entity class name followed by xlsx as a suffix. The sheetName attribute is also optional. By default, the first sheet name in the Excel file is used."),(0,s.kt)("p",null,"To map fields, you can use ",(0,s.kt)("inlineCode",{parentName:"p"},"@Key")," annotation."),(0,s.kt)("h3",{id:"converter"},"Converter"),(0,s.kt)("p",null,"ExcelMapper provides way to convert field values with custom converter."),(0,s.kt)("p",null,"To use custom converter, you should specify its class via ",(0,s.kt)("inlineCode",{parentName:"p"},"@Key")," annotation."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'@Key(name = "Tags", converter = ListOfStringConverter.class)\nprivate List data;\n')),(0,s.kt)("p",null,"And the actual implementation may look like the following:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class ListOfStringConverter extends DefaultConverter> {\n @Override\n public List convert(final String value) {\n return asList(value.split(","));\n }\n}\n')),(0,s.kt)("p",null,"Custom converters must extend ",(0,s.kt)("inlineCode",{parentName:"p"},"DefaultConverter")," class.\nAlso note that by default ",(0,s.kt)("inlineCode",{parentName:"p"},"ExcelMapper")," uses an implicit conversion based on the field type.\nSo you don't have to explicitly specify a converter if it's among the defaults."),(0,s.kt)("h3",{id:"substitutor"},"Substitutor"),(0,s.kt)("p",null,"Similar to converters, ",(0,s.kt)("inlineCode",{parentName:"p"},"ExcelMapper")," allows you to substitute field value prior to parsing Excel sheet"),(0,s.kt)("p",null,"Consider, we have given Excel field values as ",(0,s.kt)("inlineCode",{parentName:"p"},"${DATE}")," in Excel file. On the fly this field value will be converted to current date and ensure the value assigned to respective field."),(0,s.kt)("p",null,"This can be achieved with the help of ",(0,s.kt)("inlineCode",{parentName:"p"},"@Interpolate")," annotation. "),(0,s.kt)("p",null,"ExcelMapper allows you to use custom substitutor."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"public class FakerDataSubstitutor extends DefaultSubstitutor {\n @Override\n public String replace(String strToReplace, final String format) {\n\n return FakerUtils.substitute(strToReplace);\n }\n}\n")),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class ReadExcelTest {\n @Interpolate(substitutor = FakerDataSubstitutor.class)\n @Data\n @DataFile(fileName = "TestData.xlsx", sheetName = "Yahoo")\n static class TestData {\n @Key(name = "First Name")\n String firstName;\n @Key(name = "Last Name")\n String lastName;\n @Key(name = "DOB", format = "MM-dd-yyyy")\n LocalDate dob;\n String location;\n\n }\n\n @Test\n public void interpolateExcelMapperTest() {\n Stream dataStream = ExcelMapper.parse(TestData.class);\n dataStream.forEach(System.out::println);\n }\n}\n')),(0,s.kt)("h2",{id:"propertiesmapper"},"PropertiesMapper"),(0,s.kt)("p",null,"PropertiesMapper is used to parse a ",(0,s.kt)("inlineCode",{parentName:"p"},".properties")," file into a set of entity classes."),(0,s.kt)("p",null,"In the following example, we have a ",(0,s.kt)("inlineCode",{parentName:"p"},"test_config.properties")," file containing some properties:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-properties",metastring:'title="test_config.properties"',title:'"test_config.properties"'},"userName=Ramesh\npassword=make\nisTest=true\nosName=${os.name}\ndate=${date}\nhelloDate=12/12/2022\nselcukes.jim=50\nmass=jim,jil\n")),(0,s.kt)("p",null,"We can then use ",(0,s.kt)("inlineCode",{parentName:"p"},"PropertiesMapper")," to map these properties to a TestConfig object:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class PropertiesMapperTest {\n\n @Test\n public void testProperties() {\n var testConfig = PropertiesMapper.parse(TestConfig.class);\n System.out.println(testConfig.getUserName());\n if (testConfig.isTest())\n System.out.println(testConfig.getDate());\n System.out.println(testConfig.getOsName());\n System.out.println(testConfig.getJim());\n System.out.println(testConfig.getMass());\n System.out.println(testConfig.getHelloDate());\n\n }\n\n @Interpolate(substitutor = StringSubstitutor.class)\n @DataFile\n @Data\n static class TestConfig {\n String userName;\n String password;\n boolean isTest;\n String osName;\n LocalDate date;\n @Key(name = "helloDate", format = "MM/dd/yyyy")\n LocalDate helloDate;\n @Key(name = "selcukes.jim")\n int jim;\n @Key(name = "mass", converter = ListOfStringConverter.class)\n List mass;\n }\n\n}\n')),(0,s.kt)("p",null,"In this example, we have defined a TestConfig class with properties that match those defined in the test_config.properties file. We have also used the @Interpolate annotation to enable property interpolation using the StringSubstitutor class."),(0,s.kt)("p",null,"We can then call PropertiesMapper.parse(TestConfig.class) to parse the properties file into a TestConfig object."),(0,s.kt)("p",null,"Note that we have also used the @Key annotation to specify the mapping between property names and class fields. We have also used the @DataFile annotation to indicate that the data source is a file. Finally, we have used the @Data annotation to indicate that this is a data object that should be parsed by PropertiesMapper."),(0,s.kt)("h2",{id:"csvmapper"},"CsvMapper"),(0,s.kt)("p",null,"CsvMapper is a utility class that provides methods to parse CSV files into DataTables. "),(0,s.kt)("h3",{id:"parsing-csv-files"},"Parsing CSV Files"),(0,s.kt)("p",null,"To parse a CSV file, call the parse method, passing in the file path and, optionally, a regular expression to split the CSV lines by:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'Path filePath = Paths.get("path/to/file.csv");\nDataTable dataTable = CsvMapper.parse(filePath);\n')),(0,s.kt)("p",null,"Optionally, you can specify the regex to split the line by:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'Path filePath = Paths.get("path/to/file.csv");\nDataTable dataTable = CsvMapper.parse(filePath, CsvMapper.CSV_REGEX);\n')),(0,s.kt)("admonition",{type:"note"},(0,s.kt)("p",{parentName:"admonition"},"The parse method throws a DataMapperException if an error occurs while parsing the file. Make sure to handle this exception accordingly.")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/17896441.8d445331.js b/assets/js/17896441.8d445331.js new file mode 100644 index 0000000..293ead7 --- /dev/null +++ b/assets/js/17896441.8d445331.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[918],{8945:function(e,t,a){a.r(t),a.d(t,{default:function(){return he}});var n=a(7294),r=a(1944),l=a(9688),i=n.createContext(null);function o(e){var t=e.children,a=function(e){return(0,n.useMemo)((function(){return{metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc}}),[e])}(e.content);return n.createElement(i.Provider,{value:a},t)}function s(){var e=(0,n.useContext)(i);if(null===e)throw new l.i6("DocProvider");return e}function c(){var e,t=s(),a=t.metadata,l=t.frontMatter,i=t.assets;return n.createElement(r.d,{title:a.title,description:a.description,keywords:l.keywords,image:null!=(e=i.image)?e:l.image})}var d=a(4334),m=a(7524),u=a(7462),v=a(5999),f=a(2244);function h(e){var t=e.previous,a=e.next;return n.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,v.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"})},t&&n.createElement(f.Z,(0,u.Z)({},t,{subLabel:n.createElement(v.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc"},"Previous")})),a&&n.createElement(f.Z,(0,u.Z)({},a,{subLabel:n.createElement(v.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc"},"Next"),isNext:!0})))}function b(){var e=s().metadata;return n.createElement(h,{previous:e.previous,next:e.next})}var p=a(2263),E=a(9960),g=a(143),L=a(5281),N=a(373),k=a(4477);var Z={unreleased:function(e){var t=e.siteTitle,a=e.versionMetadata;return n.createElement(v.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:n.createElement("b",null,a.label)}},"This is unreleased documentation for {siteTitle} {versionLabel} version.")},unmaintained:function(e){var t=e.siteTitle,a=e.versionMetadata;return n.createElement(v.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:n.createElement("b",null,a.label)}},"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.")}};function _(e){var t=Z[e.versionMetadata.banner];return n.createElement(t,e)}function C(e){var t=e.versionLabel,a=e.to,r=e.onClick;return n.createElement(v.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:n.createElement("b",null,n.createElement(E.Z,{to:a,onClick:r},n.createElement(v.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label"},"latest version")))}},"For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).")}function x(e){var t,a=e.className,r=e.versionMetadata,l=(0,p.Z)().siteConfig.title,i=(0,g.gA)({failfast:!0}).pluginId,o=(0,N.J)(i).savePreferredVersionName,s=(0,g.Jo)(i),c=s.latestDocSuggestion,m=s.latestVersionSuggestion,u=null!=c?c:(t=m).docs.find((function(e){return e.id===t.mainDocId}));return n.createElement("div",{className:(0,d.Z)(a,L.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert"},n.createElement("div",null,n.createElement(_,{siteTitle:l,versionMetadata:r})),n.createElement("div",{className:"margin-top--md"},n.createElement(C,{versionLabel:m.label,to:u.path,onClick:function(){return o(m.name)}})))}function T(e){var t=e.className,a=(0,k.E)();return a.banner?n.createElement(x,{className:t,versionMetadata:a}):null}function H(e){var t=e.className,a=(0,k.E)();return a.badge?n.createElement("span",{className:(0,d.Z)(t,L.k.docs.docVersionBadge,"badge badge--secondary")},n.createElement(v.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:a.label}},"Version: {versionLabel}")):null}function U(e){var t=e.lastUpdatedAt,a=e.formattedLastUpdatedAt;return n.createElement(v.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:n.createElement("b",null,n.createElement("time",{dateTime:new Date(1e3*t).toISOString()},a))}}," on {date}")}function y(e){var t=e.lastUpdatedBy;return n.createElement(v.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:n.createElement("b",null,t)}}," by {user}")}function A(e){var t=e.lastUpdatedAt,a=e.formattedLastUpdatedAt,r=e.lastUpdatedBy;return n.createElement("span",{className:L.k.common.lastUpdated},n.createElement(v.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&a?n.createElement(U,{lastUpdatedAt:t,formattedLastUpdatedAt:a}):"",byUser:r?n.createElement(y,{lastUpdatedBy:r}):""}},"Last updated{atDate}{byUser}"),!1)}var w=a(4881),M=a(6233),I="lastUpdated_vwxv";function B(e){return n.createElement("div",{className:(0,d.Z)(L.k.docs.docFooterTagsRow,"row margin-bottom--sm")},n.createElement("div",{className:"col"},n.createElement(M.Z,e)))}function O(e){var t=e.editUrl,a=e.lastUpdatedAt,r=e.lastUpdatedBy,l=e.formattedLastUpdatedAt;return n.createElement("div",{className:(0,d.Z)(L.k.docs.docFooterEditMetaRow,"row")},n.createElement("div",{className:"col"},t&&n.createElement(w.Z,{editUrl:t})),n.createElement("div",{className:(0,d.Z)("col",I)},(a||r)&&n.createElement(A,{lastUpdatedAt:a,formattedLastUpdatedAt:l,lastUpdatedBy:r})))}function S(){var e=s().metadata,t=e.editUrl,a=e.lastUpdatedAt,r=e.formattedLastUpdatedAt,l=e.lastUpdatedBy,i=e.tags,o=i.length>0,c=!!(t||a||l);return o||c?n.createElement("footer",{className:(0,d.Z)(L.k.docs.docFooter,"docusaurus-mt-lg")},o&&n.createElement(B,{tags:i}),c&&n.createElement(O,{editUrl:t,lastUpdatedAt:a,lastUpdatedBy:l,formattedLastUpdatedAt:r})):null}var V=a(6043),P=a(3743),D=a(3366),R="tocCollapsibleButton_TO0P",F="tocCollapsibleButtonExpanded_MG3E",j=["collapsed"];function z(e){var t=e.collapsed,a=(0,D.Z)(e,j);return n.createElement("button",(0,u.Z)({type:"button"},a,{className:(0,d.Z)("clean-btn",R,!t&&F,a.className)}),n.createElement(v.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component"},"On this page"))}var q="tocCollapsible_ETCw",G="tocCollapsibleContent_vkbj",J="tocCollapsibleExpanded_sAul";function Y(e){var t=e.toc,a=e.className,r=e.minHeadingLevel,l=e.maxHeadingLevel,i=(0,V.u)({initialState:!0}),o=i.collapsed,s=i.toggleCollapsed;return n.createElement("div",{className:(0,d.Z)(q,!o&&J,a)},n.createElement(z,{collapsed:o,onClick:s}),n.createElement(V.z,{lazy:!0,className:G,collapsed:o},n.createElement(P.Z,{toc:t,minHeadingLevel:r,maxHeadingLevel:l})))}var K="tocMobile_ITEo";function Q(){var e=s(),t=e.toc,a=e.frontMatter;return n.createElement(Y,{toc:t,minHeadingLevel:a.toc_min_heading_level,maxHeadingLevel:a.toc_max_heading_level,className:(0,d.Z)(L.k.docs.docTocMobile,K)})}var W=a(9407);function X(){var e=s(),t=e.toc,a=e.frontMatter;return n.createElement(W.Z,{toc:t,minHeadingLevel:a.toc_min_heading_level,maxHeadingLevel:a.toc_max_heading_level,className:L.k.docs.docTocDesktop})}var $=a(7955),ee=a(8718);function te(e){var t,a,r,l,i=e.children,o=(t=s(),a=t.metadata,r=t.frontMatter,l=t.contentTitle,r.hide_title||void 0!==l?null:a.title);return n.createElement("div",{className:(0,d.Z)(L.k.docs.docMarkdown,"markdown")},o&&n.createElement("header",null,n.createElement($.Z,{as:"h1"},o)),n.createElement(ee.Z,null,i))}var ae=a(3791),ne=a(8596),re=a(4996);function le(e){return n.createElement("svg",(0,u.Z)({viewBox:"0 0 24 24"},e),n.createElement("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"}))}var ie="breadcrumbHomeIcon_YNFT";function oe(){var e=(0,re.Z)("/");return n.createElement("li",{className:"breadcrumbs__item"},n.createElement(E.Z,{"aria-label":(0,v.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},n.createElement(le,{className:ie})))}var se="breadcrumbsContainer_Z_bl";function ce(e){var t=e.children,a=e.href,r="breadcrumbs__link";return e.isLast?n.createElement("span",{className:r,itemProp:"name"},t):a?n.createElement(E.Z,{className:r,href:a,itemProp:"item"},n.createElement("span",{itemProp:"name"},t)):n.createElement("span",{className:r},t)}function de(e){var t=e.children,a=e.active,r=e.index,l=e.addMicrodata;return n.createElement("li",(0,u.Z)({},l&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},{className:(0,d.Z)("breadcrumbs__item",{"breadcrumbs__item--active":a})}),t,n.createElement("meta",{itemProp:"position",content:String(r+1)}))}function me(){var e=(0,ae.s1)(),t=(0,ne.Ns)();return e?n.createElement("nav",{className:(0,d.Z)(L.k.docs.docBreadcrumbs,se),"aria-label":(0,v.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"})},n.createElement("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList"},t&&n.createElement(oe,null),e.map((function(t,a){var r=a===e.length-1;return n.createElement(de,{key:a,active:r,index:a,addMicrodata:!!t.href},n.createElement(ce,{href:t.href,isLast:r},t.label))})))):null}var ue="docItemContainer_Djhp",ve="docItemCol_VOVn";function fe(e){var t,a,r,l,i,o,c=e.children,u=(t=s(),a=t.frontMatter,r=t.toc,l=(0,m.i)(),i=a.hide_table_of_contents,o=!i&&r.length>0,{hidden:i,mobile:o?n.createElement(Q,null):void 0,desktop:!o||"desktop"!==l&&"ssr"!==l?void 0:n.createElement(X,null)});return n.createElement("div",{className:"row"},n.createElement("div",{className:(0,d.Z)("col",!u.hidden&&ve)},n.createElement(T,null),n.createElement("div",{className:ue},n.createElement("article",null,n.createElement(me,null),n.createElement(H,null),u.mobile,n.createElement(te,null,c),n.createElement(S,null)),n.createElement(b,null))),u.desktop&&n.createElement("div",{className:"col col--3"},u.desktop))}function he(e){var t="docs-doc-id-"+e.content.metadata.unversionedId,a=e.content;return n.createElement(o,{content:e.content},n.createElement(r.FG,{className:t},n.createElement(c,null),n.createElement(fe,null,n.createElement(a,null))))}},9407:function(e,t,a){a.d(t,{Z:function(){return d}});var n=a(7462),r=a(3366),l=a(7294),i=a(4334),o=a(3743),s="tableOfContents_bqdL",c=["className"];function d(e){var t=e.className,a=(0,r.Z)(e,c);return l.createElement("div",{className:(0,i.Z)(s,"thin-scrollbar",t)},l.createElement(o.Z,(0,n.Z)({},a,{linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})))}},3743:function(e,t,a){a.d(t,{Z:function(){return p}});var n=a(7462),r=a(3366),l=a(7294),i=a(6668),o=["parentIndex"];function s(e){var t=e.map((function(e){return Object.assign({},e,{parentIndex:-1,children:[]})})),a=Array(7).fill(-1);t.forEach((function(e,t){var n=a.slice(2,e.level);e.parentIndex=Math.max.apply(Math,n),a[e.level]=t}));var n=[];return t.forEach((function(e){var a=e.parentIndex,l=(0,r.Z)(e,o);a>=0?t[a].children.push(l):n.push(l)})),n}function c(e){var t=e.toc,a=e.minHeadingLevel,n=e.maxHeadingLevel;return t.flatMap((function(e){var t=c({toc:e.children,minHeadingLevel:a,maxHeadingLevel:n});return function(e){return e.level>=a&&e.level<=n}(e)?[Object.assign({},e,{children:t})]:t}))}function d(e){var t=e.getBoundingClientRect();return t.top===t.bottom?d(e.parentNode):t}function m(e,t){var a,n,r=t.anchorTopOffset,l=e.find((function(e){return d(e).top>=r}));return l?function(e){return e.top>0&&e.bottom=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),s=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=s(n),p=a,f=d["".concat(c,".").concat(p)]||d[p]||m[p]||o;return n?r.createElement(f,l(l({ref:t},u),{},{components:n})):r.createElement(f,l({ref:t},u))}));function p(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,l=new Array(o);l[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:a,l[1]=i;for(var s=2;s0})).map((function(e){return[e-1,[i]]}));return{lineClassNames:Object.fromEntries(c),code:n}}if(void 0===r)return{lineClassNames:{},code:n};for(var s=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return k(["js","jsBlock"],t);case"jsx":case"tsx":return k(["js","jsBlock","jsx"],t);case"html":return k(["js","jsBlock","html"],t);case"python":case"py":case"bash":return k(["bash"],t);case"markdown":case"md":return k(["html","jsx","bash"],t);default:return k(Object.keys(E),t)}}(r,a),u=n.split("\n"),m=Object.fromEntries(a.map((function(e){return[e.className,{start:0,range:""}]}))),d=Object.fromEntries(a.filter((function(e){return e.line})).map((function(e){var t=e.className;return[e.line,t]}))),p=Object.fromEntries(a.filter((function(e){return e.block})).map((function(e){var t=e.className;return[e.block.start,t]}))),f=Object.fromEntries(a.filter((function(e){return e.block})).map((function(e){var t=e.className;return[e.block.end,t]}))),v=0;v0&&e[n-1]===t?e:e.concat(t)},M=function(e,t){var n=e.plain,r=Object.create(null),a=e.styles.reduce((function(e,n){var r=n.languages,a=n.style;return r&&!r.includes(t)||n.types.forEach((function(t){var n=P({},e[t],a);e[t]=n})),e}),r);return a.root=n,a.plain=P({},n,{backgroundColor:null}),a};function D(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&-1===t.indexOf(r)&&(n[r]=e[r]);return n}var H=function(e){function t(){for(var t=this,n=[],r=arguments.length;r--;)n[r]=arguments[r];e.apply(this,n),S(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?M(e.theme,e.language):void 0;return t.themeDict=n})),S(this,"getLineProps",(function(e){var n=e.key,r=e.className,a=e.style,o=P({},D(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),l=t.getThemeDict(t.props);return void 0!==l&&(o.style=l.plain),void 0!==a&&(o.style=void 0!==o.style?P({},o.style,a):a),void 0!==n&&(o.key=n),r&&(o.className+=" "+r),o})),S(this,"getStyleForToken",(function(e){var n=e.types,r=e.empty,a=n.length,o=t.getThemeDict(t.props);if(void 0!==o){if(1===a&&"plain"===n[0])return r?{display:"inline-block"}:void 0;if(1===a&&!r)return o[n[0]];var l=r?{display:"inline-block"}:{},i=n.map((function(e){return o[e]}));return Object.assign.apply(Object,[l].concat(i))}})),S(this,"getTokenProps",(function(e){var n=e.key,r=e.className,a=e.style,o=e.token,l=P({},D(e,["key","className","style","token"]),{className:"token "+o.types.join(" "),children:o.content,style:t.getStyleForToken(o),key:void 0});return void 0!==a&&(l.style=void 0!==l.style?P({},l.style,a):a),void 0!==n&&(l.key=n),r&&(l.className+=" "+r),l})),S(this,"tokenize",(function(e,t,n,r){var a={code:t,grammar:n,language:r,tokens:[]};e.hooks.run("before-tokenize",a);var o=a.tokens=e.tokenize(a.code,a.grammar,a.language);return e.hooks.run("after-tokenize",a),o}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,r=e.code,a=e.children,o=this.getThemeDict(this.props),l=t.languages[n];return a({tokens:function(e){for(var t=[[]],n=[e],r=[0],a=[e.length],o=0,l=0,i=[],c=[i];l>-1;){for(;(o=r[l]++)0?u:["plain"],s=m):(u=I(u,m.type),m.alias&&(u=I(u,m.alias)),s=m.content),"string"==typeof s){var d=s.split(z),p=d.length;i.push({types:u,content:d[0]});for(var f=1;f0&&(i=l.getRangeAt(0)),r.append(a),a.select(),a.selectionStart=0,a.selectionEnd=e.length;var c=!1;try{c=document.execCommand("copy")}catch(s){}a.remove(),i&&(l.removeAllRanges(),l.addRange(i)),o&&o.focus()}(t),l(!0),i.current=window.setTimeout((function(){l(!1)}),1e3)}),[t]);return(0,r.useEffect)((function(){return function(){return window.clearTimeout(i.current)}}),[]),r.createElement("button",{type:"button","aria-label":o?(0,G.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,G.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,G.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,u.Z)("clean-btn",n,Q.copyButton,o&&Q.copyButtonCopied),onClick:c},r.createElement("span",{className:Q.copyButtonIcons,"aria-hidden":"true"},r.createElement(U,{className:Q.copyButtonIcon}),r.createElement($,{className:Q.copyButtonSuccessIcon})))}function Y(e){return r.createElement("svg",(0,o.Z)({viewBox:"0 0 24 24"},e),r.createElement("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"}))}var J="wordWrapButtonIcon_Bwma",K="wordWrapButtonEnabled_EoeP";function ee(e){var t=e.className,n=e.onClick,a=e.isEnabled,o=(0,G.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return r.createElement("button",{type:"button",onClick:n,className:(0,u.Z)("clean-btn",t,a&&K),"aria-label":o,title:o},r.createElement(Y,{className:J,"aria-hidden":"true"}))}function te(e){var t,n,a,l,i,c,s,m,f,v,h,g=e.children,b=e.className,E=void 0===b?"":b,k=e.metastring,C=e.title,Z=e.showLineNumbers,B=e.language,j=(0,d.L)().prism,_=j.defaultLanguage,O=j.magicComments,S=null!=(t=null!=B?B:null==(n=E.split(" ").find((function(e){return e.startsWith("language-")})))?void 0:n.replace(/language-/,""))?t:_,P=p(),z=(a=(0,r.useState)(!1),l=a[0],i=a[1],c=(0,r.useState)(!1),s=c[0],m=c[1],f=(0,r.useRef)(null),v=(0,r.useCallback)((function(){var e=f.current.querySelector("code");l?e.removeAttribute("style"):(e.style.whiteSpace="pre-wrap",e.style.overflowWrap="anywhere"),i((function(e){return!e}))}),[f,l]),h=(0,r.useCallback)((function(){var e=f.current,t=e.scrollWidth>e.clientWidth||f.current.querySelector("code").hasAttribute("style");m(t)}),[f]),L(f,h),(0,r.useEffect)((function(){h()}),[l,h]),(0,r.useEffect)((function(){return window.addEventListener("resize",h,{passive:!0}),function(){window.removeEventListener("resize",h)}}),[h]),{codeBlockRef:f,isEnabled:l,isCodeScrollable:s,toggle:v}),A=function(e){var t,n;return null!=(t=null==e||null==(n=e.match(y))?void 0:n.groups.title)?t:""}(k)||C,I=N(g,{metastring:k,language:S,magicComments:O}),M=I.lineClassNames,D=I.code,H=null!=Z?Z:function(e){return Boolean(null==e?void 0:e.includes("showLineNumbers"))}(k);return r.createElement(w,{as:"div",className:(0,u.Z)(E,S&&!E.includes("language-"+S)&&"language-"+S)},A&&r.createElement("div",{className:T.codeBlockTitle},A),r.createElement("div",{className:T.codeBlockContent},r.createElement(V,(0,o.Z)({},x,{theme:P,code:D,language:null!=S?S:"text"}),(function(e){var t=e.className,n=e.tokens,a=e.getLineProps,o=e.getTokenProps;return r.createElement("pre",{tabIndex:0,ref:z.codeBlockRef,className:(0,u.Z)(t,T.codeBlock,"thin-scrollbar")},r.createElement("code",{className:(0,u.Z)(T.codeBlockLines,H&&T.codeBlockLinesWithNumbering)},n.map((function(e,t){return r.createElement(q,{key:t,line:e,getLineProps:a,getTokenProps:o,classNames:M[t],showLineNumbers:H})}))))})),r.createElement("div",{className:T.buttonGroup},(z.isEnabled||z.isCodeScrollable)&&r.createElement(ee,{className:T.codeButton,onClick:function(){return z.toggle()},isEnabled:z.isEnabled}),r.createElement(X,{className:T.codeButton,code:D}))))}var ne=["children"];function re(e){var t=e.children,n=(0,l.Z)(e,ne),a=(0,s.Z)(),i=function(e){return r.Children.toArray(e).some((function(e){return(0,r.isValidElement)(e)}))?e:Array.isArray(e)?e.join(""):e}(t),c="string"==typeof i?te:B;return r.createElement(c,(0,o.Z)({key:String(a)},n),i)}var ae=n(9960);var oe=n(7459),le=n(6043),ie="details_lb9f",ce="isBrowser_bmU9",se="collapsibleContent_i85q",ue=["summary","children"];function me(e){return!!e&&("SUMMARY"===e.tagName||me(e.parentElement))}function de(e,t){return!!e&&(e===t||de(e.parentElement,t))}function pe(e){var t=e.summary,n=e.children,a=(0,l.Z)(e,ue),i=(0,s.Z)(),c=(0,r.useRef)(null),u=(0,le.u)({initialState:!a.open}),m=u.collapsed,d=u.setCollapsed,p=(0,r.useState)(a.open),f=p[0],v=p[1],h=r.isValidElement(t)?t:r.createElement("summary",null,null!=t?t:"Details");return r.createElement("details",(0,o.Z)({},a,{ref:c,open:f,"data-collapsed":m,className:(0,oe.Z)(ie,i&&ce,a.className),onMouseDown:function(e){me(e.target)&&e.detail>1&&e.preventDefault()},onClick:function(e){e.stopPropagation();var t=e.target;me(t)&&de(t,c.current)&&(e.preventDefault(),m?(d(!1),v(!0)):d(!0))}}),h,r.createElement(le.z,{lazy:!1,collapsed:m,disableSSRStyle:!0,onCollapseTransitionEnd:function(e){d(e),v(!e)}},r.createElement("div",{className:se},n)))}var fe="details_b_Ee";function ve(e){var t=Object.assign({},e);return r.createElement(pe,(0,o.Z)({},t,{className:(0,u.Z)("alert alert--info",fe,t.className)}))}var he=n(7955);function ge(e){return r.createElement(he.Z,e)}var ye="containsTaskList_mC6p";function be(e){if(void 0!==e)return(0,u.Z)(e,(null==e?void 0:e.includes("contains-task-list"))&&ye)}var Ee="img_ev3q";var ke="admonition_LlT9",Ne="admonitionHeading_tbUL",Ce="admonitionIcon_kALy",Ze="admonitionContent_S0QG";var we={note:{infimaClassName:"secondary",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 14 16"},r.createElement("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"}))},label:r.createElement(G.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 12 16"},r.createElement("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"}))},label:r.createElement(G.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 12 16"},r.createElement("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"}))},label:r.createElement(G.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 14 16"},r.createElement("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"}))},label:r.createElement(G.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 16 16"},r.createElement("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"}))},label:r.createElement(G.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},Te={secondary:"note",important:"info",success:"tip",warning:"danger"};function Be(e){var t,n=function(e){var t=r.Children.toArray(e),n=t.find((function(e){var t;return r.isValidElement(e)&&"mdxAdmonitionTitle"===(null==(t=e.props)?void 0:t.mdxType)})),a=r.createElement(r.Fragment,null,t.filter((function(e){return e!==n})));return{mdxAdmonitionTitle:n,rest:a}}(e.children),a=n.mdxAdmonitionTitle,o=n.rest;return Object.assign({},e,{title:null!=(t=e.title)?t:a,children:o})}var je={head:function(e){var t=r.Children.map(e.children,(function(e){return r.isValidElement(e)?function(e){var t;if(null!=(t=e.props)&&t.mdxType&&e.props.originalType){var n=e.props,a=(n.mdxType,n.originalType,(0,l.Z)(n,c));return r.createElement(e.props.originalType,a)}return e}(e):e}));return r.createElement(i.Z,e,t)},code:function(e){var t=["a","abbr","b","br","button","cite","code","del","dfn","em","i","img","input","ins","kbd","label","object","output","q","ruby","s","small","span","strong","sub","sup","time","u","var","wbr"];return r.Children.toArray(e.children).every((function(e){var n;return"string"==typeof e&&!e.includes("\n")||(0,r.isValidElement)(e)&&t.includes(null==(n=e.props)?void 0:n.mdxType)}))?r.createElement("code",e):r.createElement(re,e)},a:function(e){return r.createElement(ae.Z,e)},pre:function(e){var t;return r.createElement(re,(0,r.isValidElement)(e.children)&&"code"===(null==(t=e.children.props)?void 0:t.originalType)?e.children.props:Object.assign({},e))},details:function(e){var t=r.Children.toArray(e.children),n=t.find((function(e){var t;return r.isValidElement(e)&&"summary"===(null==(t=e.props)?void 0:t.mdxType)})),a=r.createElement(r.Fragment,null,t.filter((function(e){return e!==n})));return r.createElement(ve,(0,o.Z)({},e,{summary:n}),a)},ul:function(e){return r.createElement("ul",(0,o.Z)({},e,{className:be(e.className)}))},img:function(e){return r.createElement("img",(0,o.Z)({loading:"lazy"},e,{className:(t=e.className,(0,u.Z)(t,Ee))}));var t},h1:function(e){return r.createElement(ge,(0,o.Z)({as:"h1"},e))},h2:function(e){return r.createElement(ge,(0,o.Z)({as:"h2"},e))},h3:function(e){return r.createElement(ge,(0,o.Z)({as:"h3"},e))},h4:function(e){return r.createElement(ge,(0,o.Z)({as:"h4"},e))},h5:function(e){return r.createElement(ge,(0,o.Z)({as:"h5"},e))},h6:function(e){return r.createElement(ge,(0,o.Z)({as:"h6"},e))},admonition:function(e){var t=Be(e),n=t.children,a=t.type,o=t.title,l=t.icon,i=function(e){var t,n=null!=(t=Te[e])?t:e;return we[n]||(console.warn('No admonition config found for admonition type "'+n+'". Using Info as fallback.'),we.info)}(a),c=null!=o?o:i.label,s=i.iconComponent,m=null!=l?l:r.createElement(s,null);return r.createElement("div",{className:(0,u.Z)(f.k.common.admonition,f.k.common.admonitionType(e.type),"alert","alert--"+i.infimaClassName,ke)},r.createElement("div",{className:Ne},r.createElement("span",{className:Ce},m),c),r.createElement("div",{className:Ze},n))},mermaid:function(){return null}};function _e(e){var t=e.children;return r.createElement(a.Zo,{components:je},t)}},2244:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var r=n(7294),a=n(4334),o=n(9960);function l(e){var t=e.permalink,n=e.title,l=e.subLabel,i=e.isNext;return r.createElement(o.Z,{className:(0,a.Z)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},l&&r.createElement("div",{className:"pagination-nav__sublabel"},l),r.createElement("div",{className:"pagination-nav__label"},n))}},6233:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(7294),a=n(4334),o=n(5999),l=n(9960),i="tag_zVej",c="tagRegular_sFm0",s="tagWithCount_h2kH";function u(e){var t=e.permalink,n=e.label,o=e.count;return r.createElement(l.Z,{href:t,className:(0,a.Z)(i,o?s:c)},n,o&&r.createElement("span",null,o))}var m="tags_jXut",d="tag_QGVx";function p(e){var t=e.tags;return r.createElement(r.Fragment,null,r.createElement("b",null,r.createElement(o.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list"},"Tags:")),r.createElement("ul",{className:(0,a.Z)(m,"padding--none","margin-left--sm")},t.map((function(e){var t=e.label,n=e.permalink;return r.createElement("li",{key:n,className:d},r.createElement(u,{label:t,permalink:n}))}))))}},7594:function(e,t){function n(e){let t,n=[];for(let r of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(r))n.push(parseInt(r,10));else if(t=r.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,r,a,o]=t;if(r&&o){r=parseInt(r),o=parseInt(o);const e=r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},l=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,o=e.originalType,s=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),m=p(n),d=i,f=m["".concat(s,".").concat(d)]||m[d]||u[d]||o;return n?r.createElement(f,a(a({ref:t},l),{},{components:n})):r.createElement(f,a({ref:t},l))}));function d(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=n.length,a=new Array(o);a[0]=m;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:i,a[1]=c;for(var p=2;p=r?(d(),l(!1)):a=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,s=c(e,o);return n.createElement("svg",a({width:36,height:36,viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},s),t?n.createElement("title",{id:r},t):null,l||(l=n.createElement("path",{d:"M27.258 11.885H8.996a.735.735 0 0 0-.736.736v15.314c0 .406.33.736.736.736h3.255v5.16a2.168 2.168 0 0 0 4.337 0v-5.16h3.033v5.16a2.168 2.168 0 0 0 4.336 0v-5.16h3.301c.406 0 .736-.33.736-.736V12.621a.736.736 0 0 0-.736-.736ZM5.168 11.882c-1.197 0-2.168.97-2.168 2.168v8.807a2.168 2.168 0 1 0 4.337 0V14.05c0-1.197-.971-2.168-2.169-2.168ZM31.086 11.882c-1.198 0-2.168.97-2.168 2.168v8.807a2.168 2.168 0 1 0 4.336 0V14.05c0-1.197-.97-2.168-2.168-2.168ZM9.144 10.811h17.923c.468 0 .817-.43.72-.888a9.907 9.907 0 0 0-4.833-6.583L24.486.575A.388.388 0 0 0 23.81.2l-1.544 2.785a9.856 9.856 0 0 0-4.16-.914 9.856 9.856 0 0 0-4.16.914L12.403.2a.388.388 0 0 0-.678.375l1.532 2.765a9.908 9.908 0 0 0-4.833 6.583.737.737 0 0 0 .72.888Zm14.31-4.12a.833.833 0 1 1-1.667 0 .833.833 0 0 1 1.666 0Zm-9.864-.833a.833.833 0 1 1 0 1.666.833.833 0 0 1 0-1.666Z",fill:"#AAC148"})))}},5827:function(e,t,r){var l,n,o,a,c,s,i,p,f,m,u=r(7294),d=["title","titleId"];function E(){return E=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,y=h(e,d);return u.createElement("svg",E({width:36,height:36,viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},y),t?u.createElement("title",{id:r},t):null,l||(l=u.createElement("path",{d:"M36 18c0 9.94-8.06 18-18 18S0 27.94 0 18 8.06 0 18 0s18 8.06 18 18Z",fill:"#4CAF50"})),n||(n=u.createElement("path",{d:"M18 0v18l7.2 3.6L17.24 36H18c9.948 0 18-8.052 18-18S27.948 0 18 0Z",fill:"#FFC107"})),o||(o=u.createElement("path",{d:"M36 18c0 9.94-8.06 18-18 18S0 27.94 0 18 8.06 0 18 0s18 8.06 18 18Z",fill:"#4CAF50"})),a||(a=u.createElement("path",{d:"M18 0v18l7.2 3.6L17.24 36H18c9.948 0 18-8.052 18-18S27.948 0 18 0Z",fill:"#FFC107"})),c||(c=u.createElement("path",{d:"M34.056 9.9H18v11.7l-2.7-.9L2.844 8.334h-.018A17.95 17.95 0 0 1 18 0c7.02 0 13.095 4.032 16.056 9.9Z",fill:"#F44336"})),s||(s=u.createElement("path",{d:"m2.842 8.338 7.959 13.375L15.3 20.7 2.842 8.338Z",fill:"#DD2C00"})),i||(i=u.createElement("path",{d:"m17.241 36 8.04-14.453L21.6 18.9 17.24 36Z",fill:"#558B2F"})),p||(p=u.createElement("path",{d:"M34.079 9.9H18l-1.42 4.122L34.078 9.9Z",fill:"#F9A825"})),f||(f=u.createElement("path",{d:"M26.1 18c0 4.472-3.628 8.1-8.1 8.1A8.102 8.102 0 0 1 9.9 18c0-4.472 3.628-8.1 8.1-8.1 4.472 0 8.1 3.628 8.1 8.1Z",fill:"#fff"})),m||(m=u.createElement("path",{d:"M24.3 18c0 3.48-2.82 6.3-6.3 6.3s-6.3-2.82-6.3-6.3 2.82-6.3 6.3-6.3 6.3 2.82 6.3 6.3Z",fill:"#2196F3"})))}},587:function(e,t,r){var l=r(7294),n=["title","titleId"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,c=a(e,n);return l.createElement("svg",o({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 300 300",style:{enableBackground:"new 0 0 300 300"},xmlSpace:"preserve",width:50,height:50,"aria-labelledby":r},c),t?l.createElement("title",{id:r},t):null,l.createElement("path",{style:{fill:"#c4c8c4"},d:"M184 101.25v164h-68v-164h68z"}),l.createElement("path",{style:{fill:"#a5a9a6"},d:"M116 101.25h34v164h-34z"}),l.createElement("path",{style:{fill:"#1c7287"},d:"M277.87 198.75H22.13C9.908 198.75 0 188.842 0 176.62V36.88c0-12.222 9.908-22.13 22.13-22.13h255.74c12.222 0 22.13 9.908 22.13 22.13v139.74c0 12.222-9.908 22.13-22.13 22.13z"}),l.createElement("path",{style:{fill:"#165c6c"},d:"M150 198.75H22.13C9.908 198.75 0 188.842 0 176.62V36.88c0-12.222 9.908-22.13 22.13-22.13H150v184z"}),l.createElement("path",{style:{fill:"#32a5b9"},d:"M26 41.818h248v129.865H26z"}),l.createElement("path",{style:{fill:"#2b8a9a"},d:"M26 41.818h124v129.865H26z"}),l.createElement("path",{style:{fill:"#1c7287"},d:"M219 285.25H81c-8.284 0-15-6.716-15-15s6.716-15 15-15h138c8.284 0 15 6.716 15 15s-6.716 15-15 15z"}),l.createElement("path",{style:{fill:"#165c6c"},d:"M150 285.25H81c-8.284 0-15-6.716-15-15s6.716-15 15-15h69v30z"}))}},1505:function(e,t,r){var l,n,o,a,c,s=r(7294),i=["title","titleId"];function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,m=f(e,i);return s.createElement("svg",p({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:48,height:48,"aria-labelledby":r},m),t?s.createElement("title",{id:r},t):null,l||(l=s.createElement("path",{fill:"#1e88e5",d:"M40.69 35.42c-9.15 11.88-21.41 8.8-26.23 6.1-7.35-4.11-12.5-13.68-9.44-23.25.9-2.82 2.27-5.23 3.98-7.23 1.67.13 3.65.13 6-.04 14-1 18 11 17 14-.51 1.53-2.32 2.02-3.97 2.13.16-.22.36-.54.64-1.02.87-1.54.98-4.49-1.73-6.27-2.61-1.7-5.43-.65-6.88 1.28-1.45 1.92-.88 4.81-.37 6.09 2.2 5.52 6.26 6.95 9.02 7.78 2.76.83 6.86.71 9.05-.19 2.18-.91 2.8-1.43 3.22-.97.43.46.13.99-.29 1.59z"})),n||(n=s.createElement("path",{fill:"#0d47a1",d:"M40.732 35.42c-3.48 4.52-7.41 6.87-11.21 7.91-.03.01-.06.01-.08.02-2.2.42-3.95.08-5.85-.29-3.09-.6-7.35-4.01-8.38-10.18-.88-5.31 1.63-9.81 5.59-12.54-.26.24-.49.5-.7.78-1.45 1.92-.88 4.81-.37 6.09 2.2 5.52 6.26 6.95 9.02 7.78 2.76.83 6.86.71 9.05-.19 2.18-.91 2.8-1.43 3.22-.97.43.46.13.99-.29 1.59z"})),o||(o=s.createElement("path",{fill:"#00e5ff",d:"M26.94 4.25a11.89 11.89 0 0 1-4.45 10.13c-1.02-.52-2.21-.94-3.65-1.22-4.07-.78-10.63 1.1-13.3 5.77-.88 1.53-1.25 3.1-1.41 4.55.04-1.71.33-3.46.89-5.21C8.31 8.01 17.86 3.05 26.94 4.25z"})),a||(a=s.createElement("path",{fill:"#00e676",d:"M41.4 27.89c-2.76 2.78-6.27 2.86-8.67 2.73-2.41-.12-3.59-.82-4.69-1.5-1.11-.69-.48-1.37-.37-1.52.11-.15.38-.41 1-1.49.29-.51.5-1.18.54-1.91 4.62-3.43 7.96-8.49 9.16-14.34 2.92 2.95 4.3 6.21 4.79 7.61.88 2.52 1.55 7.09-1.76 10.42z"})),c||(c=s.createElement("path",{fill:"#1de9b6",d:"M38.37 9.85v.01c-1.2 5.85-4.54 10.91-9.16 14.34.03-.42 0-.87-.1-1.32 0-.02-.01-.04-.01-.05-.25-1.47-.99-3.33-2.22-4.77-1.22-1.44-2.52-2.73-4.39-3.68a11.89 11.89 0 0 0 4.45-10.13c.4.05.79.11 1.19.19 4.61.89 7.91 3.05 10.24 5.41z"})))}},877:function(e,t,r){var l,n,o,a,c,s,i,p,f,m,u,d,E,h,y,g=r(7294),v=["title","titleId"];function b(){return b=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,F=O(e,v);return g.createElement("svg",b({width:36,height:36,viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},F),t?g.createElement("title",{id:r},t):null,l||(l=g.createElement("path",{d:"M29.087 3.35c-.904 1.02-1.326 3.316-.409 5.643.917 2.328 2.322 1.822 3.199 4.196 1.156 3.131.618 7.338.618 7.338s1.39 3.9 2.358-.242c2.145-7.782-5.766-15.019-5.766-16.935Z",fill:"url(#a)"})),n||(n=g.createElement("path",{d:"M18.053 35.657c9.26 0 16.762-7.307 16.762-16.318 0-9.01-7.502-16.318-16.753-16.318-9.252 0-16.753 7.308-16.753 16.318C1.29 28.36 8.8 35.658 18.053 35.658Z",fill:"url(#b)"})),o||(o=g.createElement("path",{d:"M30.612 29.401c-.362.248-.743.47-1.138.666a25.603 25.603 0 0 0 1.447-2.304c.357-.383.684-.755.95-1.158.13-.198.277-.442.432-.725.94-1.643 1.979-4.301 2.008-7.032V18.64a9.148 9.148 0 0 0-.215-2.04l.02.157-.024-.12c.014.074.025.145.037.218.193 1.581.056 3.123-.63 4.26l-.032.049c.355-1.728.474-3.636.078-5.547 0 0-.158-.928-1.335-3.747-.678-1.623-1.882-2.953-2.946-3.923-.932-1.117-1.779-1.867-2.246-2.343-.975-.995-1.383-1.74-1.551-2.227-.146-.07-2.006-1.822-2.154-1.889-.813 1.22-3.367 5.037-2.152 8.603.55 1.616 1.943 3.293 3.401 4.234.064.071.867.916 1.25 2.823.394 1.97.186 3.507-.625 5.78-.955 1.994-3.402 3.965-5.692 4.167-4.897.43-6.69-2.382-6.69-2.382 1.75.678 3.685.536 4.861-.167 1.186-.71 1.903-1.237 2.486-1.03.573.207 1.03-.393.62-1.015a2.942 2.942 0 0 0-1.302-1.07 3.052 3.052 0 0 0-1.696-.195c-1.187.187-2.274 1.098-3.83.215a3.237 3.237 0 0 1-.291-.185c-.103-.065.333.1.231.025-.302-.159-.838-.506-.977-.63-.023-.02.235.08.212.06-1.454-1.16-1.273-1.944-1.227-2.436.037-.393.3-.897.746-1.102.215.114.349.2.349.2l-.141-.276c.017-.008.034-.006.05-.013.177.083.566.297.771.427.268.183.353.345.353.345s.07-.037.018-.196c-.019-.066-.1-.273-.365-.482l.017.002c.158.087.308.188.448.301.075-.263.209-.537.18-1.028-.019-.345-.01-.434-.073-.567-.056-.115.031-.16.129-.04a1.174 1.174 0 0 0-.084-.271l.001-.01c.122-.41 2.578-1.48 2.756-1.605.294-.2.54-.46.723-.76.136-.211.239-.507.264-.956.013-.323-.142-.539-2.625-.79-.679-.066-1.077-.542-1.303-.982a6.271 6.271 0 0 0-.126-.266c-.04-.1-.072-.204-.097-.309.406-1.13 1.088-2.084 2.091-2.806.055-.048-.218.012-.164-.036.064-.056.48-.219.559-.255.096-.044-.411-.253-.859-.202-.455.05-.552.103-.795.203.1-.098.422-.225.346-.225-.491.073-1.101.35-1.623.663a.382.382 0 0 1 .031-.159c-.243.1-.84.505-1.014.847.007-.066.01-.131.01-.197-.186.15-.353.319-.498.505l-.01.008c-1.41-.55-2.652-.586-3.702-.34-.23-.223-.342-.06-.865-1.173-.036-.067.027.067 0 0-.086-.215.052.288 0 0-.88.673-2.036 1.434-2.592 1.972-.006.021.648-.18 0 0-.226.063-.211.193-.246 1.372-.008.09 0 .19-.008.27-.444.548-.746 1.011-.86 1.252-.574.957-1.206 2.45-1.818 4.812.27-.64.596-1.257.974-1.844-.51 1.254-1.002 3.223-1.1 6.254a17.24 17.24 0 0 1 .473-1.853 16.827 16.827 0 0 0 1.312 7.356c.352.835.935 2.102 1.926 3.49 3.117 3.177 7.513 5.155 12.38 5.155 5.082 0 9.645-2.154 12.78-5.575Z",fill:"url(#c)"})),a||(a=g.createElement("path",{d:"M26.852 31.709c6.15-.69 8.872-6.83 5.376-6.951-3.158-.098-8.29 7.277-5.376 6.95Z",fill:"url(#d)"})),c||(c=g.createElement("path",{d:"M32.671 23.503c4.231-2.386 3.128-7.54 3.128-7.54s-1.633 1.839-2.742 4.769c-1.096 2.9-2.93 4.212-.386 2.771Z",fill:"url(#e)"})),s||(s=g.createElement("path",{d:"M19.238 34.758c5.9 1.824 10.97-2.678 7.845-4.182-2.842-1.356-10.644 3.32-7.845 4.182Z",fill:"url(#f)"})),i||(i=g.createElement("path",{d:"M33.11 25.692c.144-.197.338-.825.51-1.106 1.041-1.629 1.049-2.927 1.049-2.957.629-3.045.572-4.288.185-6.587-.312-1.851-1.674-4.503-2.854-5.78-1.216-1.316-.36-.888-1.537-1.849-1.032-1.108-2.032-2.206-2.577-2.647C23.95 1.576 24.038.899 24.113.784a4.105 4.105 0 0 0-.055.06c-.047-.18-.08-.332-.08-.332s-2.152 2.086-2.605 5.561c-.296 2.27.58 4.635 1.85 6.146a14.197 14.197 0 0 0 2.228 2.123v-.002c.959 1.335 1.487 2.982 1.487 4.753 0 4.436-3.713 8.032-8.294 8.032a8.581 8.581 0 0 1-1.856-.202c-2.161-.4-3.41-1.455-4.031-2.172-.357-.412-.509-.711-.509-.711 1.937.672 4.078.531 5.38-.165 1.312-.705 2.106-1.228 2.75-1.022.635.205 1.141-.39.687-1.007-.444-.616-1.6-1.499-3.318-1.255-1.314.186-2.517 1.09-4.238.214a3.64 3.64 0 0 1-.323-.183c-.114-.065.369.098.256.025-.335-.158-.928-.503-1.082-.625-.025-.02.26.08.235.059-1.61-1.151-1.409-1.928-1.358-2.416.04-.39.333-.89.825-1.092.238.113.386.199.386.199l-.156-.275c.02-.007.037-.006.057-.013.194.082.626.294.852.424.296.18.39.342.39.342s.078-.037.02-.195c-.02-.065-.11-.27-.403-.478l.018.002c.174.086.34.186.496.299.083-.26.231-.533.199-1.02-.02-.342-.011-.43-.08-.562-.063-.114.034-.158.142-.04a1.071 1.071 0 0 0-.092-.269l.001-.009c.135-.407 2.852-1.468 3.05-1.592.319-.193.591-.45.8-.754.15-.21.264-.503.292-.948.01-.2-.054-.359-.774-.51-.432-.092-1.1-.18-2.13-.274-.752-.064-1.193-.537-1.444-.973a5.94 5.94 0 0 0-.139-.264 1.894 1.894 0 0 1-.107-.306 5.836 5.836 0 0 1 2.314-2.783c.06-.048-.241.012-.18-.036.07-.055.53-.217.617-.253.106-.043-.455-.25-.95-.2-.504.05-.611.102-.88.2.111-.096.466-.222.383-.221-.544.072-1.22.346-1.797.657a.346.346 0 0 1 .035-.158c-.27.1-.93.5-1.123.84.008-.065.012-.13.01-.196a3.307 3.307 0 0 0-.55.501l-.01.008C9.747 7.17 8.373 7.135 7.21 7.38c-.255-.222-.664-.557-1.242-1.661-.04-.067-.06.137-.091.072-.225-.506-.36-1.334-.339-1.905 0 0-.465.206-.85 1.064-.071.154-.117.239-.163.324-.02.025.048-.282.037-.265-.067.11-.24.263-.316.462-.052.147-.126.23-.172.413l-.011.016c-.004-.054.013-.222 0-.188A8.49 8.49 0 0 0 3.6 6.804a9.894 9.894 0 0 0-.487 2.728c-.01.089-.001.188-.01.268-.49.543-.825 1.003-.951 1.241-.635.95-1.334 2.431-2.012 4.773.302-.64.662-1.252 1.078-1.829C.654 15.23.108 17.181 0 20.189c.137-.622.312-1.236.524-1.838-.098 2.005.143 4.49 1.452 7.295.776 1.65 2.564 4.999 6.933 7.613 0 0 1.486 1.072 4.041 1.876.189.066.38.131.575.195a3.796 3.796 0 0 1-.178-.075c1.7.493 3.466.745 5.242.746 6.614.005 8.565-2.568 8.565-2.568l-.019.014c.093-.086.183-.174.27-.266-1.044.955-3.426 1.018-4.316.95 1.519-.433 2.518-.798 4.462-1.52.228-.081.46-.175.698-.28l.078-.033.14-.064a13.255 13.255 0 0 0 2.654-1.61c1.952-1.51 2.377-2.983 2.6-3.954-.032.093-.128.31-.196.45-.503 1.042-1.618 1.682-2.829 2.23a25.162 25.162 0 0 0 1.6-2.284c.396-.38.52-.974.815-1.373Z",fill:"url(#g)"})),p||(p=g.createElement("path",{d:"M30.735 29.304c.796-.85 1.51-1.823 2.052-2.925 1.393-2.839 3.547-7.558 1.85-12.487-1.34-3.896-3.181-6.026-5.52-8.107C25.322 2.405 24.262.897 24.262 0c0 0-4.384 4.734-2.483 9.672 1.901 4.938 5.795 4.757 8.371 9.91 3.031 6.064-2.452 12.681-6.987 14.534.277-.06 10.08-2.21 10.596-7.642-.012.1-.233 1.602-3.024 2.83Z",fill:"url(#h)"})),f||(f=g.createElement("path",{d:"M18.034 11.684c.015-.32-.157-.536-2.895-.785-1.127-.1-1.558-1.11-1.69-1.534-.4 1.008-.566 2.066-.477 3.346.06.839.642 1.739.92 2.268 0 0 .062-.078.09-.107.524-.528 2.717-1.332 2.923-1.447.227-.139 1.091-.75 1.13-1.74Z",fill:"url(#i)"})),m||(m=g.createElement("path",{d:"M5.979 5.724c-.04-.066-.06.138-.091.072-.225-.505-.362-1.324-.33-1.903 0 0-.465.205-.85 1.063-.071.154-.117.24-.163.324-.02.025.048-.281.037-.265-.067.11-.24.264-.315.453-.062.155-.126.239-.174.43-.015.053.015-.23.002-.196-.896 1.677-1.066 4.212-.972 4.104 1.906-1.972 4.09-2.44 4.09-2.44-.232-.165-.737-.644-1.234-1.642Z",fill:"url(#j)"})),u||(u=g.createElement("path",{d:"M13.21 26.345c-2.633-1.089-5.626-2.625-5.513-6.115.154-4.596 4.424-3.687 4.424-3.687-.161.038-.592.335-.745.652-.161.396-.456 1.29.436 2.228 1.4 1.47-2.877 3.489 3.726 7.301.166.088-1.548-.052-2.328-.379Z",fill:"url(#k)"})),d||(d=g.createElement("path",{d:"M12.275 24.055c1.867.63 4.042.52 5.344-.178.872-.47 1.99-1.223 2.678-1.037-.595-.228-1.047-.335-1.59-.36-.092 0-.203-.003-.303-.013-.2 0-.398.01-.595.032-.336.03-.709.235-1.048.202-.018-.001.329-.138.3-.131-.179.036-.374.044-.58.068-.13.014-.243.03-.373.035-3.889.32-7.175-2.041-7.175-2.041-.28.912 1.252 2.718 3.342 3.423Z",fill:"url(#l)"})),E||(E=g.createElement("path",{d:"M30.728 29.328c3.933-3.741 5.923-8.29 5.082-13.39 0 0 .336 2.615-.939 5.29.612-2.611.684-5.857-.943-9.218-2.17-4.487-5.741-6.848-7.104-7.832-2.066-1.493-2.922-3.012-2.937-3.326-.617 1.225-2.484 5.422-.2 9.037 2.138 3.386 5.507 4.392 7.866 7.498 4.345 5.723-.825 11.941-.825 11.941Z",fill:"url(#m)"})),h||(h=g.createElement("path",{d:"M30.164 19.593c-1.374-2.75-3.09-3.95-4.713-5.251.189.256.235.346.34.512 1.428 1.475 3.535 5.073 2.005 9.589-2.878 8.501-14.392 4.498-15.599 3.374.488 4.92 8.989 7.274 14.523 4.084 3.15-2.889 5.697-7.799 3.444-12.308Z",fill:"url(#n)"})),y||(y=g.createElement("defs",null,g.createElement("radialGradient",{id:"a",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(12.97338 .56084 -.79877 18.47714 34.294 9.007)"},g.createElement("stop",{offset:.045,stopColor:"#FFEA00"}),g.createElement("stop",{offset:.12,stopColor:"#FFDE00"}),g.createElement("stop",{offset:.254,stopColor:"#FFBF00"}),g.createElement("stop",{offset:.429,stopColor:"#FF8E00"}),g.createElement("stop",{offset:.769,stopColor:"#FF272D"}),g.createElement("stop",{offset:.872,stopColor:"#E0255A"}),g.createElement("stop",{offset:.953,stopColor:"#CC2477"}),g.createElement("stop",{offset:1,stopColor:"#C42482"})),g.createElement("radialGradient",{id:"b",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(36.6 0 0 35.4606 25.04 7.066)"},g.createElement("stop",{stopColor:"#00CCDA"}),g.createElement("stop",{offset:.22,stopColor:"#0083FF"}),g.createElement("stop",{offset:.261,stopColor:"#007AF9"}),g.createElement("stop",{offset:.33,stopColor:"#0060E8"}),g.createElement("stop",{offset:.333,stopColor:"#005FE7"}),g.createElement("stop",{offset:.438,stopColor:"#2639AD"}),g.createElement("stop",{offset:.522,stopColor:"#401E84"}),g.createElement("stop",{offset:.566,stopColor:"#4A1475"})),g.createElement("radialGradient",{id:"d",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(12.28493 1.20099 -1.16432 11.90982 37.486 23.248)"},g.createElement("stop",{offset:.003,stopColor:"#FFEA00"}),g.createElement("stop",{offset:.497,stopColor:"#FF272D"}),g.createElement("stop",{offset:1,stopColor:"#C42482"})),g.createElement("radialGradient",{id:"e",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(20.5148 2.00555 -1.9443 19.88839 37.563 11.726)"},g.createElement("stop",{offset:.003,stopColor:"#FFE900"}),g.createElement("stop",{offset:.157,stopColor:"#FFAF0E"}),g.createElement("stop",{offset:.316,stopColor:"#FF7A1B"}),g.createElement("stop",{offset:.472,stopColor:"#FF4E26"}),g.createElement("stop",{offset:.621,stopColor:"#FF2C2E"}),g.createElement("stop",{offset:.762,stopColor:"#FF1434"}),g.createElement("stop",{offset:.892,stopColor:"#FF0538"}),g.createElement("stop",{offset:1,stopColor:"#FF0039"})),g.createElement("radialGradient",{id:"f",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"rotate(5.584 -292.79 410.445) scale(18.9143 18.3368)"},g.createElement("stop",{offset:.003,stopColor:"#FF272D"}),g.createElement("stop",{offset:.497,stopColor:"#C42482"}),g.createElement("stop",{offset:.986,stopColor:"#620700"})),g.createElement("radialGradient",{id:"g",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(29.5359 0 0 28.6163 27.006 14.416)"},g.createElement("stop",{offset:.156,stopColor:"#FFEA00"}),g.createElement("stop",{offset:.231,stopColor:"#FFDE00"}),g.createElement("stop",{offset:.365,stopColor:"#FFBF00"}),g.createElement("stop",{offset:.541,stopColor:"#FF8E00"}),g.createElement("stop",{offset:.763,stopColor:"#FF272D"}),g.createElement("stop",{offset:.796,stopColor:"#F92433"}),g.createElement("stop",{offset:.841,stopColor:"#E91C45"}),g.createElement("stop",{offset:.893,stopColor:"#CF0E62"}),g.createElement("stop",{offset:.935,stopColor:"#B5007F"})),g.createElement("radialGradient",{id:"h",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(34.8766 0 0 33.7908 24.784 .047)"},g.createElement("stop",{offset:.279,stopColor:"#FFEA00"}),g.createElement("stop",{offset:.402,stopColor:"#FD0"}),g.createElement("stop",{offset:.63,stopColor:"#FFBA00"}),g.createElement("stop",{offset:.856,stopColor:"#FF9100"}),g.createElement("stop",{offset:.933,stopColor:"#FF6711"}),g.createElement("stop",{offset:.994,stopColor:"#FF4A1D"})),g.createElement("linearGradient",{id:"c",x1:20.416,y1:26.678,x2:13.595,y2:3.646,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{stopColor:"#000F43",stopOpacity:.4}),g.createElement("stop",{offset:.485,stopColor:"#001962",stopOpacity:.173}),g.createElement("stop",{offset:1,stopColor:"#002079",stopOpacity:0})),g.createElement("linearGradient",{id:"i",x1:6.763,y1:12.983,x2:20.17,y2:10.906,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{stopColor:"#C42482",stopOpacity:.5}),g.createElement("stop",{offset:.474,stopColor:"#FF272D",stopOpacity:.5}),g.createElement("stop",{offset:.486,stopColor:"#FF2C2C",stopOpacity:.513}),g.createElement("stop",{offset:.675,stopColor:"#FF7A1A",stopOpacity:.72}),g.createElement("stop",{offset:.829,stopColor:"#FFB20D",stopOpacity:.871}),g.createElement("stop",{offset:.942,stopColor:"#FFD605",stopOpacity:.964}),g.createElement("stop",{offset:1,stopColor:"#FFE302"})),g.createElement("linearGradient",{id:"j",x1:5.424,y1:9.507,x2:3.989,y2:4.194,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{stopColor:"#891551",stopOpacity:.6}),g.createElement("stop",{offset:1,stopColor:"#C42482",stopOpacity:0})),g.createElement("linearGradient",{id:"k",x1:8.326,y1:17.157,x2:11.328,y2:21.483,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{offset:.005,stopColor:"#891551",stopOpacity:.5}),g.createElement("stop",{offset:.484,stopColor:"#FF272D",stopOpacity:.5}),g.createElement("stop",{offset:1,stopColor:"#FF272D",stopOpacity:0})),g.createElement("linearGradient",{id:"l",x1:14.315,y1:24.572,x2:14.582,y2:21.848,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{stopColor:"#C42482"}),g.createElement("stop",{offset:.083,stopColor:"#C42482",stopOpacity:.81}),g.createElement("stop",{offset:.206,stopColor:"#C42482",stopOpacity:.565}),g.createElement("stop",{offset:.328,stopColor:"#C42482",stopOpacity:.362}),g.createElement("stop",{offset:.447,stopColor:"#C42482",stopOpacity:.204}),g.createElement("stop",{offset:.562,stopColor:"#C42482",stopOpacity:.091}),g.createElement("stop",{offset:.673,stopColor:"#C42482",stopOpacity:.023}),g.createElement("stop",{offset:.773,stopColor:"#C42482",stopOpacity:0})),g.createElement("linearGradient",{id:"m",x1:23.432,y1:1.321,x2:34.378,y2:26.585,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{stopColor:"#FFF14F"}),g.createElement("stop",{offset:.268,stopColor:"#FFEE4C"}),g.createElement("stop",{offset:.452,stopColor:"#FFE643"}),g.createElement("stop",{offset:.612,stopColor:"#FFD834"}),g.createElement("stop",{offset:.757,stopColor:"#FFC41E"}),g.createElement("stop",{offset:.892,stopColor:"#FFAB02"}),g.createElement("stop",{offset:.902,stopColor:"#FFA900"}),g.createElement("stop",{offset:.949,stopColor:"#FFA000"}),g.createElement("stop",{offset:1,stopColor:"#FF9100"})),g.createElement("linearGradient",{id:"n",x1:25.711,y1:15.703,x2:20.54,y2:30.032,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{stopColor:"#FF8E00"}),g.createElement("stop",{offset:.04,stopColor:"#FF8E00",stopOpacity:.858}),g.createElement("stop",{offset:.084,stopColor:"#FF8E00",stopOpacity:.729}),g.createElement("stop",{offset:.13,stopColor:"#FF8E00",stopOpacity:.628}),g.createElement("stop",{offset:.178,stopColor:"#FF8E00",stopOpacity:.557}),g.createElement("stop",{offset:.227,stopColor:"#FF8E00",stopOpacity:.514}),g.createElement("stop",{offset:.282,stopColor:"#FF8E00",stopOpacity:.5}),g.createElement("stop",{offset:.389,stopColor:"#FF8E00",stopOpacity:.478}),g.createElement("stop",{offset:.524,stopColor:"#FF8E00",stopOpacity:.416}),g.createElement("stop",{offset:.676,stopColor:"#FF8E00",stopOpacity:.314}),g.createElement("stop",{offset:.838,stopColor:"#FF8E00",stopOpacity:.172}),g.createElement("stop",{offset:1,stopColor:"#FF8E00",stopOpacity:0})))))}},162:function(e,t,r){var l,n,o=r(7294),a=["title","titleId"];function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,i=s(e,a);return o.createElement("svg",c({width:36,height:36,viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),t?o.createElement("title",{id:r},t):null,l||(l=o.createElement("path",{d:"M12.847 20.961c0 1.24.514 2.283 1.092 3.392.642 1.174 1.541 2.087 2.698 2.804 1.156.718 2.376 1.044 3.79 1.044 1.349 0 2.633-.326 3.79-1.044 1.156-.717 1.99-1.76 2.697-2.935h8.993c-1.156 3.327-3.147 6.196-6.038 8.283-2.89 2.088-6.102 3.196-9.635 3.196-2.634 0-5.203-.587-7.516-1.76-5.267 2.608-9.057 2.739-11.37.39C.386 33.55 0 32.245 0 30.484c0-1.76.321-3.782 1.028-5.935.706-2.217 1.798-4.565 3.404-7.24 1.22-2.087 2.12-3.717 5.589-7.109 1.284-1.304 1.862-1.956 2.183-2.283-3.083 1.5-7.065 4.305-10.277 7.175 1.927-4.826 4.625-7.305 7.9-9.392 3.534-2.152 6.424-3.587 10.278-3.587.386 0 .771 0 1.22.065C24.153.872 26.723.22 29.036.024c2.311-.13 3.917.261 4.88 1.174 1.928 1.957 2.056 5.088.515 9.327 1.477 2.61 1.541 5.544 1.541 8.545 0 .717.065 1.37 0 1.956H12.848v-.065Z",fill:"#00C8F6"})),n||(n=o.createElement("path",{d:"M10.278 32.049c-3.34-2.087-4.497-3.783-5.846-7.5-2.248 4.434-2.89 6.456-1.22 8.152 1.477 1.5 3.212 1.109 7.066-.652ZM26.979 16.395c-.129-1.826-.771-3.456-2.12-4.696-1.349-1.304-2.955-1.826-4.753-1.826-1.863 0-3.405.522-4.754 1.826-1.349 1.305-2.312 2.87-2.44 4.696h14.067ZM26.208 3.285c3.083 1.566 3.597 1.827 5.91 4.631.77-2.152.899-2.74.578-3.391-.322-.783-.964-1.37-1.67-1.761-1.157-.653-1.928-.653-4.818.521Z",fill:"#fff"})))}},2018:function(e,t,r){var l,n=r(7294),o=["title","titleId"];function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,s=c(e,o);return n.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",width:32,height:32,viewBox:"0 0 32 32","aria-labelledby":r},s),t?n.createElement("title",{id:r},t):null,l||(l=n.createElement("path",{d:"M31.333 29.333H.666a.668.668 0 0 1-.667-.667V3.333c0-.367.299-.667.667-.667h30.667c.367 0 .667.3.667.667v25.333c0 .367-.3.667-.667.667zM1.333 28h29.333V4H1.333v24zM30.667 9.333H1.334a.668.668 0 0 1 0-1.334h29.333c.367 0 .667.3.667.667s-.3.667-.667.667zm-7.083 16.834c-2.575 0-4.667-2.093-4.667-4.667s2.092-4.667 4.667-4.667c2.573 0 4.667 2.093 4.667 4.667s-2.095 4.667-4.667 4.667zm0-8c-1.839 0-3.333 1.495-3.333 3.333s1.495 3.333 3.333 3.333c1.836 0 3.333-1.495 3.333-3.333s-1.496-3.333-3.333-3.333zM24 23.391a.659.659 0 0 1-.451-.176l-1.333-1.224a.665.665 0 1 1 .901-.98l.868.8 4.881-4.783a.672.672 0 0 1 .943.011.67.67 0 0 1-.008.943l-5.333 5.224a.693.693 0 0 1-.468.185zM4 6a.667.667 0 1 1-1.335-.001A.667.667 0 0 1 4 6zm2.667 0a.667.667 0 1 1-1.335-.001A.667.667 0 0 1 6.667 6zm2.666 0a.667.667 0 1 1-1.335-.001A.667.667 0 0 1 9.333 6z"})))}},4896:function(e,t,r){var l,n=r(7294),o=["title","titleId"];function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,s=c(e,o);return n.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",width:32,height:32,viewBox:"0 0 32 32","aria-labelledby":r},s),t?n.createElement("title",{id:r},t):null,l||(l=n.createElement("path",{d:"M22.004 23.327h-8a.667.667 0 0 1-.667-.667v-6.667c0-.368.299-.667.667-.667h8c.368 0 .667.299.667.667v6.667a.667.667 0 0 1-.667.667zm-7.333-1.334h6.667V16.66h-6.667v5.333zm6-6a.667.667 0 0 1-.667-.667v-1.277c0-1.008-.916-1.861-2-1.861-1.065 0-2 .896-2 1.917v1.221a.667.667 0 0 1-1.334 0v-1.221c0-1.761 1.527-3.251 3.333-3.251 1.805 0 3.333 1.463 3.333 3.195v1.277a.667.667 0 0 1-.667.667zm-3.334 5.46a.667.667 0 0 1-.465-.189l-1.333-1.293a.668.668 0 0 1 .928-.959l.876.849 2.328-2.189a.667.667 0 0 1 .915.969l-2.792 2.627a.652.652 0 0 1-.456.185zM26 27.327H7.333C3.289 27.327 0 24.04 0 20c0-3.988 3.205-7.243 7.179-7.325a11.314 11.314 0 0 1 10.823-8.001c6.249 0 11.332 5.084 11.332 11.333 0 .121-.004.243-.011.363A5.995 5.995 0 0 1 32 21.335c0 3.304-2.693 5.992-6 5.992zM7.408 14.017c-3.393 0-6.075 2.685-6.075 5.983 0 3.305 2.692 5.993 6 5.993H26a4.668 4.668 0 0 0 4.667-4.66c0-1.676-.885-3.185-2.367-4.031a.663.663 0 0 1-.333-.623c.02-.305.033-.488.033-.675 0-5.513-4.485-10-9.999-10a9.983 9.983 0 0 0-9.681 7.532.656.656 0 0 1-.676.501 1.954 1.954 0 0 1-.216-.024c-.007.003-.013.003-.02.003z"})))}},5809:function(e,t,r){var l,n=r(7294),o=["title","titleId"];function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,s=c(e,o);return n.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",width:32,height:32,viewBox:"0 0 32 32","aria-labelledby":r},s),t?n.createElement("title",{id:r},t):null,l||(l=n.createElement("path",{d:"M28.947 31.905a.676.676 0 0 1-.472-.195l-7.481-7.488-3.396 3.789a.666.666 0 0 1-1.109-.183L8.59 9.296a.667.667 0 0 1 .874-.874l18.473 7.895a.667.667 0 0 1 .179 1.114l-3.952 3.475 7.553 7.559c.26.259.26.683 0 .943l-2.301 2.303a.66.66 0 0 1-.469.195zm-7.978-9.321c.176 0 .347.071.472.195l7.507 7.516 1.36-1.361-7.584-7.588a.668.668 0 0 1 .03-.972l3.691-3.247-15.977-6.829 6.837 16.041 3.168-3.535a.673.673 0 0 1 .479-.223c.005.003.012.003.017.003zm-11.09-4.661a.642.642 0 0 1-.151-.017 6.767 6.767 0 0 1-5.245-6.617 6.803 6.803 0 0 1 6.796-6.796c3.196 0 5.993 2.267 6.651 5.391a.665.665 0 1 1-1.304.274 5.481 5.481 0 0 0-5.345-4.331 5.47 5.47 0 0 0-5.463 5.463 5.437 5.437 0 0 0 4.213 5.319.666.666 0 0 1-.152 1.314zm1.4 4.557C5.107 22.48.086 17.459.086 11.288.086 5.116 5.107.095 11.279.095c6.173 0 11.195 5.021 11.195 11.193a.667.667 0 0 1-1.334 0c0-5.436-4.423-9.86-9.861-9.86-5.436 0-9.86 4.423-9.86 9.86 0 5.439 4.423 9.859 9.86 9.859a.667.667 0 0 1 0 1.334z"})))}},6672:function(e,t,r){var l=r(7294),n=["title","titleId"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,c=a(e,n);return l.createElement("svg",o({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 122.88 79.09","aria-labelledby":r},c),void 0===t?l.createElement("title",{id:r},"monitoring-system"):t?l.createElement("title",{id:r},t):null,l.createElement("path",{d:"M99.61 0v21.93h-1c-.87 0-1.74.05-2.59.13V3.56H3.56v50h69.61a26.37 26.37 0 0 0 1.39 4.39 26 26 0 0 0 5.34 8.18H65.52v6.66h10v6.34h-51.6v-6.38h10.67v-6.66H0V0Zm-.81 29a19.18 19.18 0 0 1 16.42 29l7.42 8.08a.92.92 0 0 1-.06 1.3l-5.44 5a.93.93 0 0 1-1.3-.06l-7.09-7.81a19.08 19.08 0 0 1-10 2.79 19.06 19.06 0 0 1-7.33-1.46 19.17 19.17 0 0 1-10.34-25 19.23 19.23 0 0 1 10.39-10.39A19.05 19.05 0 0 1 98.8 29Zm10.77 8.3a15.31 15.31 0 0 0-24.9 5 15.35 15.35 0 0 0-1.14 5.81A15.1 15.1 0 0 0 84.67 54 15.26 15.26 0 0 0 88 59a15.49 15.49 0 0 0 5 3.32A15.3 15.3 0 0 0 112.93 54a15.27 15.27 0 0 0-3.34-16.61v-.05Zm-33.11-3h-1.57a1.4 1.4 0 0 1-1.38-1.17l-2.2-11-3.16 11.52a1.39 1.39 0 0 1-1.7 1 1.37 1.37 0 0 1-.9-.77L62.44 27l-2.26 5.54a1.39 1.39 0 0 1-1.29.87h-4.08a1.4 1.4 0 0 1-1.32-.94L51.26 27l-3.1 6.85a1.39 1.39 0 0 1-2.64-.3L42.39 22.1l-4.5 22.57a1.4 1.4 0 0 1-2.73 0l-4.58-14.2-1 2.51a1.39 1.39 0 0 1-1.29.87H11.74a1.4 1.4 0 1 1 0-2.79h15.61l2.09-5.22a1.39 1.39 0 0 1 2.61.09l4.15 12.93 4.61-23.09a1.41 1.41 0 0 1 1-1.07 1.38 1.38 0 0 1 1.7 1l3.7 13.5 2.84-6.27a1.36 1.36 0 0 1 .76-.73 1.38 1.38 0 0 1 1.81.77l3.13 7.66H58L61.08 23a1.36 1.36 0 0 1 .72-.75 1.39 1.39 0 0 1 1.84.7l2.85 6.28 3.66-13.41a1.39 1.39 0 0 1 2.74 0L76 31.52h2.41a27.09 27.09 0 0 0-2 2.79Zm-30 23.06h6.58a1.25 1.25 0 0 1 1.26 1.26 1.27 1.27 0 0 1-1.26 1.26h-6.55a1.27 1.27 0 0 1-1.26-1.26 1.26 1.26 0 0 1 1.26-1.26Zm11.38 0h1.21a1.26 1.26 0 0 1 1.27 1.26 1.27 1.27 0 0 1-1.27 1.26h-1.18a1.27 1.27 0 0 1-1.26-1.26 1.26 1.26 0 0 1 1.26-1.26Zm-17.34 0h1.21A1.25 1.25 0 0 1 43 58.63a1.26 1.26 0 0 1-1.26 1.26h-1.21a1.27 1.27 0 0 1-1.26-1.26 1.26 1.26 0 0 1 1.26-1.26Z",style:{fillRule:"evenodd"}}))}},2918:function(e,t,r){var l=r(7294),n=["title","titleId"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,c=a(e,n);return l.createElement("svg",o({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 122.88 91.86",style:{enableBackground:"new 0 0 122.88 91.86"},xmlSpace:"preserve","aria-labelledby":r},c),t?l.createElement("title",{id:r},t):null,l.createElement("path",{d:"m111.89 75.94-6.59 6.59c-1.73 1.73-4.58 1.73-6.31 0l-5.31-5.31a35.944 35.944 0 0 1-8.78 3.3v6.88c0 2.45-2.01 4.46-4.46 4.46h-9.32c-2.45 0-4.46-2.01-4.46-4.46v-7.51c-3.04-.92-5.91-2.23-8.54-3.89l-4.87 4.87c-1.73 1.73-4.58 1.73-6.31 0l-2.98-2.97.08-.09 13.07-14.96c4.78 5.6 11.9 9.16 19.84 9.16 14.4 0 26.08-11.68 26.08-26.07 0-14.4-11.68-26.08-26.08-26.08-7.21 0-13.74 2.93-18.46 7.66l-4.81-.18L41.51 16.5c.15-.21.31-.4.49-.59l6.59-6.59c1.73-1.73 4.58-1.73 6.31 0l5.31 5.31c2.74-1.47 5.68-2.59 8.78-3.3V4.45C69.01 2.01 71.02 0 73.47 0h9.31c2.45 0 4.46 2.01 4.46 4.46v7.51c3.04.92 5.91 2.24 8.54 3.89l4.87-4.87c1.73-1.73 4.58-1.73 6.31 0l6.59 6.59c1.73 1.73 1.73 4.58 0 6.31l-5.31 5.31c1.47 2.74 2.59 5.68 3.3 8.78h6.88c2.44 0 4.46 2.01 4.46 4.46v9.32c0 2.45-2.01 4.46-4.46 4.46h-7.5c-.92 3.04-2.23 5.91-3.89 8.54l4.87 4.87c1.73 1.73 1.73 4.57-.01 6.31zM77.03 37.46c4.68 0 8.47 3.79 8.47 8.47 0 4.68-3.79 8.47-8.47 8.47-4.68 0-8.47-3.79-8.47-8.47 0-4.68 3.8-8.47 8.47-8.47zm-16.89 7.95L37.13 71.76l-.77-12.36C20.63 57.15 8.58 61.47 0 73.87c.1-24.4 15.96-37.16 34.82-39.12l-.79-12.61 26.11 23.27z",style:{fillRule:"evenodd",clipRule:"evenodd"}}))}},5967:function(e,t,r){var l,n,o,a=r(7294),c=["title","titleId"];function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,p=i(e,c);return a.createElement("svg",s({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 511.996 511.996","aria-labelledby":r},p),t?a.createElement("title",{id:r},t):null,l||(l=a.createElement("path",{d:"M320.107 202.568a10.63 10.63 0 0 0 7.531-3.117l117.78-117.772c4.156-4.164 4.156-10.914 0-15.078-4.172-4.164-10.922-4.164-15.094 0L312.56 184.365c-4.172 4.164-4.172 10.922 0 15.086a10.64 10.64 0 0 0 7.547 3.117z"})),n||(n=a.createElement("path",{d:"M344.686 257.81 505.73 96.765a21.2 21.2 0 0 0 6.25-15.086 21.167 21.167 0 0 0-6.25-15.078L445.402 6.273c-4.016-4.031-9.375-6.25-15.078-6.25s-11.047 2.219-15.077 6.242L252.232 169.287a20.821 20.821 0 0 0-3.094 3.914c-12.047-10.664-21.438-18.968-26.906-23.812 4.546-17.422 13.484-63.75-9.094-97.375-12.359-18.406-26.828-32.14-43.016-40.819C156.263 3.765 141.107 0 125.076 0 85.717 0 54.295 22.68 52.983 23.648l-12.312 9.015 80.953 53.961 2.031 18.242-15.422 22.281-31.343.008L1.781 89.601l1.641 18.977c.078.969 2.203 24.109 14.766 47.43 10.266 19.054 24.453 32.741 41.89 40.71l-12.422 17.938 96.906 8.812c6.734 7.68 23.921 27.266 46.171 52.562L81.812 384.949v.016l-6.312 6.312-30.984 15.484-44.5 62.297 42.937 42.938 62.296-44.5 15.484-30.969 6.328-6.328 106.03-106.047c61.609 69.906 134.062 151.703 148.233 165.875 14.094 14.094 32.844 21.844 52.78 21.844 19.938 0 38.688-7.75 52.781-21.844 29.109-29.125 29.109-76.469 0-105.594-4.342-4.343-74.482-66.624-142.199-126.623zm-62.298-88.523c2.094 2.078 4.812 3.117 7.547 3.117s5.453-1.039 7.547-3.117L415.247 51.515c4.155-4.164 4.155-10.914 0-15.078l15.077-15.085 60.328 60.327-15.078 15.086c-4.172-4.164-10.922-4.164-15.078 0L342.732 214.529c-4.172 4.164-4.172 10.922 0 15.086l-14.031 14.031c-6.25-5.539-12.422-11.008-18.484-16.375l-42.907-42.906 15.078-15.078zm-162.389-21.655 17.422 9.531-5.828 8.483-17.453-9.554 5.859-8.46zm12.203-17.633 5.797-8.375 17.328 9.484-5.766 8.391-17.359-9.5zm-94.937 16.437c-3.641-6.641-6.25-13.344-8.125-19.305l42.718 21.359 21.609-.008-20.984 30.296c-14.765-5.71-26.562-16.514-35.218-32.342zm65.937 277.435-14.671 29.344-43.266 30.922-17.39-17.391 30.906-43.281 29.344-14.656 1.234-1.234 15.078 15.078-1.235 1.218zm16.313-16.297-15.078-15.078L204.843 292.09c4.578 5.188 9.297 10.562 14.125 16.031l-99.453 99.453zm352.294 67.36c-10.078 10.062-23.453 15.625-37.703 15.625s-27.64-5.562-37.702-15.625c-24.469-24.469-236.467-266.295-238.607-268.732l-2.814-3.204-68.984-6.273 15.921-23 27.891 15.258a10.628 10.628 0 0 0 5.109 1.312c3.406 0 6.734-1.641 8.797-4.633l35.875-52.202c1.703-2.492 2.281-5.578 1.578-8.516s-2.609-5.438-5.25-6.883l-31.234-17.094-2.953-26.578-62.296-41.531c10.984-5.39 27.484-11.53 45.64-11.53 27.719 0 51.39 14.327 70.359 42.577 21.828 32.516 4.734 85.094 4.562 85.609l-2.25 6.703 5.297 4.679c72.437 64.07 261.935 231.834 268.763 238.631 20.797 20.782 20.797 54.625.001 75.407z"})),o||(o=a.createElement("path",{d:"M239.248 224.881c-4.172-4.164-10.922-4.164-15.094 0-4.156 4.164-4.156 10.914 0 15.078l150.827 150.818a10.572 10.572 0 0 0 7.531 3.125c2.734 0 5.469-1.031 7.547-3.125 4.172-4.156 4.172-10.906 0-15.078L239.248 224.881zm196.061 179.146c-8.547 0-16.578 3.344-22.624 9.375-6.047 6.047-9.375 14.078-9.375 22.625s3.328 16.578 9.375 22.625c6.046 6.031 14.077 9.375 22.624 9.375s16.578-3.344 22.625-9.375c12.469-12.469 12.469-32.781 0-45.25-6.047-6.031-14.079-9.375-22.625-9.375zm7.546 39.532c-2.016 2.031-4.703 3.125-7.547 3.125s-5.531-1.094-7.547-3.125c-2.016-2-3.125-4.688-3.125-7.531s1.109-5.531 3.125-7.547 4.703-3.109 7.547-3.109 5.531 1.094 7.547 3.109c4.157 4.171 4.157 10.921 0 15.078z"})))}},6390:function(e,t,r){r.r(t),r.d(t,{default:function(){return S}});var l=r(5742),n=r(7462),o=r(7294),a={root:"root_AhId",heading:"heading_fnW7",subheading:"subheading_cJ8g",features:"features_ez_S",featureIcon:"featureIcon_fDSv",featureTitle:"featureTitle_ubQv",featureDescription:"featureDescription_d4Zi"},c=[{title:"Open Source",link:"/",icon:r(5967).Z,description:o.createElement(o.Fragment,null,"As an open source company, we're passionately engaged in numerous projects, initiatives and standards where we represent the needs and requirements of our many customers and partners.")},{title:"Test Everything",link:"/",icon:r(4896).Z,description:o.createElement(o.Fragment,null,"Web, Mobile, Desktop, and API services..")},{title:"Unified Framework API",link:"/",icon:r(5809).Z,description:o.createElement(o.Fragment,null,"All features that we provide- use the same syntax. Once you learn how to write tests for the web, you can start immediately writing for mobile, desktop, or API.")},{title:"Integrations",link:"/",icon:r(2918).Z,description:o.createElement(o.Fragment,null,"Seamlessly integrate the framework with your existing tools and processes. Execute tests in the clouds, distributed and publish test results in reporting solutions.")},{title:"Automatic waiting",link:"/",icon:r(2018).Z,description:o.createElement(o.Fragment,null,"Never add waits or sleeps to your tests. Selcukes automatically waits for commands and assertions before moving on. No more async hell.")},{title:"Debug",link:"/",icon:r(6672).Z,description:o.createElement(o.Fragment,null,"Stop guessing why your tests are failing. Our readable errors and stack traces make debugging lightning fast..")}];function s(e){var t=e.title,r=(e.link,e.icon),l=e.description;return o.createElement("div",{className:a.feature},o.createElement(r,{className:a.featureIcon,role:"img"}),o.createElement("h3",{className:a.featureTitle},t),o.createElement("p",{className:a.featureDescription},l))}function i(){return o.createElement("section",{className:a.root},o.createElement("div",{className:"container"},o.createElement("h2",{className:a.heading},"All-in-one Framework"),o.createElement("h3",{className:a.subheading},"Everything you need, ",o.createElement("br",{className:"hidden--lg"})," in one framework"),o.createElement("div",{className:a.features},c.map((function(e,t){return o.createElement(s,(0,n.Z)({key:t},e))})))))}var p=r(9960),f=r(512),m="root_Vlw6",u="wrapper_dohI",d="heading_NDJj",E="supheading_Wqow",h="subheading_epWx",y="buttons_lPY8",g="panelImage_wYPY";function v(){return o.createElement("section",{className:m},o.createElement("div",{className:(0,f.Z)("container",u)},o.createElement("div",null,o.createElement("p",{className:E},"What is "),o.createElement("h1",{className:d},"Selcukes ?",o.createElement("br",null)),o.createElement("h2",{className:h},"One stop automation solution for Web, Desktop, Mobile and API."),o.createElement("div",{className:y},o.createElement(p.Z,{className:"button button--lg button--primary",to:"/docs"},"Get Started"),o.createElement(p.Z,{className:"button button--lg button--secondary button--outline margin-left--md",href:"/"},"Book Demo"))),o.createElement("div",{className:g},o.createElement(p.Z,{href:"https://selcukes.github.io/",target:"_blank"},o.createElement("img",{src:"/img/programmer.png"})))))}var b="root_rQXT",O="heading_unpT",F="languages_YWkp",C="language_Pd3C",w="languageIcon_eeCc",j="languageName_kgzU",x=[{name:"Chrome",link:"/docs",icon:r(5827).Z},{name:"Firefox",link:"/docs",icon:r(877).Z},{name:"Edge",link:"/docs",icon:r(1505).Z},{name:"IE",link:"/docs",icon:r(162).Z},{name:"Android",link:"/docs",icon:r(3202).Z},{name:"Desktop",link:"/docs",icon:r(587).Z}];function Z(e){var t=e.name,r=e.link,l=e.icon;return o.createElement(p.Z,{className:C,to:r},o.createElement(l,{className:w,role:"img"}),o.createElement("h3",{className:j},t))}function M(){return o.createElement("section",{className:b},o.createElement("div",{className:"container"},o.createElement("h2",{className:O},"Supported Devices"),o.createElement("div",{className:F},x.map((function(e,t){return o.createElement(Z,(0,n.Z)({key:t},e))})))))}var k=r(1899);function S(){return o.createElement(k.Z,{description:"One stop automation solution for Web, Desktop, Mobile and API"},o.createElement(l.Z,null,o.createElement("title",null,"Selcukes")),o.createElement(v,null),o.createElement(M,null),o.createElement(i,null))}}}]); \ No newline at end of file diff --git a/assets/js/218.923d990c.js b/assets/js/218.923d990c.js new file mode 100644 index 0000000..4995897 --- /dev/null +++ b/assets/js/218.923d990c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[218],{9058:function(e,t,a){a.d(t,{Z:function(){return _}});var r=a(3366),n=a(7294),l=a(4334),o=a(1899),i=a(7524),s=a(9960),m=a(5999),c="sidebar_re4s",u="sidebarItemTitle_pO2u",d="sidebarItemList_Yudw",g="sidebarItem__DBe",p="sidebarItemLink_mo7H",f="sidebarItemLinkActive_I1ZP";function v(e){var t=e.sidebar;return n.createElement("aside",{className:"col col--3"},n.createElement("nav",{className:(0,l.Z)(c,"thin-scrollbar"),"aria-label":(0,m.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"})},n.createElement("div",{className:(0,l.Z)(u,"margin-bottom--md")},t.title),n.createElement("ul",{className:(0,l.Z)(d,"clean-list")},t.items.map((function(e){return n.createElement("li",{key:e.permalink,className:g},n.createElement(s.Z,{isNavLink:!0,to:e.permalink,className:p,activeClassName:f},e.title))})))))}var h=a(3102);function E(e){var t=e.sidebar;return n.createElement("ul",{className:"menu__list"},t.items.map((function(e){return n.createElement("li",{key:e.permalink,className:"menu__list-item"},n.createElement(s.Z,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active"},e.title))})))}function b(e){return n.createElement(h.Zo,{component:E,props:e})}function P(e){var t=e.sidebar,a=(0,i.i)();return null!=t&&t.items.length?"mobile"===a?n.createElement(b,{sidebar:t}):n.createElement(v,{sidebar:t}):null}var N=["sidebar","toc","children"];function _(e){var t=e.sidebar,a=e.toc,i=e.children,s=(0,r.Z)(e,N),m=t&&t.items.length>0;return n.createElement(o.Z,s,n.createElement("div",{className:"container margin-vert--lg"},n.createElement("div",{className:"row"},n.createElement(P,{sidebar:t}),n.createElement("main",{className:(0,l.Z)("col",{"col--7":m,"col--9 col--offset-1":!m}),itemScope:!0,itemType:"http://schema.org/Blog"},i),a&&n.createElement("div",{className:"col col--2"},a))))}},756:function(e,t,a){a.d(t,{Z:function(){return H}});var r=a(7294),n=a(4334),l=a(9460),o=a(4996);function i(e){var t,a,n=e.children,i=e.className,s=(0,l.C)(),m=s.frontMatter,c=s.assets,u=s.metadata.description,d=(0,o.C)().withBaseUrl,g=null!=(t=c.image)?t:m.image,p=null!=(a=m.keywords)?a:[];return r.createElement("article",{className:i,itemProp:"blogPost",itemScope:!0,itemType:"http://schema.org/BlogPosting"},u&&r.createElement("meta",{itemProp:"description",content:u}),g&&r.createElement("link",{itemProp:"image",href:d(g,{absolute:!0})}),p.length>0&&r.createElement("meta",{itemProp:"keywords",content:p.join(",")}),n)}var s=a(9960),m="title_f1Hy";function c(e){var t=e.className,a=(0,l.C)(),o=a.metadata,i=a.isBlogPostPage,c=o.permalink,u=o.title,d=i?"h1":"h2";return r.createElement(d,{className:(0,n.Z)(m,t),itemProp:"headline"},i?u:r.createElement(s.Z,{itemProp:"url",to:c},u))}var u=a(5999),d=a(2263),g=["zero","one","two","few","many","other"];function p(e){return g.filter((function(t){return e.includes(t)}))}var f={locale:"en",pluralForms:p(["one","other"]),select:function(e){return 1===e?"one":"other"}};function v(){var e=(0,d.Z)().i18n.currentLocale;return(0,r.useMemo)((function(){try{return t=e,a=new Intl.PluralRules(t),{locale:t,pluralForms:p(a.resolvedOptions().pluralCategories),select:function(e){return a.select(e)}}}catch(r){return console.error('Failed to use Intl.PluralRules for locale "'+e+'".\nDocusaurus will fallback to the default (English) implementation.\nError: '+r.message+"\n"),f}var t,a}),[e])}function h(){var e=v();return{selectMessage:function(t,a){return function(e,t,a){var r=e.split("|");if(1===r.length)return r[0];r.length>a.pluralForms.length&&console.error("For locale="+a.locale+", a maximum of "+a.pluralForms.length+" plural forms are expected ("+a.pluralForms.join(",")+"), but the message contains "+r.length+": "+e);var n=a.select(t),l=a.pluralForms.indexOf(n);return r[Math.min(l,r.length-1)]}(a,t,e)}}}var E="container_mt6G";function b(e){var t,a=e.readingTime,n=(t=h().selectMessage,function(e){var a=Math.ceil(e);return t(a,(0,u.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:a}))});return r.createElement(r.Fragment,null,n(a))}function P(e){var t=e.date,a=e.formattedDate;return r.createElement("time",{dateTime:t,itemProp:"datePublished"},a)}function N(){return r.createElement(r.Fragment,null," \xb7 ")}function _(e){var t=e.className,a=(0,l.C)().metadata,o=a.date,i=a.formattedDate,s=a.readingTime;return r.createElement("div",{className:(0,n.Z)(E,"margin-vert--md",t)},r.createElement(P,{date:o,formattedDate:i}),void 0!==s&&r.createElement(r.Fragment,null,r.createElement(N,null),r.createElement(b,{readingTime:s})))}function Z(e){return e.href?r.createElement(s.Z,e):r.createElement(r.Fragment,null,e.children)}function k(e){var t=e.author,a=e.className,l=t.name,o=t.title,i=t.url,s=t.imageURL,m=t.email,c=i||m&&"mailto:"+m||void 0;return r.createElement("div",{className:(0,n.Z)("avatar margin-bottom--sm",a)},s&&r.createElement(Z,{href:c,className:"avatar__photo-link"},r.createElement("img",{className:"avatar__photo",src:s,alt:l,itemProp:"image"})),l&&r.createElement("div",{className:"avatar__intro",itemProp:"author",itemScope:!0,itemType:"https://schema.org/Person"},r.createElement("div",{className:"avatar__name"},r.createElement(Z,{href:c,itemProp:"url"},r.createElement("span",{itemProp:"name"},l))),o&&r.createElement("small",{className:"avatar__subtitle",itemProp:"description"},o)))}var w="authorCol_Hf19",C="imageOnlyAuthorRow_pa_O",T="imageOnlyAuthorCol_G86a";function y(e){var t=e.className,a=(0,l.C)(),o=a.metadata.authors,i=a.assets;if(0===o.length)return null;var s=o.every((function(e){return!e.name}));return r.createElement("div",{className:(0,n.Z)("margin-top--md margin-bottom--sm",s?C:"row",t)},o.map((function(e,t){var a;return r.createElement("div",{className:(0,n.Z)(!s&&"col col--6",s?T:w),key:t},r.createElement(k,{author:Object.assign({},e,{imageURL:null!=(a=i.authorsImageUrls[t])?a:e.imageURL})}))})))}function B(){return r.createElement("header",null,r.createElement(c,null),r.createElement(_,null),r.createElement(y,null))}var I=a(8780),F=a(8718);function M(e){var t=e.children,a=e.className,o=(0,l.C)().isBlogPostPage;return r.createElement("div",{id:o?I.blogPostContainerID:void 0,className:(0,n.Z)("markdown",a),itemProp:"articleBody"},r.createElement(F.Z,null,t))}var L=a(4881),R=a(6233),x=a(7462),A=a(3366),O=["blogPostTitle"];function U(){return r.createElement("b",null,r.createElement(u.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts"},"Read More"))}function D(e){var t=e.blogPostTitle,a=(0,A.Z)(e,O);return r.createElement(s.Z,(0,x.Z)({"aria-label":(0,u.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t})},a),r.createElement(U,null))}var S="blogPostFooterDetailsFull_mRVl";function j(){var e=(0,l.C)(),t=e.metadata,a=e.isBlogPostPage,o=t.tags,i=t.title,s=t.editUrl,m=t.hasTruncateMarker,c=!a&&m,u=o.length>0;return u||c||s?r.createElement("footer",{className:(0,n.Z)("row docusaurus-mt-lg",a&&S)},u&&r.createElement("div",{className:(0,n.Z)("col",{"col--9":c})},r.createElement(R.Z,{tags:o})),a&&s&&r.createElement("div",{className:"col margin-top--sm"},r.createElement(L.Z,{editUrl:s})),c&&r.createElement("div",{className:(0,n.Z)("col text--right",{"col--3":u})},r.createElement(D,{blogPostTitle:i,to:t.permalink}))):null}function H(e){var t=e.children,a=e.className,o=(0,l.C)().isBlogPostPage?void 0:"margin-bottom--xl";return r.createElement(i,{className:(0,n.Z)(o,a)},r.createElement(B,null),r.createElement(M,null,t),r.createElement(j,null))}},9460:function(e,t,a){a.d(t,{C:function(){return i},n:function(){return o}});var r=a(7294),n=a(9688),l=r.createContext(null);function o(e){var t=e.children,a=e.content,n=e.isBlogPostPage,o=function(e){var t=e.content,a=e.isBlogPostPage;return(0,r.useMemo)((function(){return{metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a}}),[t,a])}({content:a,isBlogPostPage:void 0!==n&&n});return r.createElement(l.Provider,{value:o},t)}function i(){var e=(0,r.useContext)(l);if(null===e)throw new n.i6("BlogPostProvider");return e}}}]); \ No newline at end of file diff --git a/assets/js/3d285c18.58cf10db.js b/assets/js/3d285c18.58cf10db.js new file mode 100644 index 0000000..d163bb5 --- /dev/null +++ b/assets/js/3d285c18.58cf10db.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[150],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return d}});var r=n(7294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(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=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var s=r.createContext({}),o=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):u(u({},t),e)),n},c=function(e){var t=o(e.components);return r.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,l=e.mdxType,a=e.originalType,s=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),f=o(n),d=l,m=f["".concat(s,".").concat(d)]||f[d]||p[d]||a;return n?r.createElement(m,u(u({ref:t},c),{},{components:n})):r.createElement(m,u({ref:t},c))}));function d(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=n.length,u=new Array(a);u[0]=f;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:l,u[1]=i;for(var o=2;o child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,n=e.children;return(0,l.useMemo)((function(){var e=null!=t?t:c(n);return function(e){var t=(0,s.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function f(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function d(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId,a=(0,u.k6)(),s=function(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=r?r:null}({queryString:n,groupId:r});return[(0,i._X)(s),(0,l.useCallback)((function(e){if(s){var t=new URLSearchParams(a.location.search);t.set(s,e),a.replace(Object.assign({},a.location,{search:t.toString()}))}}),[s,a])]}function m(e){var t,n,r,a,u=e.defaultValue,i=e.queryString,s=void 0!==i&&i,c=e.groupId,m=p(e),h=(0,l.useState)((function(){return function(e){var t,n=e.defaultValue,r=e.tabValues;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!f({value:n,tabValues:r}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+r.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var l=null!=(t=r.find((function(e){return e.default})))?t:r[0];if(!l)throw new Error("Unexpected error: 0 tabValues");return l.value}({defaultValue:u,tabValues:m})})),v=h[0],b=h[1],k=d({queryString:s,groupId:c}),g=k[0],x=k[1],y=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),n=(0,o.Nk)(t),r=n[0],a=n[1],[r,(0,l.useCallback)((function(e){t&&a.set(e)}),[t,a])]),T=y[0],E=y[1],w=function(){var e=null!=g?g:T;return f({value:e,tabValues:m})?e:null}();return(0,l.useLayoutEffect)((function(){w&&b(w)}),[w]),{selectedValue:v,selectValue:(0,l.useCallback)((function(e){if(!f({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);b(e),x(e),E(e)}),[x,E,m]),tabValues:m}}var h=n(2466),v=n(2389),b="tabList__CuJ",k="tabItem_LNqP";function g(e){var t=e.className,n=e.block,u=e.selectedValue,i=e.selectValue,s=e.tabValues,o=[],c=(0,h.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,n=o.indexOf(t),r=s[n].value;r!==u&&(c(t),i(r))},f=function(e){var t,n=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var r,l=o.indexOf(e.currentTarget)+1;n=null!=(r=o[l])?r:o[0];break;case"ArrowLeft":var a,u=o.indexOf(e.currentTarget)-1;n=null!=(a=o[u])?a:o[o.length-1]}null==(t=n)||t.focus()};return l.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t)},s.map((function(e){var t=e.value,n=e.label,i=e.attributes;return l.createElement("li",(0,r.Z)({role:"tab",tabIndex:u===t?0:-1,"aria-selected":u===t,key:t,ref:function(e){return o.push(e)},onKeyDown:f,onClick:p},i,{className:(0,a.Z)("tabs__item",k,null==i?void 0:i.className,{"tabs__item--active":u===t})}),null!=n?n:t)})))}function x(e){var t=e.lazy,n=e.children,r=e.selectedValue,a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var u=a.find((function(e){return e.props.value===r}));return u?(0,l.cloneElement)(u,{className:"margin-top--md"}):null}return l.createElement("div",{className:"margin-top--md"},a.map((function(e,t){return(0,l.cloneElement)(e,{key:t,hidden:e.props.value!==r})})))}function y(e){var t=m(e);return l.createElement("div",{className:(0,a.Z)("tabs-container",b)},l.createElement(g,(0,r.Z)({},e,t)),l.createElement(x,(0,r.Z)({},e,t)))}function T(e){var t=(0,v.Z)();return l.createElement(y,(0,r.Z)({key:String(t)},e))}},5019:function(e,t,n){n.r(t),n.d(t,{assets:function(){return f},contentTitle:function(){return c},default:function(){return h},frontMatter:function(){return o},metadata:function(){return p},toc:function(){return d}});var r=n(7462),l=n(3366),a=(n(7294),n(3905)),u=n(4866),i=n(5162),s=["components"],o={id:"excel-runner",title:"Selcukes Excel Runner",sidebar_position:4},c=void 0,p={unversionedId:"guides/excel-runner",id:"guides/excel-runner",title:"Selcukes Excel Runner",description:"Selcukes Excel Runner is an Excel driven cucumber runner which helps to",source:"@site/docs/03_guides/excel-runner.md",sourceDirName:"03_guides",slug:"/guides/excel-runner",permalink:"/docs/guides/excel-runner",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/excel-runner.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"excel-runner",title:"Selcukes Excel Runner",sidebar_position:4},sidebar:"defaultSidebar",previous:{title:"Selcukes Notifier",permalink:"/docs/guides/selcukes-notifier"},next:{title:"Selcukes TestNG",permalink:"/docs/guides/selcukes-testng"}},f={},d=[{value:"Setup",id:"setup",level:2},{value:"Usage",id:"usage",level:2},{value:"Single Excel File Tests",id:"single-excel-file-tests",level:3},{value:"Multi Excel File Tests",id:"multi-excel-file-tests",level:3}],m={toc:d};function h(e){var t=e.components,n=(0,l.Z)(e,s);return(0,a.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/selcukes-excel-runner"},"Selcukes Excel Runner")," is an Excel driven cucumber runner which helps to"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Execute cucumber scenarios in required order"),(0,a.kt)("li",{parentName:"ol"},"Execute only specific examples in a Scenario Outline")),(0,a.kt)("h2",{id:"setup"},"Setup"),(0,a.kt)("p",null,"Selcukes Excel Runner is primarily used as a Java dependency . We typically use a ",(0,a.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,a.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,a.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Selcukes Excel Runner dependency."),(0,a.kt)(u.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,a.kt)(i.Z,{value:"maven",mdxType:"TabItem"},(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n selcukes-excel-runner\n ${selcukes.version}\n\n"))),(0,a.kt)(i.Z,{value:"gradle",mdxType:"TabItem"},(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:selcukes-excel-runner:${selcukes.version}")\n }\n')))),(0,a.kt)("h2",{id:"usage"},"Usage"),(0,a.kt)("p",null,"ExcelTestRunner supports both single-excel-file and multi-excel file."),(0,a.kt)("h3",{id:"single-excel-file-tests"},"Single Excel File Tests"),(0,a.kt)("p",null,'Single Excel file tests hold both suite details and testdata details in same excel file.\nTo run cucumber tests from a single Excel file, you will need to create a "Test Suite" sheet, that will contain the following information:'),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Screen: The name of the screen"),(0,a.kt)("li",{parentName:"ul"},"Feature: The name of the feature that the test belongs to."),(0,a.kt)("li",{parentName:"ul"},"Test: The name of the test or Scenario."),(0,a.kt)("li",{parentName:"ul"},"Run: Indicates that the test should be run.")),(0,a.kt)("p",null,"And Have the separate sheets for each screen will contain the following mandatory column:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Test: The name of the test or Scenario."),(0,a.kt)("li",{parentName:"ul"},"Example: The cucumber example."),(0,a.kt)("li",{parentName:"ul"},"Run: Indicates that the test should be run.")),(0,a.kt)("p",null,"In additions to above three column, you have your screen specific field column."),(0,a.kt)("p",null,"Here is exmple of Single excel file test ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/blob/main/selcukes-excel-runner/src/test/resources/TestData.xlsx"},"TestData.xlsx")),(0,a.kt)("h3",{id:"multi-excel-file-tests"},"Multi Excel File Tests"),(0,a.kt)("p",null,'To run cucumber tests from multiple Excel files, you will need to create a "TestSuite.xlsx" file with multiple test suite sheets like Regression, Smoke, etc. Each test suite sheet will contain the following information:'),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Screen: The name of the screen"),(0,a.kt)("li",{parentName:"ul"},"Feature: The name of the feature that the test belongs to."),(0,a.kt)("li",{parentName:"ul"},"Test: The name of the test or Scenario."),(0,a.kt)("li",{parentName:"ul"},"Run: Indicates that the test should be run."),(0,a.kt)("li",{parentName:"ul"},"DataFile: The path to the file that contains the respective screen test data.")),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"DataFile")," column is new in multi-excel file concept. It specifies the path to the file that contains the test data for the respective screen. The test data is similar to single-excel file test approach, only thing here, each screen has dedicated excel file instead of sheet."),(0,a.kt)("p",null,"Here is exmple of Multi excel file Tests"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Suite file ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/selcukes/selcukes-java/blob/main/selcukes-excel-runner/src/test/resources/TestSuite.xlsx"},"TestSuite.xlsx")),(0,a.kt)("li",{parentName:"ul"},"Google screen file ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/selcukes/selcukes-java/blob/main/selcukes-excel-runner/src/test/resources/Google.xlsx"},"Google.xlsx"))))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4464155c.6dcb6248.js b/assets/js/4464155c.6dcb6248.js new file mode 100644 index 0000000..78d2a58 --- /dev/null +++ b/assets/js/4464155c.6dcb6248.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[635],{3905:function(e,r,t){t.d(r,{Zo:function(){return c},kt:function(){return v}});var n=t(7294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),u=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},c=function(e){var r=u(e.components);return n.createElement(l.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},p=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=u(t),v=a,m=p["".concat(l,".").concat(v)]||p[v]||d[v]||i;return t?n.createElement(m,o(o({ref:r},c),{},{components:t})):n.createElement(m,o({ref:r},c))}));function v(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=t.length,o=new Array(i);o[0]=p;var s={};for(var l in r)hasOwnProperty.call(r,l)&&(s[l]=r[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var u=2;u child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:t.filter(Boolean))?r:[]}(e).map((function(e){var r=e.props;return{value:r.value,label:r.label,attributes:r.attributes,default:r.default}}))}function d(e){var r=e.values,t=e.children;return(0,a.useMemo)((function(){var e=null!=r?r:c(t);return function(e){var r=(0,l.l)(e,(function(e,r){return e.value===r.value}));if(r.length>0)throw new Error('Docusaurus error: Duplicate values "'+r.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[r,t])}function p(e){var r=e.value;return e.tabValues.some((function(e){return e.value===r}))}function v(e){var r=e.queryString,t=void 0!==r&&r,n=e.groupId,i=(0,o.k6)(),l=function(e){var r=e.queryString,t=void 0!==r&&r,n=e.groupId;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=n?n:null}({queryString:t,groupId:n});return[(0,s._X)(l),(0,a.useCallback)((function(e){if(l){var r=new URLSearchParams(i.location.search);r.set(l,e),i.replace(Object.assign({},i.location,{search:r.toString()}))}}),[l,i])]}function m(e){var r,t,n,i,o=e.defaultValue,s=e.queryString,l=void 0!==s&&s,c=e.groupId,m=d(e),h=(0,a.useState)((function(){return function(e){var r,t=e.defaultValue,n=e.tabValues;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error('Docusaurus error: The has a defaultValue "'+t+'" but none of its children has the corresponding value. Available values are: '+n.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return t}var a=null!=(r=n.find((function(e){return e.default})))?r:n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:o,tabValues:m})})),b=h[0],f=h[1],g=v({queryString:l,groupId:c}),y=g[0],w=g[1],k=(r=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),t=(0,u.Nk)(r),n=t[0],i=t[1],[n,(0,a.useCallback)((function(e){r&&i.set(e)}),[r,i])]),D=k[0],N=k[1],T=function(){var e=null!=y?y:D;return p({value:e,tabValues:m})?e:null}();return(0,a.useLayoutEffect)((function(){T&&f(T)}),[T]),{selectedValue:b,selectValue:(0,a.useCallback)((function(e){if(!p({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);f(e),w(e),N(e)}),[w,N,m]),tabValues:m}}var h=t(2466),b=t(2389),f="tabList__CuJ",g="tabItem_LNqP";function y(e){var r=e.className,t=e.block,o=e.selectedValue,s=e.selectValue,l=e.tabValues,u=[],c=(0,h.o5)().blockElementScrollPositionUntilNextRender,d=function(e){var r=e.currentTarget,t=u.indexOf(r),n=l[t].value;n!==o&&(c(r),s(n))},p=function(e){var r,t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":var n,a=u.indexOf(e.currentTarget)+1;t=null!=(n=u[a])?n:u[0];break;case"ArrowLeft":var i,o=u.indexOf(e.currentTarget)-1;t=null!=(i=u[o])?i:u[u.length-1]}null==(r=t)||r.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":t},r)},l.map((function(e){var r=e.value,t=e.label,s=e.attributes;return a.createElement("li",(0,n.Z)({role:"tab",tabIndex:o===r?0:-1,"aria-selected":o===r,key:r,ref:function(e){return u.push(e)},onKeyDown:p,onClick:d},s,{className:(0,i.Z)("tabs__item",g,null==s?void 0:s.className,{"tabs__item--active":o===r})}),null!=t?t:r)})))}function w(e){var r=e.lazy,t=e.children,n=e.selectedValue,i=(Array.isArray(t)?t:[t]).filter(Boolean);if(r){var o=i.find((function(e){return e.props.value===n}));return o?(0,a.cloneElement)(o,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},i.map((function(e,r){return(0,a.cloneElement)(e,{key:r,hidden:e.props.value!==n})})))}function k(e){var r=m(e);return a.createElement("div",{className:(0,i.Z)("tabs-container",f)},a.createElement(y,(0,n.Z)({},e,r)),a.createElement(w,(0,n.Z)({},e,r)))}function D(e){var r=(0,b.Z)();return a.createElement(k,(0,n.Z)({key:String(r)},e))}},4885:function(e,r,t){t.r(r),t.d(r,{assets:function(){return p},contentTitle:function(){return c},default:function(){return h},frontMatter:function(){return u},metadata:function(){return d},toc:function(){return v}});var n=t(7462),a=t(3366),i=(t(7294),t(3905)),o=t(4866),s=t(5162),l=["components"],u={id:"webdriver-binaries",title:"WebDriver Binaries",sidebar_position:10},c=void 0,d={unversionedId:"guides/webdriver-binaries",id:"guides/webdriver-binaries",title:"WebDriver Binaries",description:"WebDriver Binaries is an open-source Java",source:"@site/docs/03_guides/webdriver-binaries.md",sourceDirName:"03_guides",slug:"/guides/webdriver-binaries",permalink:"/docs/guides/webdriver-binaries",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/webdriver-binaries.md",tags:[],version:"current",sidebarPosition:10,frontMatter:{id:"webdriver-binaries",title:"WebDriver Binaries",sidebar_position:10},sidebar:"defaultSidebar",previous:{title:"Selcukes logger",permalink:"/docs/guides/logger"},next:{title:"Selcukes Collections",permalink:"/docs/guides/collections"}},p={},v=[{value:"Motivation",id:"motivation",level:2},{value:"Setup",id:"setup",level:2},{value:"Driver Management",id:"driver-management",level:2},{value:"Resolution Algorithm",id:"resolution-algorithm",level:2},{value:"Advanced Configuration",id:"advanced-configuration",level:2}],m={toc:v};function h(e){var r=e.components,u=(0,a.Z)(e,l);return(0,i.kt)("wrapper",(0,n.Z)({},m,u,{components:r,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/webdriver-binaries"},"WebDriver Binaries")," is an open-source Java\nlibrary that automatically downloads and configures the binary drivers (e.g., chromedriver, geckodriver, msedgedriver,\netc.) required by Selenium WebDriver."),(0,i.kt)("h2",{id:"motivation"},"Motivation"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://www.selenium.dev/documentation/webdriver/"},"Selenium WebDriver")," is a library that allows controlling web\nbrowsers programmatically. It provides a cross-browser API that can be used to drive web browsers (e.g., Chrome, Edge,\nor Firefox, among others) using different programming languages (e.g., Java, JavaScript, Python, C#, or Ruby). The\nprimary use of Selenium WebDriver is implementing automated tests for web applications."),(0,i.kt)("p",null,"Selenium WebDriver carries out the automation using the native support of each browser. For this reason, we need to\nplace a binary file called ",(0,i.kt)("em",{parentName:"p"},"driver")," between the test using the Selenium WebDriver API and the browser to be controlled.\nExamples of drivers for major web browsers nowadays are ",(0,i.kt)("a",{parentName:"p",href:"https://chromedriver.chromium.org/"},"chromedriver")," (for Chrome)\n, ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/mozilla/geckodriver/"},"geckodriver")," (for Firefox),\nor ",(0,i.kt)("a",{parentName:"p",href:"https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/"},"msedgedriver")," (for Edge). As you can see in\nthe following picture, the communication between the WebDriver API and the driver binary is done using a standard\nprotocol called ",(0,i.kt)("a",{parentName:"p",href:"https://www.w3.org/TR/webdriver/"},"W3C WebDriver")," (formerly the so-called ",(0,i.kt)("em",{parentName:"p"},"JSON Wire Protocol"),"). Then,\nthe communication between the driver and the browser is done using the native capabilities of each browser."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Architecture",src:t(534).Z,width:"718",height:"189"})),(0,i.kt)("p",null,"From a practical point of view, we need to make a ",(0,i.kt)("em",{parentName:"p"},"driver management process")," to use Selenium WebDriver. This process\nconsists on:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Download. Drivers are platform-specific binary files. To download the proper driver, we have to identify the driver\ntype we need (e.g., chromedriver if we want to use Chrome), the operating system (typically, Windows, Linux, or Mac\nOS), the architecture (typically, 32 or 64 bits), and very important, the driver version. Concerning the version,\neach driver release is usually compatible with a given browser version(s). For this reason, we need to discover the\ncorrect driver version for a specific browser release (typically reading the driver documentation or release notes)."),(0,i.kt)("li",{parentName:"ol"},"Setup. Once we have downloaded the driver to our computer, we need to provide a way to locate this driver from our\nSelenium WebDriver tests. In Java, this setup can be done in two different ways. First, we can add the driver\nlocation to our ",(0,i.kt)("inlineCode",{parentName:"li"},"PATH")," environmental variable. Second, we can use ",(0,i.kt)("em",{parentName:"li"},"Java system properties")," to export the driver path.\nEach driver path should be identified using a given system property, as follows:")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-java"},'System.setProperty("webdriver.chrome.driver","/path/to/chromedriver");\nSystem.setProperty("webdriver.gecko.driver","/path/to/geckodriver");\nSystem.setProperty("webdriver.edge.driver","/path/to/msedgedriver");\nSystem.setProperty("webdriver.opera.driver","/path/to/operadriver");\nSystem.setProperty("webdriver.ie.driver","C:/path/to/IEDriverServer.exe");\n')),(0,i.kt)("ol",{start:3},(0,i.kt)("li",{parentName:"ol"},"Maintenance. Last but not least, we need to warranty the compatibility between driver and browser in time. This step\nis relevant since modern browsers automatically upgrade themselves (i.e., they are ",(0,i.kt)("em",{parentName:"li"},"evergreen"),' browsers), and for\nthis reason, the compatibility driver-browser is not warranted in the long run. For instance, when a WebDriver test\nusing Chrome faces a driver incompatibility, it reports the following error message: "',(0,i.kt)("em",{parentName:"li"},"this version of chromedriver\nonly supports chrome version N"),'." As you can see\nin',(0,i.kt)("a",{parentName:"li",href:"https://stackoverflow.com/search?q=this+version+of+chromedriver+only+supports+Chrome+version"},"StackOverflow"),",\nthis is a recurrent problem for manually managed drivers (chromedriver in this case).")),(0,i.kt)("h2",{id:"setup"},"Setup"),(0,i.kt)("p",null,"WebDriver Binaries is primarily used as a Java dependency . We typically use a ",(0,i.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,i.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,i.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the WebDriver Binaries dependency."),(0,i.kt)(o.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,i.kt)(s.Z,{value:"maven",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n webdriver-binaries\n ${selcukes.version}\n test\n\n"))),(0,i.kt)(s.Z,{value:"gradle",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n testImplementation("io.github.selcukes:webdriver-binaries:${selcukes.version}")\n}\n')))),(0,i.kt)("h2",{id:"driver-management"},"Driver Management"),(0,i.kt)("p",null,"The primary use of WebDriver Binaries is the automation of driver management. For using this feature, you need to select\na given driver in the WebDriver Binaries API (e.g., ",(0,i.kt)("inlineCode",{parentName:"p"},"chromeDriver()")," for Chrome) and invoke the method ",(0,i.kt)("inlineCode",{parentName:"p"},"setup()"),". The\nfollowing example shows a test case using ",(0,i.kt)("a",{parentName:"p",href:"https://testng.org/doc/"},"TestNG"),", Selenium WebDriver, WebDriver Binaries. In\nthis test, we invoke WebDriver Binaries in the setup method for all tests (",(0,i.kt)("inlineCode",{parentName:"p"},"@BeforeClass"),"). This way, the required\nbinary (chromeDriver) will be available for all the WebDriver tests using Chrome in this class."),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-java"},"public class WebDriverTest {\n\n private WebDriver driver;\n\n @BeforeClass\n public static void setupClass() {\n WebDriverBinary.chromeDriver().setup();\n }\n\n @Before\n public void setupTest() {\n driver = new ChromeDriver();\n }\n\n @After\n public void teardown() {\n if (driver != null) {\n driver.quit();\n }\n }\n\n @Test\n public void test() {\n // Your test code here\n }\n\n}\n")),(0,i.kt)("p",null,"WebDriver Binaries provides a set of ",(0,i.kt)("em",{parentName:"p"},"binaries")," for Chrome, Firefox, Edge, Opera, Chromium, and Internet Explorer. The\nbasic use of these binary is the following:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-java"},"WebDriverBinary.chromeDriver().setup();\nWebDriverBinary.firefoxDriver().setup();\nWebDriverBinary.ieDriver().setup();\nWebDriverBinary.edgeDriver().setup();\n WebDriverBinary.operaDriver().setup();\n")),(0,i.kt)("h2",{id:"resolution-algorithm"},"Resolution Algorithm"),(0,i.kt)("p",null,"WebDriver Binaries executes a ",(0,i.kt)("em",{parentName:"p"},"resolution algorithm")," when calling to ",(0,i.kt)("inlineCode",{parentName:"p"},"setup()")," in a given manager. The most relevant\nparts of this algorithm are the following:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"WebDriverBinary tries to find the browser version. To this aim, WebDriverBinary uses internally a knowledge database\ncalled commands' database. This database is a collection of shell commands used to discover the version of a given\nbrowser in the different operating systems (e.g., ",(0,i.kt)("inlineCode",{parentName:"li"},"google-chrome --version")," for Chrome in Linux)."),(0,i.kt)("li",{parentName:"ol"},"Using the browser version, it tries to find the proper driver version. This process is different for each browser. In\nChrome and Edge, their respective drivers (chromedriver and msedgedriver) maintainers also publish resources to\nidentify the suitable driver version for a given major browser release. For instance, to find out the version of\nchromedriver required for Chrome 100, we need to read the\nfollowing ",(0,i.kt)("a",{parentName:"li",href:"https://chromedriver.storage.googleapis.com/LATEST_RELEASE_100"},"file"),"."),(0,i.kt)("li",{parentName:"ol"},"Once the driver version is discovered, WebDriverBinary downloads this driver to a local cache (located\nat ",(0,i.kt)("inlineCode",{parentName:"li"},"%temp%/webdrivers")," by default). These drivers are reused in subsequent calls."),(0,i.kt)("li",{parentName:"ol"},"Finally, WebDriverBinary exports the driver path using Java system properties (e.g., ",(0,i.kt)("inlineCode",{parentName:"li"},"webdriver.chrome.driver")," in the\ncase of the Chrome manager).")),(0,i.kt)("p",null,"This process automated the first two stages of the driver management previously introduced, i.e., download and setup. To\nsupport the third stage (i.e., maintenance), WebDriverBinary implements ",(0,i.kt)("em",{parentName:"p"},"resolution cache"),". This cache (called by\ndefault ",(0,i.kt)("inlineCode",{parentName:"p"},"version.properties")," and stored in the root of the driver cache) is a file that stores the relationship between\nthe resolved driver and browser versions. This relationship is valid during a given ",(0,i.kt)("em",{parentName:"p"},"time-to-live")," (TTL). The default\nvalue for this TTL is 1 hour for browsers and drivers. In other words, the discovered browser version is valid for 1\nhour. This mechanism improves the performance dramatically since the second (and following) calls to the resolution\nalgorithm for the same browser are resolved using only local resources (i.e., without using the shell nor requesting\nexternal services)."),(0,i.kt)("h2",{id:"advanced-configuration"},"Advanced Configuration"),(0,i.kt)("p",null,"WebDriver Binaries provides different ways of configuration. First, by using its ",(0,i.kt)("em",{parentName:"p"},"Java API"),". To that aim, each manager (\ne.g., ",(0,i.kt)("inlineCode",{parentName:"p"},"chromeDriver()"),", ",(0,i.kt)("inlineCode",{parentName:"p"},"firefoxDriver()"),", etc., allows to concatenate different methods of this API to specify custom\noptions or preferences. For example (the explanation of these methods and the other possibilities are explained in the\ntables at the end of this section):"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Method"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Download the latest binary"),(0,i.kt)("td",{parentName:"tr",align:null},"WebDriverBinary.chromeDriver().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.firefoxDriver().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.ieDriver().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.edgeDriver().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.edgeDriver().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.operaDriver().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.grid().setup();")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Download binaries for specific architecture"),(0,i.kt)("td",{parentName:"tr",align:null},"WebDriverBinary.chromeDriver().arch64().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.firefoxDriver().arch32().setup();")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Download binaries by specifying custom download location"),(0,i.kt)("td",{parentName:"tr",align:null},'WebDriverBinary.chromeDriver().targetPath("temp").setup(); WebDriverBinary.firefoxDriver().targetPath("downloadLocation").setup();')),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Download binaries for a specific release version"),(0,i.kt)("td",{parentName:"tr",align:null},'WebDriverBinary.firefoxDriver().version("v0.26.0").setup();')))))}h.isMDXComponent=!0},534:function(e,r,t){r.Z=t.p+"assets/images/selenium-webdriver-architecture-dfeb30760c997a9cbe6ccb4a963b4d3c.png"}}]); \ No newline at end of file diff --git a/assets/js/580fd761.7935b156.js b/assets/js/580fd761.7935b156.js new file mode 100644 index 0000000..464e0b5 --- /dev/null +++ b/assets/js/580fd761.7935b156.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[607],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return f}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),l=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=l(e.components);return o.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=l(n),f=r,m=d["".concat(s,".").concat(f)]||d[f]||p[f]||i;return n?o.createElement(m,a(a({ref:t},u),{},{components:n})):o.createElement(m,a({ref:t},u))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=d;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:r,a[1]=c;for(var l=2;l=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),c=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),p=c(n),d=o,m=p["".concat(s,".").concat(d)]||p[d]||g[d]||i;return n?r.createElement(m,l(l({ref:t},u),{},{components:n})):r.createElement(m,l({ref:t},u))}));function d(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,l=new Array(i);l[0]=p;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a.mdxType="string"==typeof e?e:o,l[1]=a;for(var c=2;c\n org.projectlombok\n lombok\n LATEST\n provided\n\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Create ",(0,i.kt)("inlineCode",{parentName:"li"},"lombok.config")," file in project parent folder and add below properties")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-properties",metastring:'title="lombok.config"',title:'"lombok.config"'},"lombok.log.fieldName = logger\nlombok.log.custom.declaration = io.github.selcukes.commons.logging.Logger io.github.selcukes.commons.logging.LoggerFactory.getLogger(TYPE)\n")),(0,i.kt)("h3",{id:"usage"},"Usage"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-java"},'package io.github.selcukes.java;\n\nimport lombok.CustomLog;\nimport org.testng.annotations.Test;\n\n@CustomLog\npublic class LoggerTest {\n @Test\n public void testLogs() {\n logger.info(() -> "This is sample log");\n }\n}\n\n\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/780.573d9801.js b/assets/js/780.573d9801.js new file mode 100644 index 0000000..9c7bcd2 --- /dev/null +++ b/assets/js/780.573d9801.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[780],{6780:function(e,t,r){function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t,r){var a,c=t.initialState;return{getState:function(){return c},dispatch:function(a,i){var l=function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var J,$,W,Q=null,Y=(J=-1,$=-1,W=void 0,function(e){var t=++J;return Promise.resolve(e).then((function(e){return W&&t<$?W:($=t,W=e,e)}))});function G(e){var t=e.event,r=e.nextState,n=void 0===r?{}:r,o=e.props,a=e.query,i=e.refresh,l=e.store,u=K(e,U);Q&&o.environment.clearTimeout(Q);var s=u.setCollections,f=u.setIsOpen,m=u.setQuery,p=u.setActiveItemId,d=u.setStatus;if(m(a),p(o.defaultActiveItemId),!a&&!1===o.openOnFocus){var h,v=l.getState().collections.map((function(e){return V(V({},e),{},{items:[]})}));d("idle"),s(v),f(null!==(h=n.isOpen)&&void 0!==h?h:o.shouldPanelOpen({state:l.getState()}));var y=M(Y(v).then((function(){return Promise.resolve()})));return l.pendingRequests.add(y)}d("loading"),Q=o.environment.setTimeout((function(){d("stalled")}),o.stallThreshold);var g=M(Y(o.getSources(V({query:a,refresh:i,state:l.getState()},u)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(V({query:a,refresh:i,state:l.getState()},u))).then((function(t){return R(t,e.sourceId)}))}))).then(q).then((function(t){return _(t,e)})).then((function(e){return function(e){var t=e.collections,r=e.props,n=e.state,o=t.reduce((function(e,t){return j(j({},e),{},E({},t.source.sourceId,j(j({},t.source),{},{getItems:function(){return c(t.items)}})))}),{});return c(r.reshape({sources:Object.values(o),sourcesBySourceId:o,state:n})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:l.getState()})}))})))).then((function(e){var r;d("idle"),s(e);var c=o.shouldPanelOpen({state:l.getState()});f(null!==(r=n.isOpen)&&void 0!==r?r:o.openOnFocus&&!a&&c||c);var m=F(l.getState());if(null!==l.getState().activeItemId&&m){var p=m.item,h=m.itemInputValue,v=m.itemUrl,y=m.source;y.onActive(V({event:t,item:p,itemInputValue:h,itemUrl:v,refresh:i,source:y,state:l.getState()},u))}})).finally((function(){d("idle"),Q&&o.environment.clearTimeout(Q)}));return l.pendingRequests.add(g)}var X=["event","props","refresh","store"];function Z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ee(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var ne=/((gt|sm)-|galaxy nexus)|samsung[- ]/i;var oe=["props","refresh","store"],ae=["inputElement","formElement","panelElement"],ce=["inputElement"],ie=["inputElement","maxLength"],le=["item","source"];function ue(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function se(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function pe(e){var t=e.props,r=e.refresh,n=e.store,o=me(e,oe);return{getEnvironmentProps:function(e){var r=e.inputElement,o=e.formElement,a=e.panelElement;function c(e){!n.getState().isOpen&&n.pendingRequests.isEmpty()||e.target===r||!1===[o,a].some((function(t){return r=t,n=e.target,r===n||r.contains(n);var r,n}))&&(n.dispatch("blur",null),t.debug||n.pendingRequests.cancelAll())}return se({onTouchStart:c,onMouseDown:c,onTouchMove:function(e){!1!==n.getState().isOpen&&r===t.environment.document.activeElement&&e.target!==r&&r.blur()}},me(e,ae))},getRootProps:function(e){return se({role:"combobox","aria-expanded":n.getState().isOpen,"aria-haspopup":"listbox","aria-owns":n.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){e.inputElement;return se({action:"",noValidate:!0,role:"search",onSubmit:function(a){var c;a.preventDefault(),t.onSubmit(se({event:a,refresh:r,state:n.getState()},o)),n.dispatch("submit",null),null===(c=e.inputElement)||void 0===c||c.blur()},onReset:function(a){var c;a.preventDefault(),t.onReset(se({event:a,refresh:r,state:n.getState()},o)),n.dispatch("reset",null),null===(c=e.inputElement)||void 0===c||c.focus()}},me(e,ce))},getLabelProps:function(e){return se({htmlFor:"".concat(t.id,"-input"),id:"".concat(t.id,"-label")},e)},getInputProps:function(e){var a;function c(e){(t.openOnFocus||Boolean(n.getState().query))&&G(se({event:e,props:t,query:n.getState().completion||n.getState().query,refresh:r,store:n},o)),n.dispatch("focus",null)}var i=e||{},l=(i.inputElement,i.maxLength),u=void 0===l?512:l,s=me(i,ie),f=F(n.getState()),p=function(e){return Boolean(e&&e.match(ne))}((null===(a=t.environment.navigator)||void 0===a?void 0:a.userAgent)||""),d=null!=f&&f.itemUrl&&!p?"go":"search";return se({"aria-autocomplete":"both","aria-activedescendant":n.getState().isOpen&&null!==n.getState().activeItemId?"".concat(t.id,"-item-").concat(n.getState().activeItemId):void 0,"aria-controls":n.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:n.getState().completion||n.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:d,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:u,type:"search",onChange:function(e){G(se({event:e,props:t,query:e.currentTarget.value.slice(0,u),refresh:r,store:n},o))},onKeyDown:function(e){!function(e){var t=e.event,r=e.props,n=e.refresh,o=e.store,a=re(e,X);if("ArrowUp"===t.key||"ArrowDown"===t.key){var c=function(){var e=r.environment.document.getElementById("".concat(r.id,"-item-").concat(o.getState().activeItemId));e&&(e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView(!1))},i=function(){var e=F(o.getState());if(null!==o.getState().activeItemId&&e){var r=e.item,c=e.itemInputValue,i=e.itemUrl,l=e.source;l.onActive(ee({event:t,item:r,itemInputValue:c,itemUrl:i,refresh:n,source:l,state:o.getState()},a))}};t.preventDefault(),!1===o.getState().isOpen&&(r.openOnFocus||Boolean(o.getState().query))?G(ee({event:t,props:r,query:o.getState().query,refresh:n,store:o},a)).then((function(){o.dispatch(t.key,{nextActiveItemId:r.defaultActiveItemId}),i(),setTimeout(c,0)})):(o.dispatch(t.key,{}),i(),c())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(r.debug||o.pendingRequests.cancelAll());t.preventDefault();var l=F(o.getState()),u=l.item,s=l.itemInputValue,f=l.itemUrl,m=l.source;if(t.metaKey||t.ctrlKey)void 0!==f&&(m.onSelect(ee({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},a)),r.navigator.navigateNewTab({itemUrl:f,item:u,state:o.getState()}));else if(t.shiftKey)void 0!==f&&(m.onSelect(ee({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},a)),r.navigator.navigateNewWindow({itemUrl:f,item:u,state:o.getState()}));else if(t.altKey);else{if(void 0!==f)return m.onSelect(ee({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},a)),void r.navigator.navigate({itemUrl:f,item:u,state:o.getState()});G(ee({event:t,nextState:{isOpen:!1},props:r,query:s,refresh:n,store:o},a)).then((function(){m.onSelect(ee({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},a))}))}}}(se({event:e,props:t,refresh:r,store:n},o))},onFocus:c,onBlur:m,onClick:function(r){e.inputElement!==t.environment.document.activeElement||n.getState().isOpen||c(r)}},s)},getPanelProps:function(e){return se({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){n.dispatch("mouseleave",null)}},e)},getListProps:function(e){return se({role:"listbox","aria-labelledby":"".concat(t.id,"-label"),id:"".concat(t.id,"-list")},e)},getItemProps:function(e){var a=e.item,c=e.source,i=me(e,le);return se({id:"".concat(t.id,"-item-").concat(a.__autocomplete_id),role:"option","aria-selected":n.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==n.getState().activeItemId){n.dispatch("mousemove",a.__autocomplete_id);var t=F(n.getState());if(null!==n.getState().activeItemId&&t){var c=t.item,i=t.itemInputValue,l=t.itemUrl,u=t.source;u.onActive(se({event:e,item:c,itemInputValue:i,itemUrl:l,refresh:r,source:u,state:n.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var i=c.getItemInputValue({item:a,state:n.getState()}),l=c.getItemUrl({item:a,state:n.getState()});(l?Promise.resolve():G(se({event:e,nextState:{isOpen:!1},props:t,query:i,refresh:r,store:n},o))).then((function(){c.onSelect(se({event:e,item:a,itemInputValue:i,itemUrl:l,refresh:r,source:c,state:n.getState()},o))}))}},i)}}}var de=[{segment:"autocomplete-core",version:"1.7.1"}];function he(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ve(e){for(var t=1;t=r?null===n?null:0:o}function Se(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function je(e){for(var t=1;t0},reshape:function(e){return e.sources}},e),{},{id:null!==(r=e.id)&&void 0!==r?r:"autocomplete-".concat(f++),plugins:o,initialState:b({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var r;null===(r=e.onStateChange)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onStateChange)||void 0===r?void 0:r.call(e,t)}))},onSubmit:function(t){var r;null===(r=e.onSubmit)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onSubmit)||void 0===r?void 0:r.call(e,t)}))},onReset:function(t){var r;null===(r=e.onReset)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onReset)||void 0===r?void 0:r.call(e,t)}))},getSources:function(r){return Promise.all([].concat(v(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return h(e,r)}))).then((function(e){return c(e)})).then((function(e){return e.map((function(e){return b(b({},e),{},{onSelect:function(r){e.onSelect(r),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,r)}))},onActive:function(r){e.onActive(r),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,r)}))}})}))}))},navigator:b({navigate:function(e){var t=e.itemUrl;n.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,r=n.open(t,"_blank","noopener");null==r||r.focus()},navigateNewWindow:function(e){var t=e.itemUrl;n.open(t,"_blank","noopener")}},e.navigator)})}(e,t),n=a(we,r,(function(e){var t=e.prevState,n=e.state;r.onStateChange(Ie({prevState:t,state:n,refresh:u},o))})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var r=0,n=e.map((function(e){return l(l({},e),{},{items:c(e.items).map((function(e){return l(l({},e),{},{__autocomplete_id:r++})}))})}));t.dispatch("setCollections",n)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:n}),i=pe(Ie({props:r,refresh:u,store:n},o));function u(){return G(Ie({event:new Event("input"),nextState:{isOpen:n.getState().isOpen},props:r,query:n.getState().query,refresh:u,store:n},o))}return r.plugins.forEach((function(e){var r;return null===(r=e.subscribe)||void 0===r?void 0:r.call(e,Ie(Ie({},o),{},{refresh:u,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})}}))})),function(e){var t,r,n=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(r=t.userAgent)||void 0===r?void 0:r.includes("Algolia Crawler")){var a=o.document.createElement("meta"),c=o.document.querySelector("head");a.name="algolia:metadata",setTimeout((function(){a.content=JSON.stringify(n),c.appendChild(a)}),0)}}({metadata:ge({plugins:r.plugins,options:e}),environment:r.environment}),Ie(Ie({refresh:u},i),o)}var ke=r(7294);function Ae(e){var t=e.translations,r=(void 0===t?{}:t).searchByText,n=void 0===r?"Search by":r;return ke.createElement("a",{href:"https://www.algolia.com/ref/docsearch/?utm_source=".concat(window.location.hostname,"&utm_medium=referral&utm_content=powered_by&utm_campaign=docsearch"),target:"_blank",rel:"noopener noreferrer"},ke.createElement("span",{className:"DocSearch-Label"},n),ke.createElement("svg",{width:"77",height:"19","aria-label":"Algolia",role:"img"},ke.createElement("path",{d:"M2.5067 0h14.0245c1.384.001 2.5058 1.1205 2.5068 2.5017V16.5c-.0014 1.3808-1.1232 2.4995-2.5068 2.5H2.5067C1.1232 18.9995.0014 17.8808 0 16.5V2.4958A2.495 2.495 0 01.735.7294 2.505 2.505 0 012.5068 0zM37.95 15.0695c-3.7068.0168-3.7068-2.986-3.7068-3.4634L34.2372.3576 36.498 0v11.1794c0 .2715 0 1.9889 1.452 1.994v1.8961zm-9.1666-1.8388c.694 0 1.2086-.0397 1.5678-.1088v-2.2934a5.3639 5.3639 0 00-1.3303-.1679 4.8283 4.8283 0 00-.758.0582 2.2845 2.2845 0 00-.688.2024c-.2029.0979-.371.2362-.4919.4142-.1268.1788-.185.2826-.185.5533 0 .5297.185.8359.5205 1.0375.3355.2016.7928.3053 1.365.3053v-.0008zm-.1969-8.1817c.7463 0 1.3768.092 1.8856.2767.5088.1838.9195.4428 1.2204.7717.3068.334.5147.7777.6423 1.251.1327.4723.196.991.196 1.5603v5.798c-.5235.1036-1.05.192-1.5787.2649-.7048.1037-1.4976.156-2.3774.156-.5832 0-1.1215-.0582-1.6016-.167a3.385 3.385 0 01-1.2432-.5364 2.6034 2.6034 0 01-.8037-.9565c-.191-.3922-.29-.9447-.29-1.5208 0-.5533.11-.905.3246-1.2863a2.7351 2.7351 0 01.8849-.9329c.376-.242.8029-.415 1.2948-.5187a7.4517 7.4517 0 011.5381-.156 7.1162 7.1162 0 011.6667.2024V8.886c0-.259-.0296-.5061-.093-.7372a1.5847 1.5847 0 00-.3245-.6158 1.5079 1.5079 0 00-.6119-.4158 2.6788 2.6788 0 00-.966-.173c-.5206 0-.9948.0634-1.4283.1384a6.5481 6.5481 0 00-1.065.259l-.2712-1.849c.2831-.0986.7048-.1964 1.2491-.2943a9.2979 9.2979 0 011.752-.1501v.0008zm44.6597 8.1193c.6947 0 1.2086-.0405 1.567-.1097v-2.2942a5.3743 5.3743 0 00-1.3303-.1679c-.2485 0-.503.0177-.7573.0582a2.2853 2.2853 0 00-.688.2024 1.2333 1.2333 0 00-.4918.4142c-.1268.1788-.1843.2826-.1843.5533 0 .5297.1843.8359.5198 1.0375.3414.2066.7927.3053 1.365.3053v.0009zm-.191-8.1767c.7463 0 1.3768.0912 1.8856.2759.5087.1847.9195.4436 1.2204.7717.3.329.5147.7786.6414 1.251a5.7248 5.7248 0 01.197 1.562v5.7972c-.3466.0742-.874.1602-1.5788.2648-.7049.1038-1.4976.1552-2.3774.1552-.5832 0-1.1215-.0573-1.6016-.167a3.385 3.385 0 01-1.2432-.5356 2.6034 2.6034 0 01-.8038-.9565c-.191-.3922-.2898-.9447-.2898-1.5216 0-.5533.1098-.905.3245-1.2854a2.7373 2.7373 0 01.8849-.9338c.376-.2412.8029-.4141 1.2947-.5178a7.4545 7.4545 0 012.325-.1097c.2781.0287.5672.081.879.156v-.3686a2.7781 2.7781 0 00-.092-.738 1.5788 1.5788 0 00-.3246-.6166 1.5079 1.5079 0 00-.612-.415 2.6797 2.6797 0 00-.966-.1729c-.5205 0-.9947.0633-1.4282.1384a6.5608 6.5608 0 00-1.065.259l-.2712-1.8498c.283-.0979.7048-.1957 1.2491-.2935a9.8597 9.8597 0 011.752-.1494zm-6.79-1.072c-.7576.001-1.373-.6103-1.3759-1.3664 0-.755.6128-1.3664 1.376-1.3664.764 0 1.3775.6115 1.3775 1.3664s-.6195 1.3664-1.3776 1.3664zm1.1393 11.1507h-2.2726V5.3409l2.2734-.3568v10.0845l-.0008.0017zm-3.984 0c-3.707.0168-3.707-2.986-3.707-3.4642L59.7069.3576 61.9685 0v11.1794c0 .2715 0 1.9889 1.452 1.994V15.0703zm-7.3512-4.979c0-.975-.2138-1.7873-.6305-2.3516-.4167-.571-.9998-.852-1.747-.852-.7454 0-1.3302.281-1.7452.852-.4166.5702-.6195 1.3765-.6195 2.3516 0 .9851.208 1.6473.6254 2.2183.4158.576.9998.8587 1.7461.8587.7454 0 1.3303-.2885 1.747-.8595.4158-.5761.6237-1.2315.6237-2.2184v.0009zm2.3132-.006c0 .7609-.1099 1.3361-.3356 1.9654a4.654 4.654 0 01-.9533 1.6076A4.214 4.214 0 0155.613 14.69c-.579.2412-1.4697.3795-1.9143.3795-.4462-.005-1.3303-.1324-1.9033-.3795a4.307 4.307 0 01-1.474-1.0316c-.4115-.4445-.7293-.9801-.9609-1.6076a5.3423 5.3423 0 01-.3465-1.9653c0-.7608.104-1.493.3356-2.1155a4.683 4.683 0 01.9719-1.5958 4.3383 4.3383 0 011.479-1.0257c.5739-.242 1.2043-.3567 1.8864-.3567.6829 0 1.3125.1197 1.8906.3567a4.1245 4.1245 0 011.4816 1.0257 4.7587 4.7587 0 01.9592 1.5958c.2426.6225.3643 1.3547.3643 2.1155zm-17.0198 0c0 .9448.208 1.9932.6238 2.431.4166.4386.955.6579 1.6142.6579.3584 0 .6998-.0523 1.0176-.1502.3186-.0978.5721-.2134.775-.3517V7.0784a8.8706 8.8706 0 00-1.4926-.1906c-.8206-.0236-1.4452.312-1.8847.8468-.4335.5365-.6533 1.476-.6533 2.3516v-.0008zm6.2863 4.4485c0 1.5385-.3938 2.662-1.1866 3.3773-.791.7136-2.0005 1.0712-3.6308 1.0712-.5958 0-1.834-.1156-2.8228-.334l.3643-1.7865c.8282.173 1.9202.2193 2.4932.2193.9077 0 1.555-.1847 1.943-.5533.388-.3686.578-.916.578-1.643v-.3687a6.8289 6.8289 0 01-.8848.3349c-.3634.1096-.786.167-1.261.167-.6246 0-1.1917-.0979-1.7055-.2944a3.5554 3.5554 0 01-1.3244-.8645c-.3642-.3796-.6541-.8579-.8561-1.4289-.2028-.571-.3068-1.59-.3068-2.339 0-.7034.1099-1.5856.3245-2.1735.2198-.5871.5316-1.0949.9542-1.515.4167-.42.9255-.743 1.5213-.98a5.5923 5.5923 0 012.052-.3855c.7353 0 1.4114.092 2.0707.2024.6592.1088 1.2204.2236 1.6776.35v8.945-.0008zM11.5026 4.2418v-.6511c-.0005-.4553-.3704-.8241-.8266-.8241H8.749c-.4561 0-.826.3688-.8265.824v.669c0 .0742.0693.1264.1445.1096a6.0346 6.0346 0 011.6768-.2362 6.125 6.125 0 011.6202.2185.1116.1116 0 00.1386-.1097zm-5.2806.852l-.3296-.3282a.8266.8266 0 00-1.168 0l-.393.3922a.8199.8199 0 000 1.164l.3237.323c.0524.0515.1268.0397.1733-.0117.191-.259.3989-.507.6305-.7372.2374-.2362.48-.4437.7462-.6335.0575-.0354.0634-.1155.017-.1687zm3.5159 2.069v2.818c0 .081.0879.1392.1622.0987l2.5102-1.2964c.0574-.0287.0752-.0987.0464-.1552a3.1237 3.1237 0 00-2.603-1.574c-.0575 0-.115.0456-.115.1097l-.0008-.0009zm.0008 6.789c-2.0933.0005-3.7915-1.6912-3.7947-3.7804C5.9468 8.0821 7.6452 6.39 9.7387 6.391c2.0932-.0005 3.7911 1.6914 3.794 3.7804a3.7783 3.7783 0 01-1.1124 2.675 3.7936 3.7936 0 01-2.6824 1.1054h.0008zM9.738 4.8002c-1.9218 0-3.6975 1.0232-4.6584 2.6841a5.359 5.359 0 000 5.3683c.9609 1.661 2.7366 2.6841 4.6584 2.6841a5.3891 5.3891 0 003.8073-1.5725 5.3675 5.3675 0 001.578-3.7987 5.3574 5.3574 0 00-1.5771-3.797A5.379 5.379 0 009.7387 4.801l-.0008-.0008z",fill:"currentColor",fillRule:"evenodd"})))}function xe(e){return ke.createElement("svg",{width:"15",height:"15","aria-label":e.ariaLabel,role:"img"},ke.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function Ne(e){var t=e.translations,r=void 0===t?{}:t,n=r.selectText,o=void 0===n?"to select":n,a=r.selectKeyAriaLabel,c=void 0===a?"Enter key":a,i=r.navigateText,l=void 0===i?"to navigate":i,u=r.navigateUpKeyAriaLabel,s=void 0===u?"Arrow up":u,f=r.navigateDownKeyAriaLabel,m=void 0===f?"Arrow down":f,p=r.closeText,d=void 0===p?"to close":p,h=r.closeKeyAriaLabel,v=void 0===h?"Escape key":h,y=r.searchByText,g=void 0===y?"Search by":y;return ke.createElement(ke.Fragment,null,ke.createElement("div",{className:"DocSearch-Logo"},ke.createElement(Ae,{translations:{searchByText:g}})),ke.createElement("ul",{className:"DocSearch-Commands"},ke.createElement("li",null,ke.createElement("kbd",{className:"DocSearch-Commands-Key"},ke.createElement(xe,{ariaLabel:c},ke.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),ke.createElement("span",{className:"DocSearch-Label"},o)),ke.createElement("li",null,ke.createElement("kbd",{className:"DocSearch-Commands-Key"},ke.createElement(xe,{ariaLabel:m},ke.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),ke.createElement("kbd",{className:"DocSearch-Commands-Key"},ke.createElement(xe,{ariaLabel:s},ke.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),ke.createElement("span",{className:"DocSearch-Label"},l)),ke.createElement("li",null,ke.createElement("kbd",{className:"DocSearch-Commands-Key"},ke.createElement(xe,{ariaLabel:v},ke.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),ke.createElement("span",{className:"DocSearch-Label"},d))))}function Re(e){var t=e.hit,r=e.children;return ke.createElement("a",{href:t.url},r)}function qe(){return ke.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},ke.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function _e(e){var t=e.translations,r=void 0===t?{}:t,n=r.titleText,o=void 0===n?"Unable to fetch results":n,a=r.helpText,c=void 0===a?"You might want to check your network connection.":a;return ke.createElement("div",{className:"DocSearch-ErrorScreen"},ke.createElement("div",{className:"DocSearch-Screen-Icon"},ke.createElement(qe,null)),ke.createElement("p",{className:"DocSearch-Title"},o),ke.createElement("p",{className:"DocSearch-Help"},c))}function Te(){return ke.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},ke.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}var Le=["translations"];function Me(e){return function(e){if(Array.isArray(e))return He(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return He(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return He(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function He(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ue(e){var t=e.translations,r=void 0===t?{}:t,n=Fe(e,Le),o=r.noResultsText,a=void 0===o?"No results for":o,c=r.suggestedQueryText,i=void 0===c?"Try searching for":c,l=r.reportMissingResultsText,u=void 0===l?"Believe this query should return results?":l,s=r.reportMissingResultsLinkText,f=void 0===s?"Let us know.":s,m=n.state.context.searchSuggestions;return ke.createElement("div",{className:"DocSearch-NoResults"},ke.createElement("div",{className:"DocSearch-Screen-Icon"},ke.createElement(Te,null)),ke.createElement("p",{className:"DocSearch-Title"},a,' "',ke.createElement("strong",null,n.state.query),'"'),m&&m.length>0&&ke.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},ke.createElement("p",{className:"DocSearch-Help"},i,":"),ke.createElement("ul",null,m.slice(0,3).reduce((function(e,t){return[].concat(Me(e),[ke.createElement("li",{key:t},ke.createElement("button",{className:"DocSearch-Prefill",key:t,type:"button",onClick:function(){n.setQuery(t.toLowerCase()+" "),n.refresh(),n.inputRef.current.focus()}},t))])}),[]))),n.getMissingResultsUrl&&ke.createElement("p",{className:"DocSearch-Help"},"".concat(u," "),ke.createElement("a",{href:n.getMissingResultsUrl({query:n.state.query}),target:"_blank",rel:"noopener noreferrer"},f)))}var Be=function(){return ke.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},ke.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))};function Ve(e){switch(e.type){case"lvl1":return ke.createElement(Be,null);case"content":return ke.createElement(Ke,null);default:return ke.createElement(ze,null)}}function ze(){return ke.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},ke.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Ke(){return ke.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},ke.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Je(){return ke.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},ke.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},ke.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),ke.createElement("path",{d:"M8 17l-6-6 6-6"})))}var $e=["hit","attribute","tagName"];function We(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Qe(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Xe(e,t){return t.split(".").reduce((function(e,t){return null!=e&&e[t]?e[t]:null}),e)}function Ze(e){var t=e.hit,r=e.attribute,n=e.tagName,o=void 0===n?"span":n,a=Ge(e,$e);return(0,ke.createElement)(o,Qe(Qe({},a),{},{dangerouslySetInnerHTML:{__html:Xe(t,"_snippetResult.".concat(r,".value"))||Xe(t,r)}}))}function et(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,a=[],c=!0,i=!1;try{for(r=r.call(e);!(c=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);c=!0);}catch(l){i=!0,o=l}finally{try{c||null==r.return||r.return()}finally{if(i)throw o}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return tt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return tt(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 tt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r|<\/mark>)/g,ct=RegExp(at.source);function it(e){var t,r,n,o,a,c=e;if(!c.__docsearch_parent&&!e._highlightResult)return e.hierarchy.lvl0;var i=((c.__docsearch_parent?null===(t=c.__docsearch_parent)||void 0===t||null===(r=t._highlightResult)||void 0===r||null===(n=r.hierarchy)||void 0===n?void 0:n.lvl0:null===(o=e._highlightResult)||void 0===o||null===(a=o.hierarchy)||void 0===a?void 0:a.lvl0)||{}).value;return i&&ct.test(i)?i.replace(at,""):i}function lt(){return lt=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function vt(e){var t=e.translations,r=void 0===t?{}:t,n=ht(e,pt),o=r.recentSearchesTitle,a=void 0===o?"Recent":o,c=r.noRecentSearchesText,i=void 0===c?"No recent searches":c,l=r.saveRecentSearchButtonTitle,u=void 0===l?"Save this search":l,s=r.removeRecentSearchButtonTitle,f=void 0===s?"Remove this search from history":s,m=r.favoriteSearchesTitle,p=void 0===m?"Favorite":m,d=r.removeFavoriteSearchButtonTitle,h=void 0===d?"Remove this search from favorites":d;return"idle"===n.state.status&&!1===n.hasCollections?n.disableUserPersonalization?null:ke.createElement("div",{className:"DocSearch-StartScreen"},ke.createElement("p",{className:"DocSearch-Help"},i)):!1===n.hasCollections?null:ke.createElement("div",{className:"DocSearch-Dropdown-Container"},ke.createElement(nt,dt({},n,{title:a,collection:n.state.collections[0],renderIcon:function(){return ke.createElement("div",{className:"DocSearch-Hit-icon"},ke.createElement(st,null))},renderAction:function(e){var t=e.item,r=e.runFavoriteTransition,o=e.runDeleteTransition;return ke.createElement(ke.Fragment,null,ke.createElement("div",{className:"DocSearch-Hit-action"},ke.createElement("button",{className:"DocSearch-Hit-action-button",title:u,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),r((function(){n.favoriteSearches.add(t),n.recentSearches.remove(t),n.refresh()}))}},ke.createElement(ft,null))),ke.createElement("div",{className:"DocSearch-Hit-action"},ke.createElement("button",{className:"DocSearch-Hit-action-button",title:f,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),o((function(){n.recentSearches.remove(t),n.refresh()}))}},ke.createElement(mt,null))))}})),ke.createElement(nt,dt({},n,{title:p,collection:n.state.collections[1],renderIcon:function(){return ke.createElement("div",{className:"DocSearch-Hit-icon"},ke.createElement(ft,null))},renderAction:function(e){var t=e.item,r=e.runDeleteTransition;return ke.createElement("div",{className:"DocSearch-Hit-action"},ke.createElement("button",{className:"DocSearch-Hit-action-button",title:h,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),r((function(){n.favoriteSearches.remove(t),n.refresh()}))}},ke.createElement(mt,null)))}})))}var yt=["translations"];function gt(){return gt=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var Ot=ke.memo((function(e){var t=e.translations,r=void 0===t?{}:t,n=bt(e,yt);if("error"===n.state.status)return ke.createElement(_e,{translations:null==r?void 0:r.errorScreen});var o=n.state.collections.some((function(e){return e.items.length>0}));return n.state.query?!1===o?ke.createElement(Ue,gt({},n,{translations:null==r?void 0:r.noResultsScreen})):ke.createElement(ut,n):ke.createElement(vt,gt({},n,{hasCollections:o,translations:null==r?void 0:r.startScreen}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status}));function St(){return ke.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},ke.createElement("g",{fill:"none",fillRule:"evenodd"},ke.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},ke.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),ke.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},ke.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}var jt=r(830),Et=["translations"];function wt(){return wt=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function It(e){var t=e.translations,r=void 0===t?{}:t,n=Pt(e,Et),o=r.resetButtonTitle,a=void 0===o?"Clear the query":o,c=r.resetButtonAriaLabel,i=void 0===c?"Clear the query":c,l=r.cancelButtonText,u=void 0===l?"Cancel":l,s=r.cancelButtonAriaLabel,f=void 0===s?"Cancel":s,m=n.getFormProps({inputElement:n.inputRef.current}).onReset;return ke.useEffect((function(){n.autoFocus&&n.inputRef.current&&n.inputRef.current.focus()}),[n.autoFocus,n.inputRef]),ke.useEffect((function(){n.isFromSelection&&n.inputRef.current&&n.inputRef.current.select()}),[n.isFromSelection,n.inputRef]),ke.createElement(ke.Fragment,null,ke.createElement("form",{className:"DocSearch-Form",onSubmit:function(e){e.preventDefault()},onReset:m},ke.createElement("label",wt({className:"DocSearch-MagnifierLabel"},n.getLabelProps()),ke.createElement(jt.W,null)),ke.createElement("div",{className:"DocSearch-LoadingIndicator"},ke.createElement(St,null)),ke.createElement("input",wt({className:"DocSearch-Input",ref:n.inputRef},n.getInputProps({inputElement:n.inputRef.current,autoFocus:n.autoFocus,maxLength:64}))),ke.createElement("button",{type:"reset",title:a,className:"DocSearch-Reset","aria-label":i,hidden:!n.state.query},ke.createElement(mt,null))),ke.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":f,onClick:n.onClose},u))}var Dt=["_highlightResult","_snippetResult"];function Ct(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function kt(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(t){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}function At(e){var t=e.key,r=e.limit,n=void 0===r?5:r,o=kt(t),a=o.getItem().slice(0,n);return{add:function(e){var t=e,r=(t._highlightResult,t._snippetResult,Ct(t,Dt)),c=a.findIndex((function(e){return e.objectID===r.objectID}));c>-1&&a.splice(c,1),a.unshift(r),a=a.slice(0,n),o.setItem(a)},remove:function(e){a=a.filter((function(t){return t.objectID!==e.objectID})),o.setItem(a)},getAll:function(){return a}}}function xt(e){const t=`algoliasearch-client-js-${e.key}`;let r;const n=()=>(void 0===r&&(r=e.localStorage||window.localStorage),r),o=()=>JSON.parse(n().getItem(t)||"{}");return{get:(e,t,r={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>{const r=JSON.stringify(e),n=o()[r];return Promise.all([n||t(),void 0!==n])})).then((([e,t])=>Promise.all([e,t||r.miss(e)]))).then((([e])=>e)),set:(e,r)=>Promise.resolve().then((()=>{const a=o();return a[JSON.stringify(e)]=r,n().setItem(t,JSON.stringify(a)),r})),delete:e=>Promise.resolve().then((()=>{const r=o();delete r[JSON.stringify(e)],n().setItem(t,JSON.stringify(r))})),clear:()=>Promise.resolve().then((()=>{n().removeItem(t)}))}}function Nt(e){const t=[...e.caches],r=t.shift();return void 0===r?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,r.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,n,o={miss:()=>Promise.resolve()})=>r.get(e,n,o).catch((()=>Nt({caches:t}).get(e,n,o))),set:(e,n)=>r.set(e,n).catch((()=>Nt({caches:t}).set(e,n))),delete:e=>r.delete(e).catch((()=>Nt({caches:t}).delete(e))),clear:()=>r.clear().catch((()=>Nt({caches:t}).clear()))}}function Rt(e={serializable:!0}){let t={};return{get(r,n,o={miss:()=>Promise.resolve()}){const a=JSON.stringify(r);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);const c=n(),i=o&&o.miss||(()=>Promise.resolve());return c.then((e=>i(e))).then((()=>c))},set:(r,n)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}function qt(e){let t=e.length-1;for(;t>0;t--){const r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function _t(e,t){return t?(Object.keys(t).forEach((r=>{e[r]=t[r](e)})),e):e}function Tt(e,...t){let r=0;return e.replace(/%s/g,(()=>encodeURIComponent(t[r++])))}const Lt="4.13.1",Mt={WithinQueryParameters:0,WithinHeaders:1};function Ht(e,t){const r=e||{},n=r.data||{};return Object.keys(r).forEach((e=>{-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}const Ft={Read:1,Write:2,Any:3},Ut=1,Bt=2,Vt=3,zt=12e4;function Kt(e,t=Ut){return{...e,status:t,lastUpdate:Date.now()}}function Jt(e){return"string"==typeof e?{protocol:"https",url:e,accept:Ft.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||Ft.Any}}const $t="GET",Wt="POST";function Qt(e,t){return Promise.all(t.map((t=>e.get(t,(()=>Promise.resolve(Kt(t))))))).then((e=>{const r=e.filter((e=>function(e){return e.status===Ut||Date.now()-e.lastUpdate>zt}(e))),n=e.filter((e=>function(e){return e.status===Vt&&Date.now()-e.lastUpdate<=zt}(e))),o=[...r,...n];return{getTimeout:(e,t)=>(0===n.length&&0===e?1:n.length+3+e)*t,statelessHosts:o.length>0?o.map((e=>Jt(e))):t}}))}function Yt(e,t,r,n){const o=[],a=function(e,t){if(e.method===$t||void 0===e.data&&void 0===t.data)return;const r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}(r,n),c=function(e,t){const r={...e.headers,...t.headers},n={};return Object.keys(r).forEach((e=>{const t=r[e];n[e.toLowerCase()]=t})),n}(e,n),i=r.method,l=r.method!==$t?{}:{...r.data,...n.data},u={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...l,...n.queryParameters};let s=0;const f=(t,l)=>{const m=t.pop();if(void 0===m)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:er(o)};const p={data:a,headers:c,method:i,url:Xt(m,r.path,u),connectTimeout:l(s,e.timeouts.connect),responseTimeout:l(s,n.timeout)},d=e=>{const r={request:p,response:e,host:m,triesLeft:t.length};return o.push(r),r},h={onSuccess:e=>function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e),onRetry(r){const n=d(r);return r.isTimedOut&&s++,Promise.all([e.logger.info("Retryable failure",tr(n)),e.hostsCache.set(m,Kt(m,r.isTimedOut?Vt:Bt))]).then((()=>f(t,l)))},onFail(e){throw d(e),function({content:e,status:t},r){let n=e;try{n=JSON.parse(e).message}catch(o){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(n,t,r)}(e,er(o))}};return e.requester.send(p).then((e=>((e,t)=>(e=>{const t=e.status;return e.isTimedOut||(({isTimedOut:e,status:t})=>!e&&0==~~t)(e)||2!=~~(t/100)&&4!=~~(t/100)})(e)?t.onRetry(e):(({status:e})=>2==~~(e/100))(e)?t.onSuccess(e):t.onFail(e))(e,h)))};return Qt(e.hostsCache,t).then((e=>f([...e.statelessHosts].reverse(),e.getTimeout)))}function Gt(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t}function Xt(e,t,r){const n=Zt(r);let o=`${e.protocol}://${e.url}/${"/"===t.charAt(0)?t.substr(1):t}`;return n.length&&(o+=`?${n}`),o}function Zt(e){return Object.keys(e).map((t=>{return Tt("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function er(e){return e.map((e=>tr(e)))}function tr(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}const rr=e=>{const t=e.appId,r=function(e,t,r){const n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:()=>e===Mt.WithinHeaders?n:{},queryParameters:()=>e===Mt.WithinQueryParameters?n:{}}}(void 0!==e.authMode?e.authMode:Mt.WithinHeaders,t,e.apiKey),n=function(e){const{hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:a,timeouts:c,userAgent:i,hosts:l,queryParameters:u,headers:s}=e,f={hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:a,timeouts:c,userAgent:i,headers:s,queryParameters:u,hosts:l.map((e=>Jt(e))),read(e,t){const r=Ht(t,f.timeouts.read),n=()=>Yt(f,f.hosts.filter((e=>0!=(e.accept&Ft.Read))),e,r);if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();const o={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(o,(()=>f.requestsCache.get(o,(()=>f.requestsCache.set(o,n()).then((e=>Promise.all([f.requestsCache.delete(o),e])),(e=>Promise.all([f.requestsCache.delete(o),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>f.responsesCache.set(o,e)})},write:(e,t)=>Yt(f,f.hosts.filter((e=>0!=(e.accept&Ft.Write))),e,Ht(t,f.timeouts.write))};return f}({hosts:[{url:`${t}-dsn.algolia.net`,accept:Ft.Read},{url:`${t}.algolia.net`,accept:Ft.Write}].concat(qt([{url:`${t}-1.algolianet.com`},{url:`${t}-2.algolianet.com`},{url:`${t}-3.algolianet.com`}])),...e,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}}),o={transporter:n,appId:t,addAlgoliaAgent(e,t){n.userAgent.add({segment:e,version:t})},clearCache:()=>Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then((()=>{}))};return _t(o,e.methods)},nr=e=>(t,r)=>t.method===$t?e.transporter.read(t,r):e.transporter.write(t,r),or=e=>(t,r={})=>_t({transporter:e.transporter,appId:e.appId,indexName:t},r.methods),ar=e=>(t,r)=>{const n=t.map((e=>({...e,params:Zt(e.params||{})})));return e.transporter.read({method:Wt,path:"1/indexes/*/queries",data:{requests:n},cacheable:!0},r)},cr=e=>(t,r)=>Promise.all(t.map((t=>{const{facetName:n,facetQuery:o,...a}=t.params;return or(e)(t.indexName,{methods:{searchForFacetValues:ur}}).searchForFacetValues(n,o,{...r,...a})}))),ir=e=>(t,r,n)=>e.transporter.read({method:Wt,path:Tt("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n),lr=e=>(t,r)=>e.transporter.read({method:Wt,path:Tt("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r),ur=e=>(t,r,n)=>e.transporter.read({method:Wt,path:Tt("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n),sr=1,fr=2,mr=3;function pr(e,t,r){const n={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:e=>new Promise((t=>{const r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>r.setRequestHeader(t,e.headers[t])));const n=(e,n)=>setTimeout((()=>{r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e),o=n(e.connectTimeout,"Connection timeout");let a;r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===a&&(clearTimeout(o),a=n(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(o),clearTimeout(a),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(o),clearTimeout(a),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))},logger:(o=mr,{debug:(e,t)=>(sr>=o&&console.debug(e,t),Promise.resolve()),info:(e,t)=>(fr>=o&&console.info(e,t),Promise.resolve()),error:(e,t)=>(console.error(e,t),Promise.resolve())}),responsesCache:Rt(),requestsCache:Rt({serializable:!1}),hostsCache:Nt({caches:[xt({key:`4.13.1-${e}`}),Rt()]}),userAgent:Gt(Lt).add({segment:"Browser",version:"lite"}),authMode:Mt.WithinQueryParameters};var o;return rr({...n,...r,methods:{search:ar,searchForFacetValues:cr,multipleQueries:ar,multipleSearchForFacetValues:cr,customRequest:nr,initIndex:e=>t=>or(e)(t,{methods:{search:lr,searchForFacetValues:ur,findAnswers:ir}})}})}pr.version=Lt;var dr=pr,hr="3.1.1";function vr(){}function yr(e){return e}function gr(e,t){return e.reduce((function(e,r){var n=t(r);return e.hasOwnProperty(n)||(e[n]=[]),e[n].length<5&&e[n].push(r),e}),{})}var br=["footer","searchBox"];function Or(){return Or=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Dr(e){var t=e.appId,r=e.apiKey,n=e.indexName,o=e.placeholder,a=void 0===o?"Search docs":o,c=e.searchParameters,i=e.onClose,l=void 0===i?vr:i,u=e.transformItems,s=void 0===u?yr:u,f=e.hitComponent,m=void 0===f?Re:f,p=e.resultsFooterComponent,d=void 0===p?function(){return null}:p,h=e.navigator,v=e.initialScrollY,y=void 0===v?0:v,g=e.transformSearchClient,b=void 0===g?yr:g,O=e.disableUserPersonalization,S=void 0!==O&&O,j=e.initialQuery,E=void 0===j?"":j,w=e.translations,P=void 0===w?{}:w,I=e.getMissingResultsUrl,D=P.footer,C=P.searchBox,k=Ir(P,br),A=wr(ke.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),x=A[0],N=A[1],R=ke.useRef(null),q=ke.useRef(null),_=ke.useRef(null),T=ke.useRef(null),L=ke.useRef(null),M=ke.useRef(10),H=ke.useRef("undefined"!=typeof window?window.getSelection().toString().slice(0,64):"").current,F=ke.useRef(E||H).current,U=function(e,t,r){return ke.useMemo((function(){var n=dr(e,t);return n.addAlgoliaAgent("docsearch",hr),!1===/docsearch.js \(.*\)/.test(n.transporter.userAgent.value)&&n.addAlgoliaAgent("docsearch-react",hr),r(n)}),[e,t,r])}(t,r,b),B=ke.useRef(At({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(n),limit:10})).current,V=ke.useRef(At({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(n),limit:0===B.getAll().length?7:4})).current,z=ke.useCallback((function(e){if(!S){var t="content"===e.type?e.__docsearch_parent:e;t&&-1===B.getAll().findIndex((function(e){return e.objectID===t.objectID}))&&V.add(t)}}),[B,V,S]),K=ke.useMemo((function(){return Ce({id:"docsearch",defaultActiveItemId:0,placeholder:a,openOnFocus:!0,initialState:{query:F,context:{searchSuggestions:[]}},navigator:h,onStateChange:function(e){N(e.state)},getSources:function(e){var t=e.query,r=e.state,o=e.setContext,a=e.setStatus;return t?U.search([{query:t,indexName:n,params:jr({attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(M.current),"hierarchy.lvl2:".concat(M.current),"hierarchy.lvl3:".concat(M.current),"hierarchy.lvl4:".concat(M.current),"hierarchy.lvl5:".concat(M.current),"hierarchy.lvl6:".concat(M.current),"content:".concat(M.current)],snippetEllipsisText:"\u2026",highlightPreTag:"",highlightPostTag:"",hitsPerPage:20},c)}]).catch((function(e){throw"RetryError"===e.name&&a("error"),e})).then((function(e){var t=e.results[0],n=t.hits,a=t.nbHits,c=gr(n,(function(e){return it(e)}));return r.context.searchSuggestions.length0&&(W(),L.current&&L.current.focus())}),[F,W]),ke.useEffect((function(){function e(){if(q.current){var e=.01*window.innerHeight;q.current.style.setProperty("--docsearch-vh","".concat(e,"px"))}}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),ke.createElement("div",Or({ref:R},$({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===x.status&&"DocSearch-Container--Stalled","error"===x.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(e){e.target===e.currentTarget&&l()}}),ke.createElement("div",{className:"DocSearch-Modal",ref:q},ke.createElement("header",{className:"DocSearch-SearchBar",ref:_},ke.createElement(It,Or({},K,{state:x,autoFocus:0===F.length,inputRef:L,isFromSelection:Boolean(F)&&F===H,translations:C,onClose:l}))),ke.createElement("div",{className:"DocSearch-Dropdown",ref:T},ke.createElement(Ot,Or({},K,{indexName:n,state:x,hitComponent:m,resultsFooterComponent:d,disableUserPersonalization:S,recentSearches:V,favoriteSearches:B,inputRef:L,translations:k,getMissingResultsUrl:I,onItemClick:function(e){z(e),l()}}))),ke.createElement("footer",{className:"DocSearch-Footer"},ke.createElement(Ne,{translations:D}))))}}}]); \ No newline at end of file diff --git a/assets/js/814f3328.f4875833.js b/assets/js/814f3328.f4875833.js new file mode 100644 index 0000000..e968968 --- /dev/null +++ b/assets/js/814f3328.f4875833.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[535],{5641:function(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Hello World","permalink":"/blog/hello-world"}]}')}}]); \ No newline at end of file diff --git a/assets/js/83f7007c.c3c37ff4.js b/assets/js/83f7007c.c3c37ff4.js new file mode 100644 index 0000000..a77f776 --- /dev/null +++ b/assets/js/83f7007c.c3c37ff4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[201],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(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 l(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),i=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=i(e.components);return r.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),d=i(n),m=a,f=d["".concat(s,".").concat(m)]||d[m]||p[m]||o;return n?r.createElement(f,l(l({ref:t},c),{},{components:n})):r.createElement(f,l({ref:t},c))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,l=new Array(o);l[0]=d;var u={};for(var s in t)hasOwnProperty.call(t,s)&&(u[s]=t[s]);u.originalType=e,u.mdxType="string"==typeof e?e:a,l[1]=u;for(var i=2;i child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,n=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:c(n);return function(e){var t=(0,s.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function d(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function m(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId,o=(0,l.k6)(),s=function(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=r?r:null}({queryString:n,groupId:r});return[(0,u._X)(s),(0,a.useCallback)((function(e){if(s){var t=new URLSearchParams(o.location.search);t.set(s,e),o.replace(Object.assign({},o.location,{search:t.toString()}))}}),[s,o])]}function f(e){var t,n,r,o,l=e.defaultValue,u=e.queryString,s=void 0!==u&&u,c=e.groupId,f=p(e),v=(0,a.useState)((function(){return function(e){var t,n=e.defaultValue,r=e.tabValues;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!d({value:n,tabValues:r}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+r.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var a=null!=(t=r.find((function(e){return e.default})))?t:r[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:l,tabValues:f})})),b=v[0],g=v[1],h=m({queryString:s,groupId:c}),y=h[0],k=h[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),n=(0,i.Nk)(t),r=n[0],o=n[1],[r,(0,a.useCallback)((function(e){t&&o.set(e)}),[t,o])]),T=w[0],I=w[1],j=function(){var e=null!=y?y:T;return d({value:e,tabValues:f})?e:null}();return(0,a.useLayoutEffect)((function(){j&&g(j)}),[j]),{selectedValue:b,selectValue:(0,a.useCallback)((function(e){if(!d({value:e,tabValues:f}))throw new Error("Can't select invalid tab value="+e);g(e),k(e),I(e)}),[k,I,f]),tabValues:f}}var v=n(2466),b=n(2389),g="tabList__CuJ",h="tabItem_LNqP";function y(e){var t=e.className,n=e.block,l=e.selectedValue,u=e.selectValue,s=e.tabValues,i=[],c=(0,v.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,n=i.indexOf(t),r=s[n].value;r!==l&&(c(t),u(r))},d=function(e){var t,n=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var r,a=i.indexOf(e.currentTarget)+1;n=null!=(r=i[a])?r:i[0];break;case"ArrowLeft":var o,l=i.indexOf(e.currentTarget)-1;n=null!=(o=i[l])?o:i[i.length-1]}null==(t=n)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":n},t)},s.map((function(e){var t=e.value,n=e.label,u=e.attributes;return a.createElement("li",(0,r.Z)({role:"tab",tabIndex:l===t?0:-1,"aria-selected":l===t,key:t,ref:function(e){return i.push(e)},onKeyDown:d,onClick:p},u,{className:(0,o.Z)("tabs__item",h,null==u?void 0:u.className,{"tabs__item--active":l===t})}),null!=n?n:t)})))}function k(e){var t=e.lazy,n=e.children,r=e.selectedValue,o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var l=o.find((function(e){return e.props.value===r}));return l?(0,a.cloneElement)(l,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},o.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==r})})))}function w(e){var t=f(e);return a.createElement("div",{className:(0,o.Z)("tabs-container",g)},a.createElement(y,(0,r.Z)({},e,t)),a.createElement(k,(0,r.Z)({},e,t)))}function T(e){var t=(0,b.Z)();return a.createElement(w,(0,r.Z)({key:String(t)},e))}},3677:function(e,t,n){n.r(t),n.d(t,{assets:function(){return d},contentTitle:function(){return c},default:function(){return v},frontMatter:function(){return i},metadata:function(){return p},toc:function(){return m}});var r=n(7462),a=n(3366),o=(n(7294),n(3905)),l=n(4866),u=n(5162),s=["components"],i={id:"web-test",title:"Web Test",sidebar_position:1},c=void 0,p={unversionedId:"test/web-test",id:"test/web-test",title:"Web Test",description:'The WebTest.java file is an example test class that demonstrates how to create a basic web test using Selcukes. It includes a test method called remoteWebTest() that opens the Google homepage and asserts that the page title is "Google".',source:"@site/docs/02_test/web-test.md",sourceDirName:"02_test",slug:"/test/web-test",permalink:"/docs/test/web-test",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/02_test/web-test.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"web-test",title:"Web Test",sidebar_position:1},sidebar:"defaultSidebar",previous:{title:"Introduction",permalink:"/docs/"},next:{title:"Mobile Test",permalink:"/docs/test/mobile-test"}},d={},m=[],f={toc:m};function v(e){var t=e.components,n=(0,a.Z)(e,s);return(0,o.kt)("wrapper",(0,r.Z)({},f,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"WebTest.java"),' file is an example test class that demonstrates how to create a basic web test using Selcukes. It includes a test method called remoteWebTest() that opens the Google homepage and asserts that the page title is "Google".'),(0,o.kt)("p",null,"The test class also includes a setup() method annotated with @BeforeMethod, which is executed before each test method. The setup() method initializes the WebPage object from the Pages utility class."),(0,o.kt)(l.Z,{defaultValue:"java",values:[{label:"selcukes.yaml",value:"yaml"},{label:"WebTest.java",value:"java"},{label:"pom.xml",value:"pom"}],mdxType:"Tabs"},(0,o.kt)(u.Z,{value:"yaml",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-yaml"},'web:\n remote: false\n cloud:\n browser: CHROME\n headLess: true\n serviceUrl: "http://127.0.0.1:4444"\n'))),(0,o.kt)(u.Z,{value:"java",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'package org.example;\n\nimport io.github.selcukes.commons.annotation.Lifecycle;\nimport io.github.selcukes.core.page.Pages;\nimport io.github.selcukes.core.page.WebPage;\nimport org.testng.annotations.BeforeMethod;\nimport org.testng.annotations.Test;\n\n@Lifecycle\npublic class WebTest {\n WebPage page;\n\n @BeforeMethod\n public void setup() {\n page = Pages.webPage();\n }\n\n @Test\n public void remoteWebTest() {\n page.open("https://www.google.com/")\n .assertThat().title("Google");\n }\n\n}\n'))),(0,o.kt)(u.Z,{value:"pom",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-xml"},'\n\n 4.0.0\n\n org.example\n examples\n 0.1-SNAPSHOT\n Selcukes Java Examples\n \n LATEST\n LATEST\n LATEST\n\n 11\n 11\n \n \n \n io.github.selcukes\n selcukes-java\n ${selcukes.version}\n \n \n org.projectlombok\n lombok\n ${lombok.version}\n provided\n \n \n org.apache.logging.log4j\n log4j-slf4j-impl\n ${slfj4.version}\n \n \n\n')))))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/847819a8.92ecdcce.js b/assets/js/847819a8.92ecdcce.js new file mode 100644 index 0000000..bf6845c --- /dev/null +++ b/assets/js/847819a8.92ecdcce.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[846],{3905:function(e,r,t){t.d(r,{Zo:function(){return c},kt:function(){return f}});var n=t(7294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function u(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),s=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):u(u({},r),e)),t},c=function(e){var r=s(e.components);return n.createElement(l.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},p=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),p=s(t),f=a,v=p["".concat(l,".").concat(f)]||p[f]||d[f]||o;return t?n.createElement(v,u(u({ref:r},c),{},{components:t})):n.createElement(v,u({ref:r},c))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,u=new Array(o);u[0]=p;var i={};for(var l in r)hasOwnProperty.call(r,l)&&(i[l]=r[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,u[1]=i;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:t.filter(Boolean))?r:[]}(e).map((function(e){var r=e.props;return{value:r.value,label:r.label,attributes:r.attributes,default:r.default}}))}function d(e){var r=e.values,t=e.children;return(0,a.useMemo)((function(){var e=null!=r?r:c(t);return function(e){var r=(0,l.l)(e,(function(e,r){return e.value===r.value}));if(r.length>0)throw new Error('Docusaurus error: Duplicate values "'+r.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[r,t])}function p(e){var r=e.value;return e.tabValues.some((function(e){return e.value===r}))}function f(e){var r=e.queryString,t=void 0!==r&&r,n=e.groupId,o=(0,u.k6)(),l=function(e){var r=e.queryString,t=void 0!==r&&r,n=e.groupId;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=n?n:null}({queryString:t,groupId:n});return[(0,i._X)(l),(0,a.useCallback)((function(e){if(l){var r=new URLSearchParams(o.location.search);r.set(l,e),o.replace(Object.assign({},o.location,{search:r.toString()}))}}),[l,o])]}function v(e){var r,t,n,o,u=e.defaultValue,i=e.queryString,l=void 0!==i&&i,c=e.groupId,v=d(e),m=(0,a.useState)((function(){return function(e){var r,t=e.defaultValue,n=e.tabValues;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error('Docusaurus error: The has a defaultValue "'+t+'" but none of its children has the corresponding value. Available values are: '+n.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return t}var a=null!=(r=n.find((function(e){return e.default})))?r:n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:u,tabValues:v})})),b=m[0],g=m[1],y=f({queryString:l,groupId:c}),h=y[0],k=y[1],w=(r=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),t=(0,s.Nk)(r),n=t[0],o=t[1],[n,(0,a.useCallback)((function(e){r&&o.set(e)}),[r,o])]),N=w[0],T=w[1],E=function(){var e=null!=h?h:N;return p({value:e,tabValues:v})?e:null}();return(0,a.useLayoutEffect)((function(){E&&g(E)}),[E]),{selectedValue:b,selectValue:(0,a.useCallback)((function(e){if(!p({value:e,tabValues:v}))throw new Error("Can't select invalid tab value="+e);g(e),k(e),T(e)}),[k,T,v]),tabValues:v}}var m=t(2466),b=t(2389),g="tabList__CuJ",y="tabItem_LNqP";function h(e){var r=e.className,t=e.block,u=e.selectedValue,i=e.selectValue,l=e.tabValues,s=[],c=(0,m.o5)().blockElementScrollPositionUntilNextRender,d=function(e){var r=e.currentTarget,t=s.indexOf(r),n=l[t].value;n!==u&&(c(r),i(n))},p=function(e){var r,t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":var n,a=s.indexOf(e.currentTarget)+1;t=null!=(n=s[a])?n:s[0];break;case"ArrowLeft":var o,u=s.indexOf(e.currentTarget)-1;t=null!=(o=s[u])?o:s[s.length-1]}null==(r=t)||r.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":t},r)},l.map((function(e){var r=e.value,t=e.label,i=e.attributes;return a.createElement("li",(0,n.Z)({role:"tab",tabIndex:u===r?0:-1,"aria-selected":u===r,key:r,ref:function(e){return s.push(e)},onKeyDown:p,onClick:d},i,{className:(0,o.Z)("tabs__item",y,null==i?void 0:i.className,{"tabs__item--active":u===r})}),null!=t?t:r)})))}function k(e){var r=e.lazy,t=e.children,n=e.selectedValue,o=(Array.isArray(t)?t:[t]).filter(Boolean);if(r){var u=o.find((function(e){return e.props.value===n}));return u?(0,a.cloneElement)(u,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},o.map((function(e,r){return(0,a.cloneElement)(e,{key:r,hidden:e.props.value!==n})})))}function w(e){var r=v(e);return a.createElement("div",{className:(0,o.Z)("tabs-container",g)},a.createElement(h,(0,n.Z)({},e,r)),a.createElement(k,(0,n.Z)({},e,r)))}function N(e){var r=(0,b.Z)();return a.createElement(w,(0,n.Z)({key:String(r)},e))}},4574:function(e,r,t){t.r(r),t.d(r,{assets:function(){return p},contentTitle:function(){return c},default:function(){return m},frontMatter:function(){return s},metadata:function(){return d},toc:function(){return f}});var n=t(7462),a=t(3366),o=(t(7294),t(3905)),u=t(4866),i=t(5162),l=["components"],s={id:"video-recorder",title:"Video Recorder",sidebar_position:7},c=void 0,d={unversionedId:"guides/video-recorder",id:"guides/video-recorder",title:"Video Recorder",description:"Video Recorder allows recording video of your",source:"@site/docs/03_guides/video-recorder.md",sourceDirName:"03_guides",slug:"/guides/video-recorder",permalink:"/docs/guides/video-recorder",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/video-recorder.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{id:"video-recorder",title:"Video Recorder",sidebar_position:7},sidebar:"defaultSidebar",previous:{title:"Selcukes Reports",permalink:"/docs/guides/selcukes-reports"},next:{title:"Selcukes Properties",permalink:"/docs/guides/properties"}},p={},f=[{value:"Setup",id:"setup",level:2},{value:"Usage",id:"usage",level:2}],v={toc:f};function m(e){var r=e.components,t=(0,a.Z)(e,l);return(0,o.kt)("wrapper",(0,n.Z)({},v,t,{components:r,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/video-recorder"},"Video Recorder")," allows recording video of your\ntests with minimal configurations."),(0,o.kt)("h2",{id:"setup"},"Setup"),(0,o.kt)("p",null,"Video Recorder is primarily used as a Java dependency . We typically use a ",(0,o.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,o.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,o.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Video Recorder dependency."),(0,o.kt)(u.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,o.kt)(i.Z,{value:"maven",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n video-recorder\n ${selcukes.version}\n\n"))),(0,o.kt)(i.Z,{value:"gradle",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:video-recorder:${selcukes.version}")\n }\n')))),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"Video Recorder is a transitive Dependency of ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes-reports"),".If you are using ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes-reports"),",\nthen ignore adding this dependency explicitly.")),(0,o.kt)("admonition",{type:"warning"},(0,o.kt)("p",{parentName:"admonition"},"If you are using ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes-reports")," then refer ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/selcukes-reports"},"Selcukes TestNG")," for video configuration\nintegration")),(0,o.kt)("h2",{id:"usage"},"Usage"),(0,o.kt)("p",null,"Add ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes.yaml")," file in ",(0,o.kt)("inlineCode",{parentName:"p"},"src/test/resource")," folder and update below video configuration as required"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-yaml"},"video:\n recording: true\n recorderType: MONTE\n ffmpegPath:\n watermarkStatus: false\n")),(0,o.kt)("p",null,"Create a test class as follows"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'public class VideoTest {\n @Test\n public void recordVideo() {\n Recorder recorder = RecorderFactory.getRecorder(RecorderType.MONTE);\n recorder.start();\n Await.until(5);\n File file = recorder.stopAndSave("test");\n Assert.assertTrue(file.getAbsolutePath().contains("mp4"));\n }\n}\n')))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/894.d4c8f375.js b/assets/js/894.d4c8f375.js new file mode 100644 index 0000000..f9a0296 --- /dev/null +++ b/assets/js/894.d4c8f375.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[894],{8894:function(e,s,u){u.r(s)}}]); \ No newline at end of file diff --git a/assets/js/8d28010c.61c8640a.js b/assets/js/8d28010c.61c8640a.js new file mode 100644 index 0000000..0bd00e1 --- /dev/null +++ b/assets/js/8d28010c.61c8640a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[511],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return f}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,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 o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var i=r.createContext({}),c=function(e){var t=r.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},s=function(e){var t=c(e.components);return r.createElement(i.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,i=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=c(n),f=a,m=p["".concat(i,".").concat(f)]||p[f]||d[f]||l;return n?r.createElement(m,o(o({ref:t},s),{},{components:n})):r.createElement(m,o({ref:t},s))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,o=new Array(l);o[0]=p;var u={};for(var i in t)hasOwnProperty.call(t,i)&&(u[i]=t[i]);u.originalType=e,u.mdxType="string"==typeof e?e:a,o[1]=u;for(var c=2;c child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function d(e){var t=e.values,n=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:s(n);return function(e){var t=(0,i.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function p(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId,l=(0,o.k6)(),i=function(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=r?r:null}({queryString:n,groupId:r});return[(0,u._X)(i),(0,a.useCallback)((function(e){if(i){var t=new URLSearchParams(l.location.search);t.set(i,e),l.replace(Object.assign({},l.location,{search:t.toString()}))}}),[i,l])]}function m(e){var t,n,r,l,o=e.defaultValue,u=e.queryString,i=void 0!==u&&u,s=e.groupId,m=d(e),v=(0,a.useState)((function(){return function(e){var t,n=e.defaultValue,r=e.tabValues;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:r}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+r.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var a=null!=(t=r.find((function(e){return e.default})))?t:r[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:o,tabValues:m})})),b=v[0],g=v[1],h=f({queryString:i,groupId:s}),y=h[0],k=h[1],T=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:s}.groupId),n=(0,c.Nk)(t),r=n[0],l=n[1],[r,(0,a.useCallback)((function(e){t&&l.set(e)}),[t,l])]),w=T[0],x=T[1],E=function(){var e=null!=y?y:w;return p({value:e,tabValues:m})?e:null}();return(0,a.useLayoutEffect)((function(){E&&g(E)}),[E]),{selectedValue:b,selectValue:(0,a.useCallback)((function(e){if(!p({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);g(e),k(e),x(e)}),[k,x,m]),tabValues:m}}var v=n(2466),b=n(2389),g="tabList__CuJ",h="tabItem_LNqP";function y(e){var t=e.className,n=e.block,o=e.selectedValue,u=e.selectValue,i=e.tabValues,c=[],s=(0,v.o5)().blockElementScrollPositionUntilNextRender,d=function(e){var t=e.currentTarget,n=c.indexOf(t),r=i[n].value;r!==o&&(s(t),u(r))},p=function(e){var t,n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":var r,a=c.indexOf(e.currentTarget)+1;n=null!=(r=c[a])?r:c[0];break;case"ArrowLeft":var l,o=c.indexOf(e.currentTarget)-1;n=null!=(l=c[o])?l:c[c.length-1]}null==(t=n)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":n},t)},i.map((function(e){var t=e.value,n=e.label,u=e.attributes;return a.createElement("li",(0,r.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:function(e){return c.push(e)},onKeyDown:p,onClick:d},u,{className:(0,l.Z)("tabs__item",h,null==u?void 0:u.className,{"tabs__item--active":o===t})}),null!=n?n:t)})))}function k(e){var t=e.lazy,n=e.children,r=e.selectedValue,l=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var o=l.find((function(e){return e.props.value===r}));return o?(0,a.cloneElement)(o,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},l.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==r})})))}function T(e){var t=m(e);return a.createElement("div",{className:(0,l.Z)("tabs-container",g)},a.createElement(y,(0,r.Z)({},e,t)),a.createElement(k,(0,r.Z)({},e,t)))}function w(e){var t=(0,b.Z)();return a.createElement(T,(0,r.Z)({key:String(t)},e))}},7788:function(e,t,n){n.r(t),n.d(t,{Highlight:function(){return f},assets:function(){return p},contentTitle:function(){return s},default:function(){return b},frontMatter:function(){return c},metadata:function(){return d},toc:function(){return m}});var r=n(7462),a=n(3366),l=(n(7294),n(3905)),o=n(4866),u=n(5162),i=["components"],c={id:"adv-examples",title:"Advanced Examples"},s=void 0,d={unversionedId:"contributing/adv-examples",id:"contributing/adv-examples",title:"Advanced Examples",description:"Powered by MDX",source:"@site/docs/contributing/adv-examples.md",sourceDirName:"contributing",slug:"/contributing/adv-examples",permalink:"/docs/contributing/adv-examples",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/contributing/adv-examples.md",tags:[],version:"current",frontMatter:{id:"adv-examples",title:"Advanced Examples"},sidebar:"defaultSidebar",previous:{title:"Selenoid Grid Test",permalink:"/docs/docker/selenoid-grid-test"},next:{title:"Code of Conduct",permalink:"/docs/contributing/code-of-conduct"}},p={},f=function(e){var t=e.children,n=e.color;return(0,l.kt)("span",{style:{backgroundColor:n,borderRadius:"2px",color:"#fff",padding:"0.2rem"}},t)},m=[{value:"Powered by MDX",id:"powered-by-mdx",level:2},{value:"Tabs",id:"tabs",level:2},{value:"Code Box with Title",id:"code-box-with-title",level:2},{value:"Tabbed Code Box",id:"tabbed-code-box",level:2}],v={Highlight:f,toc:m};function b(e){var t=e.components,n=(0,a.Z)(e,i);return(0,l.kt)("wrapper",(0,r.Z)({},v,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"powered-by-mdx"},"Powered by MDX"),(0,l.kt)("p",null,"With Docusuarus, you can write JSX and use React components within your Markdown thanks to ",(0,l.kt)("a",{parentName:"p",href:"https://mdxjs.com/"},"MDX"),"."),(0,l.kt)(f,{color:"#25c2a0",mdxType:"Highlight"},"Docusaurus green")," and ",(0,l.kt)(f,{color:"#1877F2",mdxType:"Highlight"},"Facebook blue")," are my favorite colors.",(0,l.kt)("p",null,"I can write ",(0,l.kt)("strong",{parentName:"p"},"Markdown")," alongside my ",(0,l.kt)("em",{parentName:"p"},"JSX"),"!"),(0,l.kt)("h2",{id:"tabs"},"Tabs"),(0,l.kt)(o.Z,{defaultValue:"apple",values:[{label:"Apple",value:"apple"},{label:"Orange",value:"orange"},{label:"Banana",value:"banana"}],mdxType:"Tabs"},(0,l.kt)(u.Z,{value:"apple",mdxType:"TabItem"},"This is an apple \ud83c\udf4e"),(0,l.kt)(u.Z,{value:"orange",mdxType:"TabItem"},"This is an orange \ud83c\udf4a"),(0,l.kt)(u.Z,{value:"banana",mdxType:"TabItem"},"This is a banana \ud83c\udf4c")),(0,l.kt)("h2",{id:"code-box-with-title"},"Code Box with Title"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx",metastring:'title="/src/components/HelloCodeTitle.js"',title:'"/src/components/HelloCodeTitle.js"'},"function HelloCodeTitle(props) {\n return

Hello, {props.name}

;\n}\n")),(0,l.kt)("h2",{id:"tabbed-code-box"},"Tabbed Code Box"),(0,l.kt)(o.Z,{defaultValue:"js",values:[{label:"JavaScript",value:"js"},{label:"Python",value:"py"},{label:"Java",value:"java"}],mdxType:"Tabs"},(0,l.kt)(u.Z,{value:"js",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"function helloWorld() {\n console.log('Hello, world!');\n}\n"))),(0,l.kt)(u.Z,{value:"py",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-py"},"def hello_world():\n print 'Hello, world!'\n"))),(0,l.kt)(u.Z,{value:"java",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-java"},'class HelloWorld {\n public static void main(String args[]) {\n System.out.println("Hello, World");\n }\n}\n')))))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.73e61023.js b/assets/js/935f2afb.73e61023.js new file mode 100644 index 0000000..6458916 --- /dev/null +++ b/assets/js/935f2afb.73e61023.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[53],{1109:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"defaultSidebar":[{"type":"link","label":"Introduction","href":"/docs/","docId":"intro"},{"type":"category","label":"Selcukes Test","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Web Test","href":"/docs/test/web-test","docId":"test/web-test"},{"type":"link","label":"Mobile Test","href":"/docs/test/mobile-test","docId":"test/mobile-test"},{"type":"link","label":"Desktop Test","href":"/docs/test/desktop-test","docId":"test/desktop-test"},{"type":"link","label":"Api Test","href":"/docs/test/api-test","docId":"test/api-test"}]},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Selcukes Databind","href":"/docs/guides/data-bind","docId":"guides/data-bind"},{"type":"link","label":"Extent Reports","href":"/docs/guides/extent-reports","docId":"guides/extent-reports"},{"type":"link","label":"Selcukes Notifier","href":"/docs/guides/selcukes-notifier","docId":"guides/selcukes-notifier"},{"type":"link","label":"Selcukes Excel Runner","href":"/docs/guides/excel-runner","docId":"guides/excel-runner"},{"type":"link","label":"Selcukes TestNG","href":"/docs/guides/selcukes-testng","docId":"guides/selcukes-testng"},{"type":"link","label":"Selcukes Reports","href":"/docs/guides/selcukes-reports","docId":"guides/selcukes-reports"},{"type":"link","label":"Video Recorder","href":"/docs/guides/video-recorder","docId":"guides/video-recorder"},{"type":"link","label":"Selcukes Properties","href":"/docs/guides/properties","docId":"guides/properties"},{"type":"link","label":"Selcukes logger","href":"/docs/guides/logger","docId":"guides/logger"},{"type":"link","label":"WebDriver Binaries","href":"/docs/guides/webdriver-binaries","docId":"guides/webdriver-binaries"},{"type":"link","label":"Selcukes Collections","href":"/docs/guides/collections","docId":"guides/collections"}]},{"type":"category","label":"Docker Test","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Selenoid Grid Test","href":"/docs/docker/selenoid-grid-test","docId":"docker/selenoid-grid-test"}]},{"type":"category","label":"contributing","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Advanced Examples","href":"/docs/contributing/adv-examples","docId":"contributing/adv-examples"},{"type":"link","label":"Code of Conduct","href":"/docs/contributing/code-of-conduct","docId":"contributing/code-of-conduct"},{"type":"link","label":"Style Guide","href":"/docs/contributing/style-guide","docId":"contributing/style-guide"}]}]},"docs":{"contributing/adv-examples":{"id":"contributing/adv-examples","title":"Advanced Examples","description":"Powered by MDX","sidebar":"defaultSidebar"},"contributing/code-of-conduct":{"id":"contributing/code-of-conduct","title":"Contributor Covenant Code of Conduct","description":"Our Pledge","sidebar":"defaultSidebar"},"contributing/style-guide":{"id":"contributing/style-guide","title":"Style Guide","description":"The Selcukes Documentation Style Guide","sidebar":"defaultSidebar"},"docker/selenoid-grid-test":{"id":"docker/selenoid-grid-test","title":"Selenoid Grid Test","description":"=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),i=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=i(e.components);return r.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,u=e.originalType,s=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),d=i(n),f=a,m=d["".concat(s,".").concat(f)]||d[f]||p[f]||u;return n?r.createElement(m,l(l({ref:t},c),{},{components:n})):r.createElement(m,l({ref:t},c))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var u=n.length,l=new Array(u);l[0]=d;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var i=2;i child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,n=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:c(n);return function(e){var t=(0,s.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function d(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId,u=(0,l.k6)(),s=function(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=r?r:null}({queryString:n,groupId:r});return[(0,o._X)(s),(0,a.useCallback)((function(e){if(s){var t=new URLSearchParams(u.location.search);t.set(s,e),u.replace(Object.assign({},u.location,{search:t.toString()}))}}),[s,u])]}function m(e){var t,n,r,u,l=e.defaultValue,o=e.queryString,s=void 0!==o&&o,c=e.groupId,m=p(e),v=(0,a.useState)((function(){return function(e){var t,n=e.defaultValue,r=e.tabValues;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!d({value:n,tabValues:r}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+r.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var a=null!=(t=r.find((function(e){return e.default})))?t:r[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:l,tabValues:m})})),g=v[0],b=v[1],k=f({queryString:s,groupId:c}),h=k[0],y=k[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),n=(0,i.Nk)(t),r=n[0],u=n[1],[r,(0,a.useCallback)((function(e){t&&u.set(e)}),[t,u])]),N=w[0],T=w[1],E=function(){var e=null!=h?h:N;return d({value:e,tabValues:m})?e:null}();return(0,a.useLayoutEffect)((function(){E&&b(E)}),[E]),{selectedValue:g,selectValue:(0,a.useCallback)((function(e){if(!d({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);b(e),y(e),T(e)}),[y,T,m]),tabValues:m}}var v=n(2466),g=n(2389),b="tabList__CuJ",k="tabItem_LNqP";function h(e){var t=e.className,n=e.block,l=e.selectedValue,o=e.selectValue,s=e.tabValues,i=[],c=(0,v.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,n=i.indexOf(t),r=s[n].value;r!==l&&(c(t),o(r))},d=function(e){var t,n=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var r,a=i.indexOf(e.currentTarget)+1;n=null!=(r=i[a])?r:i[0];break;case"ArrowLeft":var u,l=i.indexOf(e.currentTarget)-1;n=null!=(u=i[l])?u:i[i.length-1]}null==(t=n)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,u.Z)("tabs",{"tabs--block":n},t)},s.map((function(e){var t=e.value,n=e.label,o=e.attributes;return a.createElement("li",(0,r.Z)({role:"tab",tabIndex:l===t?0:-1,"aria-selected":l===t,key:t,ref:function(e){return i.push(e)},onKeyDown:d,onClick:p},o,{className:(0,u.Z)("tabs__item",k,null==o?void 0:o.className,{"tabs__item--active":l===t})}),null!=n?n:t)})))}function y(e){var t=e.lazy,n=e.children,r=e.selectedValue,u=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var l=u.find((function(e){return e.props.value===r}));return l?(0,a.cloneElement)(l,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},u.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==r})})))}function w(e){var t=m(e);return a.createElement("div",{className:(0,u.Z)("tabs-container",b)},a.createElement(h,(0,r.Z)({},e,t)),a.createElement(y,(0,r.Z)({},e,t)))}function N(e){var t=(0,g.Z)();return a.createElement(w,(0,r.Z)({key:String(t)},e))}},334:function(e,t,n){n.r(t),n.d(t,{assets:function(){return d},contentTitle:function(){return c},default:function(){return v},frontMatter:function(){return i},metadata:function(){return p},toc:function(){return f}});var r=n(7462),a=n(3366),u=(n(7294),n(3905)),l=n(4866),o=n(5162),s=["components"],i={id:"selcukes-testng",title:"Selcukes TestNG",sidebar_position:5},c=void 0,p={unversionedId:"guides/selcukes-testng",id:"guides/selcukes-testng",title:"Selcukes TestNG",description:"Selcukes TestNG is used to run cucumber testng",source:"@site/docs/03_guides/selcukes-testng.md",sourceDirName:"03_guides",slug:"/guides/selcukes-testng",permalink:"/docs/guides/selcukes-testng",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/selcukes-testng.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{id:"selcukes-testng",title:"Selcukes TestNG",sidebar_position:5},sidebar:"defaultSidebar",previous:{title:"Selcukes Excel Runner",permalink:"/docs/guides/excel-runner"},next:{title:"Selcukes Reports",permalink:"/docs/guides/selcukes-reports"}},d={},f=[{value:"Setup",id:"setup",level:2},{value:"Usage",id:"usage",level:2}],m={toc:f};function v(e){var t=e.components,n=(0,a.Z)(e,s);return(0,u.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,u.kt)("p",null,(0,u.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/selcukes-testng"},"Selcukes TestNG")," is used to run cucumber testng\ntests with easy runtime configurations for different modules."),(0,u.kt)("h2",{id:"setup"},"Setup"),(0,u.kt)("p",null,"Selcukes TestNG is primarily used as a Java dependency . We typically use a ",(0,u.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,u.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,u.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Selcukes TestNG dependency."),(0,u.kt)(l.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,u.kt)(o.Z,{value:"maven",mdxType:"TabItem"},(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n selcukes-testng\n ${selcukes.version}\n\n"))),(0,u.kt)(o.Z,{value:"gradle",mdxType:"TabItem"},(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:selcukes-testng:${selcukes.version}")\n}\n')))),(0,u.kt)("admonition",{type:"note"},(0,u.kt)("p",{parentName:"admonition"},"Selcukes TestNG is a transitive Dependency of ",(0,u.kt)("inlineCode",{parentName:"p"},"selcukes-excel-runner"),".If you are using ",(0,u.kt)("inlineCode",{parentName:"p"},"excel-runner"),", then\nignore adding this dependency explicitly.")),(0,u.kt)("h2",{id:"usage"},"Usage"),(0,u.kt)("p",null,"Add ",(0,u.kt)("inlineCode",{parentName:"p"},"selcukes.yaml")," file in ",(0,u.kt)("inlineCode",{parentName:"p"},"src/test/resource")," folder and update below cucumber options as required"),(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-yaml"},"cucumber:\n module: google\n features: src/test/resources/features/${module}\n glue: io.github.selcukes.testng.tests\n tags:\n plugin:\n")),(0,u.kt)("p",null,"Also add report options as follows"),(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-yaml"},"reports:\n emailReport: true\n htmlReport: true\n reportsPath:\n")),(0,u.kt)("admonition",{type:"tip"},(0,u.kt)("p",{parentName:"admonition"},"Here emailReport means extent reports, which will created automatically without any additional configurations.")),(0,u.kt)("p",null,"Create your own Test runner by extending ",(0,u.kt)("inlineCode",{parentName:"p"},"SelcukesTestNGRunner")),(0,u.kt)("p",null,"Add By default, all scenarios will execute in sequential. To enable scenario to run in parallel use ",(0,u.kt)("inlineCode",{parentName:"p"},"@parallel"),"\nannotation to the scenarios as follows"),(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre"},"@parallel\nScenario: Maker starts a game\nWhen the Maker starts a game\nThen the Maker waits for a Breaker to join\n")))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9ae3ff0c.28021c09.js b/assets/js/9ae3ff0c.28021c09.js new file mode 100644 index 0000000..d9b1868 --- /dev/null +++ b/assets/js/9ae3ff0c.28021c09.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[254],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),u=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=u(e.components);return n.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,l=e.originalType,s=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),g=u(r),d=o,m=g["".concat(s,".").concat(d)]||g[d]||c[d]||l;return r?n.createElement(m,i(i({ref:t},p),{},{components:r})):n.createElement(m,i({ref:t},p))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var l=r.length,i=new Array(l);i[0]=g;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a.mdxType="string"==typeof e?e:o,i[1]=a;for(var u=2;u0&&r.createElement(s,{years:u}))))}}}]); \ No newline at end of file diff --git a/assets/js/a2a53b7f.60c344bb.js b/assets/js/a2a53b7f.60c344bb.js new file mode 100644 index 0000000..26ffa21 --- /dev/null +++ b/assets/js/a2a53b7f.60c344bb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[841],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(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 i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=r.createContext({}),c=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(p.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,s=e.originalType,p=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),f=c(n),m=o,d=f["".concat(p,".").concat(m)]||f[m]||l[m]||s;return n?r.createElement(d,i(i({ref:t},u),{},{components:n})):r.createElement(d,i({ref:t},u))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var s=n.length,i=new Array(s);i[0]=f;var a={};for(var p in t)hasOwnProperty.call(t,p)&&(a[p]=t[p]);a.originalType=e,a.mdxType="string"==typeof e?e:o,i[1]=a;for(var c=2;c "Token is: " + response.bodyAs(ResponseBody.class).getToken());\n }\n\n @Data\n static class ResponseBody {\n String id;\n String token;\n }\n}\n\n')))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a6aa9e1f.03288348.js b/assets/js/a6aa9e1f.03288348.js new file mode 100644 index 0000000..5b8860e --- /dev/null +++ b/assets/js/a6aa9e1f.03288348.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[89],{3269:function(e,t,a){a.r(t),a.d(t,{default:function(){return f}});var n=a(7294),r=a(4334),l=a(2263),i=a(1944),o=a(5281),s=a(9058),c=a(5999),m=a(2244);function g(e){var t=e.metadata,a=t.previousPage,r=t.nextPage;return n.createElement("nav",{className:"pagination-nav","aria-label":(0,c.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"})},a&&n.createElement(m.Z,{permalink:a,title:n.createElement(c.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)"},"Newer Entries")}),r&&n.createElement(m.Z,{permalink:r,title:n.createElement(c.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)"},"Older Entries"),isNext:!0}))}var p=a(197),u=a(9460),d=a(756);function E(e){var t=e.items,a=e.component,r=void 0===a?d.Z:a;return n.createElement(n.Fragment,null,t.map((function(e){var t=e.content;return n.createElement(u.n,{key:t.metadata.permalink,content:t},n.createElement(r,null,n.createElement(t,null)))})))}function b(e){var t=e.metadata,a=(0,l.Z)().siteConfig.title,r=t.blogDescription,o=t.blogTitle,s="/"===t.permalink?a:o;return n.createElement(n.Fragment,null,n.createElement(i.d,{title:s,description:r}),n.createElement(p.Z,{tag:"blog_posts_list"}))}function v(e){var t=e.metadata,a=e.items,r=e.sidebar;return n.createElement(s.Z,{sidebar:r},n.createElement(E,{items:a}),n.createElement(g,{metadata:t}))}function f(e){return n.createElement(i.FG,{className:(0,r.Z)(o.k.wrapper.blogPages,o.k.page.blogListPage)},n.createElement(b,e),n.createElement(v,e))}}}]); \ No newline at end of file diff --git a/assets/js/a89f6586.0cc48294.js b/assets/js/a89f6586.0cc48294.js new file mode 100644 index 0000000..b4eec4a --- /dev/null +++ b/assets/js/a89f6586.0cc48294.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[21],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):u(u({},t),e)),r},c=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),d=s(r),m=a,f=d["".concat(l,".").concat(m)]||d[m]||p[m]||o;return r?n.createElement(f,u(u({ref:t},c),{},{components:r})):n.createElement(f,u({ref:t},c))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,u=new Array(o);u[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,u[1]=i;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:r.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,r=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:c(r);return function(e){var t=(0,l.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,r])}function d(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function m(e){var t=e.queryString,r=void 0!==t&&t,n=e.groupId,o=(0,u.k6)(),l=function(e){var t=e.queryString,r=void 0!==t&&t,n=e.groupId;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=n?n:null}({queryString:r,groupId:n});return[(0,i._X)(l),(0,a.useCallback)((function(e){if(l){var t=new URLSearchParams(o.location.search);t.set(l,e),o.replace(Object.assign({},o.location,{search:t.toString()}))}}),[l,o])]}function f(e){var t,r,n,o,u=e.defaultValue,i=e.queryString,l=void 0!==i&&i,c=e.groupId,f=p(e),b=(0,a.useState)((function(){return function(e){var t,r=e.defaultValue,n=e.tabValues;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(r){if(!d({value:r,tabValues:n}))throw new Error('Docusaurus error: The has a defaultValue "'+r+'" but none of its children has the corresponding value. Available values are: '+n.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return r}var a=null!=(t=n.find((function(e){return e.default})))?t:n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:u,tabValues:f})})),v=b[0],g=b[1],k=m({queryString:l,groupId:c}),h=k[0],y=k[1],x=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),r=(0,s.Nk)(t),n=r[0],o=r[1],[n,(0,a.useCallback)((function(e){t&&o.set(e)}),[t,o])]),S=x[0],N=x[1],E=function(){var e=null!=h?h:S;return d({value:e,tabValues:f})?e:null}();return(0,a.useLayoutEffect)((function(){E&&g(E)}),[E]),{selectedValue:v,selectValue:(0,a.useCallback)((function(e){if(!d({value:e,tabValues:f}))throw new Error("Can't select invalid tab value="+e);g(e),y(e),N(e)}),[y,N,f]),tabValues:f}}var b=r(2466),v=r(2389),g="tabList__CuJ",k="tabItem_LNqP";function h(e){var t=e.className,r=e.block,u=e.selectedValue,i=e.selectValue,l=e.tabValues,s=[],c=(0,b.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,r=s.indexOf(t),n=l[r].value;n!==u&&(c(t),i(n))},d=function(e){var t,r=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var n,a=s.indexOf(e.currentTarget)+1;r=null!=(n=s[a])?n:s[0];break;case"ArrowLeft":var o,u=s.indexOf(e.currentTarget)-1;r=null!=(o=s[u])?o:s[s.length-1]}null==(t=r)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":r},t)},l.map((function(e){var t=e.value,r=e.label,i=e.attributes;return a.createElement("li",(0,n.Z)({role:"tab",tabIndex:u===t?0:-1,"aria-selected":u===t,key:t,ref:function(e){return s.push(e)},onKeyDown:d,onClick:p},i,{className:(0,o.Z)("tabs__item",k,null==i?void 0:i.className,{"tabs__item--active":u===t})}),null!=r?r:t)})))}function y(e){var t=e.lazy,r=e.children,n=e.selectedValue,o=(Array.isArray(r)?r:[r]).filter(Boolean);if(t){var u=o.find((function(e){return e.props.value===n}));return u?(0,a.cloneElement)(u,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},o.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==n})})))}function x(e){var t=f(e);return a.createElement("div",{className:(0,o.Z)("tabs-container",g)},a.createElement(h,(0,n.Z)({},e,t)),a.createElement(y,(0,n.Z)({},e,t)))}function S(e){var t=(0,v.Z)();return a.createElement(x,(0,n.Z)({key:String(t)},e))}},4279:function(e,t,r){r.r(t),r.d(t,{assets:function(){return d},contentTitle:function(){return c},default:function(){return b},frontMatter:function(){return s},metadata:function(){return p},toc:function(){return m}});var n=r(7462),a=r(3366),o=(r(7294),r(3905)),u=r(4866),i=r(5162),l=["components"],s={id:"extent-reports",title:"Extent Reports",sidebar_position:2},c=void 0,p={unversionedId:"guides/extent-reports",id:"guides/extent-reports",title:"Extent Reports",description:"Selcukes Extent Reports is used to",source:"@site/docs/03_guides/extent-reports.md",sourceDirName:"03_guides",slug:"/guides/extent-reports",permalink:"/docs/guides/extent-reports",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/extent-reports.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"extent-reports",title:"Extent Reports",sidebar_position:2},sidebar:"defaultSidebar",previous:{title:"Selcukes Databind",permalink:"/docs/guides/data-bind"},next:{title:"Selcukes Notifier",permalink:"/docs/guides/selcukes-notifier"}},d={},m=[{value:"Features",id:"features",level:2},{value:"Setup",id:"setup",level:2},{value:"Usage",id:"usage",level:2}],f={toc:m};function b(e){var t=e.components,r=(0,a.Z)(e,l);return(0,o.kt)("wrapper",(0,n.Z)({},f,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/selcukes-extent-reports"},"Selcukes Extent Reports")," is used to\ngenerate Extent reports for Cucumber JVM."),(0,o.kt)("h2",{id:"features"},"Features"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Generates Emailable extent report"),(0,o.kt)("li",{parentName:"ol"},"Full page screenshots attached to report as base64 format"),(0,o.kt)("li",{parentName:"ol"},"Supports to add JUL based info logs to report")),(0,o.kt)("h2",{id:"setup"},"Setup"),(0,o.kt)("p",null,"Selcukes Extent Reports is primarily used as a Java dependency . We typically use a ",(0,o.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,o.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,o.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Selcukes Extent Reports\ndependency."),(0,o.kt)(u.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,o.kt)(i.Z,{value:"maven",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n selcukes-extent-reports\n ${selcukes.version}\n\n"))),(0,o.kt)(i.Z,{value:"gradle",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:selcukes-extent-reports:${selcukes.version}")\n}\n')))),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"Selcukes Extent Reports is a transitive Dependency of ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes-reports"),".If you are using ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes-reports"),",\nthen ignore adding this dependency explicitly.")),(0,o.kt)("admonition",{type:"warning"},(0,o.kt)("p",{parentName:"admonition"},"If you are using ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes-testng")," then set ",(0,o.kt)("inlineCode",{parentName:"p"},"emailReport")," as true in ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes.yaml")," file. No other configurations required")),(0,o.kt)("h2",{id:"usage"},"Usage"),(0,o.kt)("p",null,"Create an ",(0,o.kt)("inlineCode",{parentName:"p"},"extent.properties")," file in the ",(0,o.kt)("inlineCode",{parentName:"p"},"src/test/resources")," folder with the following properties:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"extent.reporter.spark.start=true\nextent.reporter.spark.out=target/extent-reports/Sample.html\nsysteminfo.Author=Ramesh\nselcukes.reports.timestamp=false\nselcukes.reports.thumbnail=false\n")),(0,o.kt)("p",null,"Add Selcukes Extent Reports plugin to the cucumber runner by adding ",(0,o.kt)("inlineCode",{parentName:"p"},"io.github.selcukes.extent.report.SelcukesExtentAdapter")," to the plugin option in the ",(0,o.kt)("inlineCode",{parentName:"p"},"@CucumberOptions")," annotation:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'@CucumberOptions(tags = "@tag1", plugin = {\n "io.github.selcukes.extent.report.SelcukesExtentAdapter",\n "html:target/cucumber-reports/cucumber.html", "json:target/cucumber-reports/cucumber.json"\n\n})\n')),(0,o.kt)("p",null,"Update Cucumber Hooks "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'package io.github.selcukes.example.cucumber.steps;\n\nimport io.cucumber.java.After;\nimport io.cucumber.java.AfterAll;\nimport io.cucumber.java.AfterStep;\nimport io.cucumber.java.Before;\nimport io.cucumber.java.BeforeAll;\nimport io.cucumber.java.BeforeStep;\nimport io.cucumber.java.Scenario;\nimport io.github.selcukes.example.cucumber.utils.TestContext;\nimport io.github.selcukes.excel.ScenarioContext;\nimport io.github.selcukes.extent.report.Reporter;\nimport lombok.CustomLog;\nimport org.openqa.selenium.WebDriver;\n\n@CustomLog\npublic class CucumberHooks {\n WebDriver driver;\n\n public CucumberHooks(TestContext driverManager) {\n driver = driverManager.getDriver();\n }\n\n @BeforeAll\n public static void beforeAll() {\n logger.info(() -> "Before All ...");\n }\n\n @AfterAll\n public static void afterAll() {\n logger.info(() -> "After All ...");\n }\n\n @Before\n public void beforeTest(Scenario scenario) {\n ScenarioContext.setTestName(scenario);\n Reporter.getReporter().initSnapshot(driver);\n logger.info(() -> "Starting Scenario .." + scenario.getName());\n }\n\n @BeforeStep\n public void beforeStep(Scenario scenario) {\n logger.info(() -> "Before Step");\n }\n\n @AfterStep\n public void afterStep(Scenario scenario) {\n logger.info(() -> "After Step");\n\n try {\n Reporter.getReporter().attachVisiblePageScreenshot();\n } catch (Exception ignored) {\n }\n }\n\n @After\n public void afterTest(Scenario scenario) {\n ScenarioContext.removeTestName();\n logger.info(() -> "Completed Scenario .." + scenario.getName());\n }\n}\n')),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"Use Selcukes Logger to attach custom info logs to extent report")),(0,o.kt)("p",null,"That's it! With these steps, Selcukes Extent Reports plugin is integrated with Cucumber and will generate reports in the specified output folder."))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/af24fada.974090c6.js b/assets/js/af24fada.974090c6.js new file mode 100644 index 0000000..f0b12e2 --- /dev/null +++ b/assets/js/af24fada.974090c6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[523],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return f}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,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 s(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),p=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},u=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),d=p(n),f=o,m=d["".concat(c,".").concat(f)]||d[f]||l[f]||i;return n?r.createElement(m,s(s({ref:t},u),{},{components:n})):r.createElement(m,s({ref:t},u))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,s=new Array(i);s[0]=d;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:o,s[1]=a;for(var p=2;p=0||(o[r]=e[r]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=t.createContext({}),s=function(e){var n=t.useContext(u),r=n;return e&&(r="function"==typeof e?e(n):i(i({},n),e)),r},c=function(e){var n=s(e.components);return t.createElement(u.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},f=t.forwardRef((function(e,n){var r=e.components,o=e.mdxType,a=e.originalType,u=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),f=s(r),m=o,p=f["".concat(u,".").concat(m)]||f[m]||d[m]||a;return r?t.createElement(p,i(i({ref:n},c),{},{components:r})):t.createElement(p,i({ref:n},c))}));function m(e,n){var r=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=f;var l={};for(var u in n)hasOwnProperty.call(n,u)&&(l[u]=n[u]);l.originalType=e,l.mdxType="string"==typeof e?e:o,i[1]=l;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:r.filter(Boolean))?n:[]}(e).map((function(e){var n=e.props;return{value:n.value,label:n.label,attributes:n.attributes,default:n.default}}))}function d(e){var n=e.values,r=e.children;return(0,o.useMemo)((function(){var e=null!=n?n:c(r);return function(e){var n=(0,u.l)(e,(function(e,n){return e.value===n.value}));if(n.length>0)throw new Error('Docusaurus error: Duplicate values "'+n.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[n,r])}function f(e){var n=e.value;return e.tabValues.some((function(e){return e.value===n}))}function m(e){var n=e.queryString,r=void 0!==n&&n,t=e.groupId,a=(0,i.k6)(),u=function(e){var n=e.queryString,r=void 0!==n&&n,t=e.groupId;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=t?t:null}({queryString:r,groupId:t});return[(0,l._X)(u),(0,o.useCallback)((function(e){if(u){var n=new URLSearchParams(a.location.search);n.set(u,e),a.replace(Object.assign({},a.location,{search:n.toString()}))}}),[u,a])]}function p(e){var n,r,t,a,i=e.defaultValue,l=e.queryString,u=void 0!==l&&l,c=e.groupId,p=d(e),v=(0,o.useState)((function(){return function(e){var n,r=e.defaultValue,t=e.tabValues;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(r){if(!f({value:r,tabValues:t}))throw new Error('Docusaurus error: The has a defaultValue "'+r+'" but none of its children has the corresponding value. Available values are: '+t.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return r}var o=null!=(n=t.find((function(e){return e.default})))?n:t[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:i,tabValues:p})})),b=v[0],g=v[1],h=m({queryString:u,groupId:c}),y=h[0],k=h[1],_=(n=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),r=(0,s.Nk)(n),t=r[0],a=r[1],[t,(0,o.useCallback)((function(e){n&&a.set(e)}),[n,a])]),O=_[0],w=_[1],T=function(){var e=null!=y?y:O;return f({value:e,tabValues:p})?e:null}();return(0,o.useLayoutEffect)((function(){T&&g(T)}),[T]),{selectedValue:b,selectValue:(0,o.useCallback)((function(e){if(!f({value:e,tabValues:p}))throw new Error("Can't select invalid tab value="+e);g(e),k(e),w(e)}),[k,w,p]),tabValues:p}}var v=r(2466),b=r(2389),g="tabList__CuJ",h="tabItem_LNqP";function y(e){var n=e.className,r=e.block,i=e.selectedValue,l=e.selectValue,u=e.tabValues,s=[],c=(0,v.o5)().blockElementScrollPositionUntilNextRender,d=function(e){var n=e.currentTarget,r=s.indexOf(n),t=u[r].value;t!==i&&(c(n),l(t))},f=function(e){var n,r=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":var t,o=s.indexOf(e.currentTarget)+1;r=null!=(t=s[o])?t:s[0];break;case"ArrowLeft":var a,i=s.indexOf(e.currentTarget)-1;r=null!=(a=s[i])?a:s[s.length-1]}null==(n=r)||n.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":r},n)},u.map((function(e){var n=e.value,r=e.label,l=e.attributes;return o.createElement("li",(0,t.Z)({role:"tab",tabIndex:i===n?0:-1,"aria-selected":i===n,key:n,ref:function(e){return s.push(e)},onKeyDown:f,onClick:d},l,{className:(0,a.Z)("tabs__item",h,null==l?void 0:l.className,{"tabs__item--active":i===n})}),null!=r?r:n)})))}function k(e){var n=e.lazy,r=e.children,t=e.selectedValue,a=(Array.isArray(r)?r:[r]).filter(Boolean);if(n){var i=a.find((function(e){return e.props.value===t}));return i?(0,o.cloneElement)(i,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},a.map((function(e,n){return(0,o.cloneElement)(e,{key:n,hidden:e.props.value!==t})})))}function _(e){var n=p(e);return o.createElement("div",{className:(0,a.Z)("tabs-container",g)},o.createElement(y,(0,t.Z)({},e,n)),o.createElement(k,(0,t.Z)({},e,n)))}function O(e){var n=(0,b.Z)();return o.createElement(_,(0,t.Z)({key:String(n)},e))}},7775:function(e,n,r){r.r(n),r.d(n,{assets:function(){return f},contentTitle:function(){return c},default:function(){return v},frontMatter:function(){return s},metadata:function(){return d},toc:function(){return m}});var t=r(7462),o=r(3366),a=(r(7294),r(3905)),i=r(4866),l=r(5162),u=["components"],s={title:"Selenoid Grid Test",sidebar_position:1},c=void 0,d={unversionedId:"docker/selenoid-grid-test",id:"docker/selenoid-grid-test",title:"Selenoid Grid Test",description:'=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var i=n.createContext({}),l=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):u(u({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(i.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),f=l(r),m=o,d=f["".concat(i,".").concat(m)]||f[m]||s[m]||a;return r?n.createElement(d,u(u({ref:t},p),{},{components:r})):n.createElement(d,u({ref:t},p))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,u=new Array(a);u[0]=f;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:o,u[1]=c;for(var l=2;l0&&a.createElement("meta",{property:"article:tag",content:u.map((function(e){return e.label})).join(",")}))}var g=t(9407);function p(e){var n=e.sidebar,t=e.children,r=(0,o.C)(),l=r.metadata,i=r.toc,u=l.nextItem,m=l.prevItem,d=l.frontMatter,f=d.hide_table_of_contents,p=d.toc_min_heading_level,h=d.toc_max_heading_level;return a.createElement(c.Z,{sidebar:n,toc:!f&&i.length>0?a.createElement(g.Z,{toc:i,minHeadingLevel:p,maxHeadingLevel:h}):void 0},a.createElement(s.Z,null,t),(u||m)&&a.createElement(v,{nextItem:u,prevItem:m}))}function h(e){var n=e.content;return a.createElement(o.n,{content:e.content,isBlogPostPage:!0},a.createElement(l.FG,{className:(0,r.Z)(i.k.wrapper.blogPages,i.k.page.blogPostPage)},a.createElement(f,null),a.createElement(p,{sidebar:e.sidebar},a.createElement(n,null))))}},9407:function(e,n,t){t.d(n,{Z:function(){return u}});var a=t(7462),r=t(3366),l=t(7294),i=t(4334),o=t(3743),c="tableOfContents_bqdL",s=["className"];function u(e){var n=e.className,t=(0,r.Z)(e,s);return l.createElement("div",{className:(0,i.Z)(c,"thin-scrollbar",n)},l.createElement(o.Z,(0,a.Z)({},t,{linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})))}},3743:function(e,n,t){t.d(n,{Z:function(){return h}});var a=t(7462),r=t(3366),l=t(7294),i=t(6668),o=["parentIndex"];function c(e){var n=e.map((function(e){return Object.assign({},e,{parentIndex:-1,children:[]})})),t=Array(7).fill(-1);n.forEach((function(e,n){var a=t.slice(2,e.level);e.parentIndex=Math.max.apply(Math,a),t[e.level]=n}));var a=[];return n.forEach((function(e){var t=e.parentIndex,l=(0,r.Z)(e,o);t>=0?n[t].children.push(l):a.push(l)})),a}function s(e){var n=e.toc,t=e.minHeadingLevel,a=e.maxHeadingLevel;return n.flatMap((function(e){var n=s({toc:e.children,minHeadingLevel:t,maxHeadingLevel:a});return function(e){return e.level>=t&&e.level<=a}(e)?[Object.assign({},e,{children:n})]:n}))}function u(e){var n=e.getBoundingClientRect();return n.top===n.bottom?u(e.parentNode):n}function m(e,n){var t,a,r=n.anchorTopOffset,l=e.find((function(e){return u(e).top>=r}));return l?function(e){return e.top>0&&e.bottom=0||(l[t]=e[t]);return l}(e,a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var s=n.createContext({}),u=function(e){var a=n.useContext(s),t=a;return e&&(t="function"==typeof e?e(a):r(r({},a),e)),t},p=function(e){var a=u(e.components);return n.createElement(s.Provider,{value:a},e.children)},c={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},d=n.forwardRef((function(e,a){var t=e.components,l=e.mdxType,o=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(t),m=l,g=d["".concat(s,".").concat(m)]||d[m]||c[m]||o;return t?n.createElement(g,r(r({ref:a},p),{},{components:t})):n.createElement(g,r({ref:a},p))}));function m(e,a){var t=arguments,l=a&&a.mdxType;if("string"==typeof e||l){var o=t.length,r=new Array(o);r[0]=d;var i={};for(var s in a)hasOwnProperty.call(a,s)&&(i[s]=a[s]);i.originalType=e,i.mdxType="string"==typeof e?e:l,r[1]=i;for(var u=2;u dataTable = new DataTable<>();\n")),(0,o.kt)("p",null,"To create a DataTable with initial data, you can use the of method and pass a list of maps, where each map represents a row of data with the keys being the column names and the values being the data for that row:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("name", "Alice", "age", 25),\nMap.of("name", "Bob", "age", 30),\nMap.of("name", "Charlie", "age", 35));\n')),(0,o.kt)("h3",{id:"adding-rows"},"Adding Rows"),(0,o.kt)("p",null,"To add a new row to the data table, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"addRow")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Map row = Map.of("Key1", "Value1","Key2", "Value2");\ndataTable.addRow(row);\n')),(0,o.kt)("p",null,"You can also add multiple rows at once using the ",(0,o.kt)("inlineCode",{parentName:"p"},"addRows")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'List> rows = List.of(\nMap.of("Key1", "Value1","Key2", "Value2"),\nMap.of("Key3", "Value3","Key4", "Value4"));\n\ndataTable.addRows(rows);\n\n')),(0,o.kt)("h3",{id:"retrieving-column-keys"},"Retrieving Column Keys"),(0,o.kt)("p",null,"To retrieve a list of column keys from the first row of the data table, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"getColumns")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},"List columns = dataTable.getColumns();\n")),(0,o.kt)("h3",{id:"retrieving-column-entries"},"Retrieving Column Entries"),(0,o.kt)("p",null,"The getColumnEntries method in the DataTable class allows you to retrieve a list of all the values in a given column of the table."),(0,o.kt)("p",null,"Here is an example usage of the getColumnEntries method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("name", "Alice", "age", 25),\nMap.of("name", "Bob", "age", 30),\nMap.of("name", "Charlie", "age", 35));\n\nList ages = dataTable.getColumnEntries("age");\n')),(0,o.kt)("p",null,"This will produce the following output:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"[25, 30, 35]\n")),(0,o.kt)("h3",{id:"filtering-rows"},"Filtering Rows"),(0,o.kt)("p",null,"To filter the rows of the DataTable based on a predicate, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"filter")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Stream> filteredRows = dataTable.filter(row -> row.get("Key1").equals("Value1"));\n')),(0,o.kt)("h3",{id:"finding-rows"},"Finding Rows"),(0,o.kt)("p",null,"To find the first or last row that matches a predicate, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"findFirst")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"findLast")," methods:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Optional> firstMatch = dataTable.findFirst(row -> row.get("Key1").equals("Value1"));\nOptional> lastMatch = dataTable.findLast(row -> row.get("Key1").equals("Value1"));\n')),(0,o.kt)("h3",{id:"grouping-rows"},"Grouping Rows"),(0,o.kt)("p",null,"To group the rows of the DataTable based on the values of a column key, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"groupByColumn")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("Key1", "A", "Key2", "X", "Value", "10"),\nMap.of("Key1", "A", "Key2", "Y", "Value", "20"),\nMap.of("Key1", "B", "Key2", "X", "Value", "30"),\nMap.of("Key1", "B", "Key2", "Y", "Value", "40"));\n\nMap> groupedRows = dataTable.groupByColumn("Key1");\n')),(0,o.kt)("p",null,"This will produce a Map of DataTable with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"A{\n[Value, Key2, Key1]\n[10, X, A]\n[20, Y, A]\n}\nB{\n[Value, Key2, Key1]\n[30, X, B]\n[40, Y, B]\n}\n")),(0,o.kt)("p",null,'In this example, we grouped the rows of dataTable by the values in the "Key1" column, which resulted in a map where each key corresponds to a unique value in the "Key1" column, and each value is a new DataTable containing the rows with that key.'),(0,o.kt)("h3",{id:"updating-rows"},"Updating Rows"),(0,o.kt)("p",null,"To update each row in the table by applying a function to the map representing each row, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"updateRows")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'dataTable.updateRows(row -> {\n row.put("Key3", "Value3");\n return row;\n });\n')),(0,o.kt)("p",null,'This will update the value for the "Key3" column in each row of the table. The function passed to updateRows takes a Map as input, which represents a single row of the table. In this example, the function adds a new key-value pair to each row and returns the updated row.'),(0,o.kt)("h3",{id:"updating-cell"},"Updating Cell"),(0,o.kt)("p",null,"To update a cell at the given row index and column key in a DataTable, use the updateCell method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},' dataTable.updateCell(rowIndex, "Key", "newValue");\n')),(0,o.kt)("p",null,"This will update the cell at the specified row index and column key with the new value."),(0,o.kt)("h3",{id:"removing-rows"},"Removing Rows"),(0,o.kt)("p",null,"To remove rows from the DataTable based on a given condition, use the removeRows method. The method takes a Predicate as input, which is used to filter the rows to remove."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'// Create a sample DataTable\nDataTable dataTable = DataTable.of(\nMap.of("category", 1, "price", 10),\nMap.of("category", 2, "price", 20),\nMap.of("category", 1, "price", 30),\nMap.of("category", 2, "price", 40)\n);\n\n// Define the predicate to filter rows\nPredicate> predicate = row -> row.get("category") == 1;\n\n// Remove the rows matching the predicate\ndataTable.removeRows(predicate);\n')),(0,o.kt)("p",null,"To remove a specific row from the DataTable using its index, use the removeRow method."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'// Create a sample DataTable\nDataTable dataTable = DataTable.of(\n Map.of("name", "Alice", "age", "25"),\n Map.of("name", "Bob", "age", "30"),\n Map.of("name", "Charlie", "age", "35")\n );\n\n// Remove the row at index 1\n dataTable.removeRow(1);\n')),(0,o.kt)("h3",{id:"adding-a-column"},"Adding a Column"),(0,o.kt)("p",null,"To add a new column to the table with the given key and defaultValue, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"addColumn")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'dataTable.addColumn("Key", "Value");\n')),(0,o.kt)("p",null,"Suppose we have a ",(0,o.kt)("inlineCode",{parentName:"p"},"DataTable")," with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("category", 1, "price", 10),\nMap.of("category", 2, "price", 20),\nMap.of("category", 1, "price", 30),\nMap.of("category", 2, "price", 40));\n')),(0,o.kt)("p",null,"To add Column ",(0,o.kt)("inlineCode",{parentName:"p"},"Code")," with default ",(0,o.kt)("inlineCode",{parentName:"p"},"1234")," then we can use the addColumn() method as follows:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'dataTable.addColumn("Code", 1234);\n')),(0,o.kt)("p",null,"This will update a DataTable with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"[price, category, Code]\n[10, 1, 1234]\n[20, 2, 1234]\n[30, 1, 1234]\n[40, 2, 1234]\n")),(0,o.kt)("h3",{id:"rename-column"},"Rename Column"),(0,o.kt)("p",null,"To update the column names in a DataTable using the mapping specified in the columnMapping parameter, use the renameColumn method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Map columnMapping = Map.of("Key1", "NewKey1", "Key2", "NewKey2");\ndataTable.renameColumn(columnMapping);\n')),(0,o.kt)("p",null,"This will update the column names in the dataTable according to the mapping specified in columnMapping."),(0,o.kt)("h3",{id:"selecting-columns"},"Selecting Columns"),(0,o.kt)("p",null,'The selectColumns method in the DataTable class allows you to return a new DataTable with only the selected columns. For example, if you have a DataTable with columns "A", "B", and "C", and you want to select only columns "A" and "C", you can use this method as follows:'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("A", "a1", "B", "b1", "C", "c1"),\nMap.of("A", "a2", "B", "b2", "C", "c2"));\n\nList columns = Arrays.asList("A", "C");\n\nDataTable selectedColumns = dataTable.selectColumns(columns);\n')),(0,o.kt)("p",null,'This will produce a new DataTable with only columns "A" and "C":'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"[A, C]\n[a1, c1]\n[a2, c2]\n")),(0,o.kt)("h3",{id:"selecting-rows"},"Selecting Rows"),(0,o.kt)("p",null,"The selectRows method allows you to return a new DataTable instance that contains only the rows that satisfy the given predicate. For example, if you have a DataTable with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("A", 1, "B", 2, "C", 3),\nMap.of("A", 4, "B", 5, "C", 6),\nMap.of("A", 7, "B", 8, "C", 9));\n')),(0,o.kt)("p",null,'And you want to select only the rows where the value in column "A" is greater than 3, you can use this method as follows:'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable selectedRows = dataTable.selectRows(row -> row.get("A") > 3);\n')),(0,o.kt)("p",null,'This will produce a new DataTable with only the rows where the value in column "A" is greater than 3:'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"[A, B, C]\n[4, 5, 6]\n[7, 8, 9]\n")),(0,o.kt)("h3",{id:"join-tables"},"Join Tables"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"join")," method is used to merge two DataTables based on a common column. Here's an example of how to use it:"),(0,o.kt)("p",null,"Suppose we have two ",(0,o.kt)("inlineCode",{parentName:"p"},"DataTables"),", table1 and table2, with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable table1 = DataTable.of(\nMap.of("name", "Alice", "age", 25),\nMap.of("name", "Bob", "age", 30),\nMap.of("name", "Charlie", "age", 35));\n\nDataTable table2 = DataTable.of(\nMap.of("name", "Alice","gender", "F"),\nMap.of("name", "Bob","gender", "M"),\nMap.of("name", "Charlie","gender", "M"));\n')),(0,o.kt)("p",null,'In the example above, we have two DataTables, table1 and table2, with a common column "name". We can use the join method to merge the two tables on this column, and a lambda expression to merge the rows from both tables into a new map.'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable joinedTable = table1.join(table2, "name",\n (row1, row2) -> {\n var resultRow = new HashMap();\n resultRow.putAll(row1);\n resultRow.putAll(row2);\n return resultRow;\n });\n')),(0,o.kt)("p",null,'The resulting joinedTable contains the columns "name", "age", and "gender". Here\'s the data it contains:'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"[name, gender, age]\n[Alice, F, 25]\n[Bob, M, 30]\n[Charlie, M, 35]\n")),(0,o.kt)("p",null,"In summary, we can use the join method to merge two DataTables based on a common column, and a lambda expression to merge the rows from both tables into a new map. The resulting DataTable contains the merged data."),(0,o.kt)("h3",{id:"aggregate-by-column"},"Aggregate by Column"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"aggregateByColumn")," method in the DataTable class allows you to perform aggregation operations on one column based on the values of another column.\nSuppose we have a ",(0,o.kt)("inlineCode",{parentName:"p"},"DataTable")," with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("category", 1, "price", 10),\nMap.of("category", 2, "price", 20),\nMap.of("category", 1, "price", 30),\nMap.of("category", 2, "price", 40));\n')),(0,o.kt)("p",null,'To aggregate the "price" column by the "category" column using the sum() function, we can use the aggregateByColumn() method as follows:'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Map result = dataTable.aggregateByColumn("price", "category", Integer::sum);\n')),(0,o.kt)("p",null,"This will produce a Map with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"{1=40, 2=60}\n")),(0,o.kt)("p",null,'In this case, the "category" column has two distinct values: 1 and 2. The "price" values for the "category" 1 are 10 and 30, which sum up to 40. Similarly, the "price" values for the "category" 2 are 20 and 40, which sum up to 60.'),(0,o.kt)("h3",{id:"sort-by-column"},"Sort by Column"),(0,o.kt)("p",null,"The sortByColumn method allows you to sort the rows in the DataTable by the values in a particular column. You specify which column to sort by using the columnName parameter, which should be the name of the column you want to sort by. You also specify a Comparator object to determine the order of the values in the column."),(0,o.kt)("p",null,"For example, suppose you have a DataTable object that contains information about students, including their names and grades on an exam. You could sort the table by grade using the sortByColumn method like this:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'// Create a DataTable object with student data\nDataTable studentTable = DataTable.of(\nMap.of("Name", "Alice", "Grade", 85),\nMap.of("Name", "Bob", "Grade", 72),\nMap.of("Name", "Charlie", "Grade", 92),\nMap.of("Name", "Dave", "Grade", 68));\n\n// Create a Comparator object to sort by grade in descending order\nComparator gradeComparator = Comparator.comparing(\n obj -> Integer.valueOf(obj.toString()),\n Comparator.reverseOrder()\n );\n\n// Sort the table by grade\nstudentTable.sortByColumn("Grade", gradeComparator);\n\n')),(0,o.kt)("p",null,"This will sort a DataTable as follows:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"[Name, Grade]\n[Charlie, 92]\n[Alice, 85]\n[Bob, 72]\n[Dave, 68]\n")),(0,o.kt)("p",null,'In this example, the columnName parameter is "Grade", indicating that we want to sort by the "Grade" column, and the comparator parameter is gradeComparator, which is a Comparator object that sorts integers in reverse order.'),(0,o.kt)("h3",{id:"contains"},"Contains"),(0,o.kt)("p",null,"To check if a DataTable contains an expected row, use the contains method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Map expectedRow = Map.of("Key1", "A", "Key2", "X", "Value", "10");\nboolean result = dataTable.contains(expectedRow);\n')),(0,o.kt)("p",null,"This will check if the dataTable contains a row with the same keys and values as expectedRow, and return true if it does, false otherwise."),(0,o.kt)("h3",{id:"other-operations"},"Other Operations"),(0,o.kt)("p",null,"The DataTable class also supports other operations such as sorting, mapping, reducing, and more. These operations are performed using the Stream API, which can be accessed by calling the ",(0,o.kt)("inlineCode",{parentName:"p"},"rows")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},"Stream> stream = dataTable.rows();\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ed3a5d05.678980f8.js b/assets/js/ed3a5d05.678980f8.js new file mode 100644 index 0000000..d697b86 --- /dev/null +++ b/assets/js/ed3a5d05.678980f8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[247],{4469:function(e){e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/f36f7db6.4a693f15.js b/assets/js/f36f7db6.4a693f15.js new file mode 100644 index 0000000..a23ba88 --- /dev/null +++ b/assets/js/f36f7db6.4a693f15.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[475],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return d}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(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 o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,u=e.originalType,l=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),f=s(n),d=a,m=f["".concat(l,".").concat(d)]||f[d]||p[d]||u;return n?r.createElement(m,o(o({ref:t},c),{},{components:n})):r.createElement(m,o({ref:t},c))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var u=n.length,o=new Array(u);o[0]=f;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,o[1]=i;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,n=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:c(n);return function(e){var t=(0,l.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function f(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function d(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId,u=(0,o.k6)(),l=function(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=r?r:null}({queryString:n,groupId:r});return[(0,i._X)(l),(0,a.useCallback)((function(e){if(l){var t=new URLSearchParams(u.location.search);t.set(l,e),u.replace(Object.assign({},u.location,{search:t.toString()}))}}),[l,u])]}function m(e){var t,n,r,u,o=e.defaultValue,i=e.queryString,l=void 0!==i&&i,c=e.groupId,m=p(e),v=(0,a.useState)((function(){return function(e){var t,n=e.defaultValue,r=e.tabValues;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!f({value:n,tabValues:r}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+r.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var a=null!=(t=r.find((function(e){return e.default})))?t:r[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:o,tabValues:m})})),h=v[0],b=v[1],g=d({queryString:l,groupId:c}),k=g[0],y=g[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),n=(0,s.Nk)(t),r=n[0],u=n[1],[r,(0,a.useCallback)((function(e){t&&u.set(e)}),[t,u])]),N=w[0],T=w[1],E=function(){var e=null!=k?k:N;return f({value:e,tabValues:m})?e:null}();return(0,a.useLayoutEffect)((function(){E&&b(E)}),[E]),{selectedValue:h,selectValue:(0,a.useCallback)((function(e){if(!f({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);b(e),y(e),T(e)}),[y,T,m]),tabValues:m}}var v=n(2466),h=n(2389),b="tabList__CuJ",g="tabItem_LNqP";function k(e){var t=e.className,n=e.block,o=e.selectedValue,i=e.selectValue,l=e.tabValues,s=[],c=(0,v.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,n=s.indexOf(t),r=l[n].value;r!==o&&(c(t),i(r))},f=function(e){var t,n=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var r,a=s.indexOf(e.currentTarget)+1;n=null!=(r=s[a])?r:s[0];break;case"ArrowLeft":var u,o=s.indexOf(e.currentTarget)-1;n=null!=(u=s[o])?u:s[s.length-1]}null==(t=n)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,u.Z)("tabs",{"tabs--block":n},t)},l.map((function(e){var t=e.value,n=e.label,i=e.attributes;return a.createElement("li",(0,r.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:function(e){return s.push(e)},onKeyDown:f,onClick:p},i,{className:(0,u.Z)("tabs__item",g,null==i?void 0:i.className,{"tabs__item--active":o===t})}),null!=n?n:t)})))}function y(e){var t=e.lazy,n=e.children,r=e.selectedValue,u=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var o=u.find((function(e){return e.props.value===r}));return o?(0,a.cloneElement)(o,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},u.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==r})})))}function w(e){var t=m(e);return a.createElement("div",{className:(0,u.Z)("tabs-container",b)},a.createElement(k,(0,r.Z)({},e,t)),a.createElement(y,(0,r.Z)({},e,t)))}function N(e){var t=(0,h.Z)();return a.createElement(w,(0,r.Z)({key:String(t)},e))}},986:function(e,t,n){n.r(t),n.d(t,{assets:function(){return f},contentTitle:function(){return c},default:function(){return v},frontMatter:function(){return s},metadata:function(){return p},toc:function(){return d}});var r=n(7462),a=n(3366),u=(n(7294),n(3905)),o=n(4866),i=n(5162),l=["components"],s={id:"selcukes-notifier",title:"Selcukes Notifier",sidebar_position:3},c=void 0,p={unversionedId:"guides/selcukes-notifier",id:"guides/selcukes-notifier",title:"Selcukes Notifier",description:"Selcukes Notifier helps to send notifications",source:"@site/docs/03_guides/notifier.md",sourceDirName:"03_guides",slug:"/guides/selcukes-notifier",permalink:"/docs/guides/selcukes-notifier",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/notifier.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"selcukes-notifier",title:"Selcukes Notifier",sidebar_position:3},sidebar:"defaultSidebar",previous:{title:"Extent Reports",permalink:"/docs/guides/extent-reports"},next:{title:"Selcukes Excel Runner",permalink:"/docs/guides/excel-runner"}},f={},d=[{value:"Motivation",id:"motivation",level:2},{value:"Setup",id:"setup",level:2},{value:"Usage",id:"usage",level:2}],m={toc:d};function v(e){var t=e.components,n=(0,a.Z)(e,l);return(0,u.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,u.kt)("p",null,(0,u.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/selcukes-notifier"},"Selcukes Notifier")," helps to send notifications\nusing Slack and Microsoft Teams."),(0,u.kt)("h2",{id:"motivation"},"Motivation"),(0,u.kt)("p",null,"Currently, we moved to On premises environments. To view HTML report generated by automation scripts we need to connect\nto the different VPN\u2019s to open the report and check the related screenshots to see which test case has failed and why.\nSo, why not raise an alert as soon as the test case fails? And why not attach a screenshot along with that alert so that\nall the stakeholders can actually see what has failed in the application?"),(0,u.kt)("h2",{id:"setup"},"Setup"),(0,u.kt)("p",null,"Selcukes Notifier is primarily used as a Java dependency . We typically use a ",(0,u.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,u.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,u.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Selcukes Notifier dependency."),(0,u.kt)(o.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,u.kt)(i.Z,{value:"maven",mdxType:"TabItem"},(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n selcukes-notifier\n ${selcukes.version}\n\n"))),(0,u.kt)(i.Z,{value:"gradle",mdxType:"TabItem"},(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:selcukes-notifier:${selcukes.version}")\n}\n')))),(0,u.kt)("h2",{id:"usage"},"Usage"),(0,u.kt)("p",null,"Add ",(0,u.kt)("inlineCode",{parentName:"p"},"selcukes.yaml")," and update below config as follows"),(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-yaml"},"notifier:\n notification: true\n type: teams\n webhookToken: WEBHOOKXXXX\n apiToken: APIXXXX\n channel: selcukes\n authorIcon: https://github.com/rameshbabuprudhvi.png\n")),(0,u.kt)("p",null,"Create a test class as follows"),(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-java"},'public class NotifierTest {\n @Test\n public void testNotifications() {\n NotifierFactory.getNotifier()\n .scenarioName("This is sample scenario")\n .scenarioStatus("FAILED")\n .stepDetails("This is sample test step")\n .errorMessage("NullPointerException")\n .path("")\n .pushNotification();\n }\n}\n')))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f474b5ba.92c2d3c3.js b/assets/js/f474b5ba.92c2d3c3.js new file mode 100644 index 0000000..cee54a4 --- /dev/null +++ b/assets/js/f474b5ba.92c2d3c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[738],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return k}});var a=n(7294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var s=a.createContext({}),u=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var n=e.components,l=e.mdxType,r=e.originalType,s=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),p=u(n),k=l,h=p["".concat(s,".").concat(k)]||p[k]||c[k]||r;return n?a.createElement(h,o(o({ref:t},d),{},{components:n})):a.createElement(h,o({ref:t},d))}));function k(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=n.length,o=new Array(r);o[0]=p;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:l,o[1]=i;for(var u=2;u child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function c(e){var t=e.values,n=e.children;return(0,l.useMemo)((function(){var e=null!=t?t:d(n);return function(e){var t=(0,s.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function p(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function k(e){var t=e.queryString,n=void 0!==t&&t,a=e.groupId,r=(0,o.k6)(),s=function(e){var t=e.queryString,n=void 0!==t&&t,a=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:n,groupId:a});return[(0,i._X)(s),(0,l.useCallback)((function(e){if(s){var t=new URLSearchParams(r.location.search);t.set(s,e),r.replace(Object.assign({},r.location,{search:t.toString()}))}}),[s,r])]}function h(e){var t,n,a,r,o=e.defaultValue,i=e.queryString,s=void 0!==i&&i,d=e.groupId,h=c(e),m=(0,l.useState)((function(){return function(e){var t,n=e.defaultValue,a=e.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+a.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var l=null!=(t=a.find((function(e){return e.default})))?t:a[0];if(!l)throw new Error("Unexpected error: 0 tabValues");return l.value}({defaultValue:o,tabValues:h})})),g=m[0],f=m[1],b=k({queryString:s,groupId:d}),v=b[0],y=b[1],N=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:d}.groupId),n=(0,u.Nk)(t),a=n[0],r=n[1],[a,(0,l.useCallback)((function(e){t&&r.set(e)}),[t,r])]),w=N[0],T=N[1],x=function(){var e=null!=v?v:w;return p({value:e,tabValues:h})?e:null}();return(0,l.useLayoutEffect)((function(){x&&f(x)}),[x]),{selectedValue:g,selectValue:(0,l.useCallback)((function(e){if(!p({value:e,tabValues:h}))throw new Error("Can't select invalid tab value="+e);f(e),y(e),T(e)}),[y,T,h]),tabValues:h}}var m=n(2466),g=n(2389),f="tabList__CuJ",b="tabItem_LNqP";function v(e){var t=e.className,n=e.block,o=e.selectedValue,i=e.selectValue,s=e.tabValues,u=[],d=(0,m.o5)().blockElementScrollPositionUntilNextRender,c=function(e){var t=e.currentTarget,n=u.indexOf(t),a=s[n].value;a!==o&&(d(t),i(a))},p=function(e){var t,n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":var a,l=u.indexOf(e.currentTarget)+1;n=null!=(a=u[l])?a:u[0];break;case"ArrowLeft":var r,o=u.indexOf(e.currentTarget)-1;n=null!=(r=u[o])?r:u[u.length-1]}null==(t=n)||t.focus()};return l.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t)},s.map((function(e){var t=e.value,n=e.label,i=e.attributes;return l.createElement("li",(0,a.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:function(e){return u.push(e)},onKeyDown:p,onClick:c},i,{className:(0,r.Z)("tabs__item",b,null==i?void 0:i.className,{"tabs__item--active":o===t})}),null!=n?n:t)})))}function y(e){var t=e.lazy,n=e.children,a=e.selectedValue,r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var o=r.find((function(e){return e.props.value===a}));return o?(0,l.cloneElement)(o,{className:"margin-top--md"}):null}return l.createElement("div",{className:"margin-top--md"},r.map((function(e,t){return(0,l.cloneElement)(e,{key:t,hidden:e.props.value!==a})})))}function N(e){var t=h(e);return l.createElement("div",{className:(0,r.Z)("tabs-container",f)},l.createElement(v,(0,a.Z)({},e,t)),l.createElement(y,(0,a.Z)({},e,t)))}function w(e){var t=(0,g.Z)();return l.createElement(N,(0,a.Z)({key:String(t)},e))}},6984:function(e,t,n){n.r(t),n.d(t,{assets:function(){return p},contentTitle:function(){return d},default:function(){return m},frontMatter:function(){return u},metadata:function(){return c},toc:function(){return k}});var a=n(7462),l=n(3366),r=(n(7294),n(3905)),o=n(4866),i=n(5162),s=["components"],u={id:"style-guide",title:"Style Guide",sidebar_label:"Style Guide",description:"The Selcukes Documentation Style Guide",keywords:["contributing","style","markdown"]},d=void 0,c={unversionedId:"contributing/style-guide",id:"contributing/style-guide",title:"Style Guide",description:"The Selcukes Documentation Style Guide",source:"@site/docs/contributing/style-guide.md",sourceDirName:"contributing",slug:"/contributing/style-guide",permalink:"/docs/contributing/style-guide",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/contributing/style-guide.md",tags:[],version:"current",frontMatter:{id:"style-guide",title:"Style Guide",sidebar_label:"Style Guide",description:"The Selcukes Documentation Style Guide",keywords:["contributing","style","markdown"]},sidebar:"defaultSidebar",previous:{title:"Code of Conduct",permalink:"/docs/contributing/code-of-conduct"}},p={},k=[{value:"Markdown",id:"markdown",level:2},{value:"Frontmatter",id:"frontmatter",level:2},{value:"Introduction",id:"introduction",level:2},{value:"Headers",id:"headers",level:2},{value:"Content",id:"content",level:2},{value:"Images",id:"images",level:2},{value:"Videos",id:"videos",level:2},{value:"Tabs",id:"tabs",level:2},{value:"Inline Code",id:"inline-code",level:2},{value:"Code Blocks",id:"code-blocks",level:2},{value:"Code References",id:"code-references",level:2},{value:"Expanding Code Blocks",id:"expanding-code-blocks",level:2},{value:"Admonitions",id:"admonitions",level:2},{value:"Context Limited",id:"context-limited",level:2},{value:"Badges",id:"badges",level:3},{value:"Highlighted Text",id:"highlighted-text",level:3},{value:"Cards",id:"cards",level:2}],h={toc:k};function m(e){var t=e.components,n=(0,l.Z)(e,s);return(0,r.kt)("wrapper",(0,a.Z)({},h,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Selcukes welcomes your contributions to our documentation!\nThis document describes the options available for creating content for the site,\nalong with some guidelines and conventions."),(0,r.kt)("h2",{id:"markdown"},"Markdown"),(0,r.kt)("p",null,"This site uses Docusaurus version 2 Beta. Docusaurus uses the\n",(0,r.kt)("a",{parentName:"p",href:"https://github.com/jonschlinkert/remarkable"},"remarkable Markdown processor")," to convert\n",(0,r.kt)("a",{parentName:"p",href:"https://guides.github.com/features/mastering-markdown/"},"GitHub Flavored Markdown")," into HTML.\n",(0,r.kt)("a",{parentName:"p",href:"https://docusaurus.io/docs/markdown-features"},"Docusaurus Markdown")," supports\n",(0,r.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax"},"Basic Markdown Syntax")," and most\n",(0,r.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/extended-syntax/"},"Extended Syntax"),". You can see which features are supported\n",(0,r.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/tools/docusaurus/"},"here"),"."),(0,r.kt)("h2",{id:"frontmatter"},"Frontmatter"),(0,r.kt)("p",null,"At the top of each docs page, you need to include these things:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Variable"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"id")),(0,r.kt)("td",{parentName:"tr",align:null},"A brief string that uniquely identifies the page within its parent folder. The id and the name of the file should be the same.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"title")),(0,r.kt)("td",{parentName:"tr",align:null},"The main title of the page. This value will automatically be rendered using the H1 style at the top of the page.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"sidebar_label")),(0,r.kt)("td",{parentName:"tr",align:null},"This is what will appear in the left hand navigation tree for the page.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"description")," (optional)"),(0,r.kt)("td",{parentName:"tr",align:null},"This is what appears when the page is referenced in a Google search result.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"keywords")," (optional)"),(0,r.kt)("td",{parentName:"tr",align:null},"A list of terms that help categorize the page for SEO purposes.")))),(0,r.kt)("p",null,"It looks like this in the document:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"---\nid: style-guide\ntitle: Style Guide Introduction\nsidebar_label: Style Guide\ndescription: The Selcukes Documentation Style Guide\nkeywords:\n - contributing\n - style\n - markdown\n---\n")),(0,r.kt)("h2",{id:"introduction"},"Introduction"),(0,r.kt)("p",null,"The first paragraph of the documentation should set the user's expectations for what they will find on the page.\nDescribe the key benefits to the user, but do not include links."),(0,r.kt)("h2",{id:"headers"},"Headers"),(0,r.kt)("p",null,"For accessibility and SEO reasons, never have an H4 header that isn't under an H3 header,\nor an H3 header that isn't under an H2 header."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"H1 headers should never be used in a document since the title is automatically generated as an H1."),(0,r.kt)("li",{parentName:"ul"},"H2 headers are used for SEO, so make sure they succinctly represent what a user will find on the page in that section."),(0,r.kt)("li",{parentName:"ul"},"H3 headers are included in the page's table of contents on the right, so make sure the title describes something\na user might want to directly navigate to."),(0,r.kt)("li",{parentName:"ul"},"H4 headers are to emphasize things within a subsection of the page; these can be longer than the other headers\nif needed because they aren't included in the Table of Contents.")),(0,r.kt)("p",null,"Markdown Code:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"## H2 Header\n### H3 Header\n#### H4 Header\n")),(0,r.kt)("h2",{id:"content"},"Content"),(0,r.kt)("p",null,"All words are rendered in the same paragraph even with line breaks, so long as there isn't an empty line.\nAs such, it is good practice for each line to be less than 120 characters long for readability, when possible."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Markdown"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"This\nwill\nall\nbe\non\none\nline.\n\nThe empty line above creates a new paragraph.\n\nThis forces a soft return
\nrather than creating a new paragraph\n")))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("p",null,"This\nwill\nall\nbe\non\none\nline."),(0,r.kt)("p",null,"The empty line above creates a new paragraph."),(0,r.kt)("p",null,"This forces a soft return",(0,r.kt)("br",null),"\nrather than creating a new paragraph"))))),(0,r.kt)("h2",{id:"images"},"Images"),(0,r.kt)("p",null,"All image files should be included in the ",(0,r.kt)("inlineCode",{parentName:"p"},"rameshbabuprudhvi.github.io/static/img")," directory, in a sub-directory that\ncorresponds to the referencing directory. (e.g., images for a document in the ",(0,r.kt)("inlineCode",{parentName:"p"},"rameshbabuprudhvi.github.io/docs/contributing")," directory\nwould be located in the ",(0,r.kt)("inlineCode",{parentName:"p"},"rameshbabuprudhvi.github.io/static/img/contributing")," directory."),(0,r.kt)("p",null,"To add an image from that directory, you need to import a special method by placing this line\nbelow the ",(0,r.kt)("a",{parentName:"p",href:"#frontmatter"},"Frontmatter"),", but above the ",(0,r.kt)("a",{parentName:"p",href:"#introduction"},"Introduction")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"import useBaseUrl from '@docusaurus/useBaseUrl';\n")),(0,r.kt)("p",null,"and then reference the image as follows:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'All images should have alt text\n')),(0,r.kt)("h2",{id:"videos"},"Videos"),(0,r.kt)("p",null,"Any referenced videos need to be from a Selcukes YouTube account.\nThe suggested iframe code structure is as follows:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'\n')),(0,r.kt)("h2",{id:"tabs"},"Tabs"),(0,r.kt)("p",null,"Tabs are a great option when an example is different in different contexts.\nThe primary usage of tabs on this site is to illustrate the same example in multiple languages.\nIdeally, these examples will exist in Java, Node.js, Python, Ruby, and C#, and the tabs should be placed in that order."),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"When a page includes multiple sets of tabs, use a ",(0,r.kt)("inlineCode",{parentName:"p"},"groupId")," so when the user selects a particular tab,\nall tabs with that ID will switch to the selected tab.")),(0,r.kt)("p",null,"To use tabs, you need to import two special methods by placing these lines below the ",(0,r.kt)("a",{parentName:"p",href:"#frontmatter"},"Frontmatter"),",\nbut above the ",(0,r.kt)("a",{parentName:"p",href:"#introduction"},"Introduction"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"import Tabs from '@theme/Tabs';\nimport TabItem from '@theme/TabItem';\n")),(0,r.kt)("p",null,"and then use the tabs as follows:"),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Markdown"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"\n\n\n\nThis would include information or examples for Java\n\n\n\n\nThis would include information or examples for JavaScript\n\n\n
\n")))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)(o.Z,{groupId:"lang-ex",defaultValue:"java",values:[{label:"Java",value:"java"},{label:"Node.js",value:"js"}],mdxType:"Tabs"},(0,r.kt)(i.Z,{value:"java",mdxType:"TabItem"},(0,r.kt)("p",null,"This would include information or examples for Java")),(0,r.kt)(i.Z,{value:"js",mdxType:"TabItem"},(0,r.kt)("p",null,"This would include information or examples for JavaScript"))))))),(0,r.kt)("h2",{id:"inline-code"},"Inline Code"),(0,r.kt)("p",null,"To refer to a single class or method name within a sentence, place single backticks around the name."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Markdown"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"This comment refers to the `RemoteWebDriver` class\n")))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("p",null,"This comment refers to the ",(0,r.kt)("inlineCode",{parentName:"p"},"RemoteWebDriver")," class"))))),(0,r.kt)("h2",{id:"code-blocks"},"Code Blocks"),(0,r.kt)("p",null,"The best way to display code is with code blocks. Markdown will highlight each language differently, so it is helpful\nto specify which language you are using, and it's a good idea to include a title with the code block as well."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Markdown"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'```java title="Custom Title"\nRemoteWebDriver driver = new RemoteWebDriver(url, capabilities);\n```\n')))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java",metastring:'title="Custom Title"',title:'"Custom','Title"':!0},"RemoteWebDriver driver = new RemoteWebDriver(url, capabilities);\n")))))),(0,r.kt)("h2",{id:"code-references"},"Code References"),(0,r.kt)("p",null,"The Selcukes Open Source Team created a plugin for use with Docusaurus to allow us to reference code on GitHub\nrather than duplicating code in this repo. Ideally all code displayed in the Selcukes documentation points to code in\none of the ",(0,r.kt)("inlineCode",{parentName:"p"},"demo-")," repos on\n",(0,r.kt)("a",{parentName:"p",href:"https://github.com/selcukes/?q=demo#org-repositories"},"Selcukes Training GitHub Org"),'.\nWhen referencing code, include the language, "reference" and a title indicating what the sample shows.\nThe URL for the link can be for the entire file, or include specific line numbers at the end.'),(0,r.kt)("admonition",{type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"To ensure that code examples do not go stale and can be easily updated,\nall code references should reference a tag instead of\na branch name or a commit hash. For our ",(0,r.kt)("inlineCode",{parentName:"p"},"demo-")," repos, we are doing semantic versioning with ",(0,r.kt)("inlineCode",{parentName:"p"},"docs-"),".\nSo, we will create and use ",(0,r.kt)("inlineCode",{parentName:"p"},"docs-1.0")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"docs-1.1"),", etc., as needed."),(0,r.kt)("p",{parentName:"admonition"},"To create a new tag in one of the Selcukes owned repos:"),(0,r.kt)("pre",{parentName:"admonition"},(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"git tag -a -m 'reference for Selcukes documentation' docs-\ngit push origin --tags\n"))),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Markdown"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'```java reference title="Example Test"\nhttps://github.com/selcukes/selcukes-demo/blob/docs-1.0/src/test/java/io/github/selcukes/demo/ReadExcelTest.java#L13-L26\n```\n')))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java",metastring:'reference title="Example Test"',reference:!0,title:'"Example','Test"':!0},"https://github.com/selcukes/selcukes-demo/blob/docs-1.0/src/test/java/io/github/selcukes/demo/ReadExcelTest.java#L13-L26\n")))))),(0,r.kt)("h2",{id:"expanding-code-blocks"},"Expanding Code Blocks"),(0,r.kt)("p",null,"If you have an especially large code block that you'd like to reference on the page, but do not want\nit to take up too much space on the page by default, we encourage the use of ",(0,r.kt)("inlineCode",{parentName:"p"},"details")," elements."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"HTML"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},"
\n \n Click here to see an example of something hidden by default.\n \n This is hidden by default!\n
\n")))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("details",null,(0,r.kt)("summary",null,(0,r.kt)("strong",null,"Click here")," to see an example of something hidden by default."),"This is hidden by default!"))))),(0,r.kt)("h2",{id:"admonitions"},"Admonitions"),(0,r.kt)("p",null,"There are four types of ",(0,r.kt)("a",{parentName:"p",href:"https://docusaurus.io/docs/markdown-features/admonitions"},"Docusaurus admonitions"),":"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Note - Relevant information."),(0,r.kt)("li",{parentName:"ul"},"Tip - A user should do this."),(0,r.kt)("li",{parentName:"ul"},"Caution - A user should pay attention to this."),(0,r.kt)("li",{parentName:"ul"},"Warning - A user might do something dangerous!")),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Markdown"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},":::note\nRelevant information for you.\n:::\n\n:::tip\nYou should do this.\n:::\n\n:::caution\nYou should probably pay attention to this.\n:::\n\n:::warning\nYou are about to do something dangerous!\n:::\n")))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Relevant information for you.")),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"You should do this.")),(0,r.kt)("admonition",{type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"You should probably pay attention to this.")),(0,r.kt)("admonition",{type:"warning"},(0,r.kt)("p",{parentName:"admonition"},"You are about to do something dangerous!")))))),(0,r.kt)("h2",{id:"context-limited"},"Context Limited"),(0,r.kt)("p",null,"There are two ways to provide context for users for when special conditions or limitations apply to\ndesignated information."),(0,r.kt)("h3",{id:"badges"},"Badges"),(0,r.kt)("p",null,"Badges are color-coded images that apply to entire pages or large sections of documentation:"),(0,r.kt)("p",null,"Blue badges are used for everything except for deprecated information, which is indicated with a Gold badge."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"HTML"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'

Beta

\n

Enterprise Only

\n

iOS Only

\n

Live Testing Only

\n

Early Access

\n\n

Deprecated

\n')))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("span",{className:"selcukesDBlue"},"Beta")),(0,r.kt)("p",null,(0,r.kt)("span",{className:"selcukesDBlue"},"Enterprise Only")),(0,r.kt)("p",null,(0,r.kt)("span",{className:"selcukesDBlue"},"iOS Only")),(0,r.kt)("p",null,(0,r.kt)("span",{className:"selcukesDBlue"},"Live Testing Only")),(0,r.kt)("p",null,(0,r.kt)("span",{className:"selcukesDBlue"},"Early Access")),(0,r.kt)("p",null,(0,r.kt)("span",{className:"selcukesGold"},"Deprecated")))))),(0,r.kt)("h3",{id:"highlighted-text"},"Highlighted Text"),(0,r.kt)("p",null,"For information in a subsection or in a table that needs additional context, use a ",(0,r.kt)("inlineCode",{parentName:"p"},"span")," element with\none of the highlight classes. These can also be used to indicate that the content only applies to specific versions of a\ntechnology."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"HTML"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'

selcukes Cloud only

\n

Docker only

\n

Cypress

\n

Playwright version >= 1.12

\n

Testcafe

\n

Puppeteer only

\n')))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("span",{class:"highlight selcukes-cloud"},"selcukes Cloud only")),(0,r.kt)("p",null,(0,r.kt)("span",{class:"highlight docker"},"Docker only")),(0,r.kt)("p",null,(0,r.kt)("span",{class:"highlight cypress"},"Cypress")),(0,r.kt)("p",null,(0,r.kt)("span",{class:"highlight playwright"},"Playwright version >= 1.12")),(0,r.kt)("p",null,(0,r.kt)("span",{class:"highlight testcafe"},"Testcafe")),(0,r.kt)("p",null,(0,r.kt)("span",{class:"highlight puppeteer"},"Puppeteer only")))))),(0,r.kt)("h2",{id:"cards"},"Cards"),(0,r.kt)("p",null,"For overview pages that have four categories, we often use these Boxes. Note that you can't use Markdown inside this HTML."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"HTML"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'
\n
\n
\n

Box 1

\n

Box 1 things.

\n \n
\n
\n
\n
\n

Box 2

\n

Box 2 things.

\n \n
\n
\n
\n
\n

Box 3

\n

Box 3 things, Link 1.

\n \n
\n
\n
\n
\n

Box 4

\n

Box 4 things.

\n \n
\n
\n
\n')))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("div",{className:"box-wrapper",markdown:"1"},(0,r.kt)("div",{className:"box box1 card"},(0,r.kt)("div",{className:"container"},(0,r.kt)("h2",null,"Box 1"),(0,r.kt)("p",null,"Box 1 things."),(0,r.kt)("ul",null,(0,r.kt)("li",null,(0,r.kt)("a",{href:""},"Link 1")),(0,r.kt)("li",null,(0,r.kt)("a",{href:""},"Link 2"))))),(0,r.kt)("div",{className:"box box2 card"},(0,r.kt)("div",{className:"container"},(0,r.kt)("h2",null,"Box 2"),(0,r.kt)("p",null,"Box 2 things."),(0,r.kt)("ul",null,(0,r.kt)("li",null,(0,r.kt)("a",{href:""},"Link 1"))))),(0,r.kt)("div",{className:"box box3 card"},(0,r.kt)("div",{className:"container"},(0,r.kt)("h2",null,"Box 3"),(0,r.kt)("p",null,"Box 3 things, ",(0,r.kt)("a",{href:""},"Link 1"),"."),(0,r.kt)("ul",null,(0,r.kt)("li",null,(0,r.kt)("a",{href:""},"Link 2"))))),(0,r.kt)("div",{className:"box box4 card"},(0,r.kt)("div",{className:"container"},(0,r.kt)("h2",null,"Box 4"),(0,r.kt)("p",null,"Box 4 things."),(0,r.kt)("ul",null,(0,r.kt)("li",null,(0,r.kt)("a",{href:""},"Link 1")),(0,r.kt)("li",null,(0,r.kt)("a",{href:""},"Link 2")))))))))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/main.ea6c0ee9.js b/assets/js/main.ea6c0ee9.js new file mode 100644 index 0000000..d6dcccd --- /dev/null +++ b/assets/js/main.ea6c0ee9.js @@ -0,0 +1,2 @@ +/*! For license information please see main.ea6c0ee9.js.LICENSE.txt */ +(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[179],{830:function(e,t,n){"use strict";n.d(t,{W:function(){return a}});var r=n(7294);function a(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},4334:function(e,t,n){"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t1?t-1:0),r=1;r\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = '+e+" "+("/"===e?" (default value)":"")+'

\n

We suggest trying baseUrl =

\n\n'}(e)).replace(/0)&&(B.current.unobserve(e),B.current.disconnect(),null!=R&&window.docusaurus.prefetch(R))}))})),B.current.observe(e))},to:R},h&&{isActive:y,activeClassName:b}))}var h=o.forwardRef(m)},5999:function(e,t,n){"use strict";n.d(t,{Z:function(){return u},I:function(){return l}});var r=n(7294);function a(e,t){var n=e.split(/(\{\w+\})/).map((function(e,n){if(n%2==1){var r=null==t?void 0:t[e.slice(1,-1)];if(void 0!==r)return r}return e}));return n.some((function(e){return(0,r.isValidElement)(e)}))?n.map((function(e,t){return(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e})).filter((function(e){return""!==e})):n.join("")}var o=n(7529);function i(e){var t,n,r=e.id,a=e.message;if(void 0===r&&void 0===a)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return null!=(t=null!=(n=o[null!=r?r:a])?n:a)?t:r}function l(e,t){return a(i({message:e.message,id:e.id}),t)}function u(e){var t=e.children,n=e.id,o=e.values;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");var l=i({message:t,id:n});return r.createElement(r.Fragment,null,a(l,o))}},9935:function(e,t,n){"use strict";n.d(t,{m:function(){return r}});var r="default"},3919:function(e,t,n){"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:function(){return a},b:function(){return r}})},4996:function(e,t,n){"use strict";n.d(t,{C:function(){return i},Z:function(){return l}});var r=n(7294),a=n(2263),o=n(3919);function i(){var e=(0,a.Z)().siteConfig,t=e.baseUrl,n=e.url,i=(0,r.useCallback)((function(e,r){return function(e,t,n,r){var a=void 0===r?{}:r,i=a.forcePrependBaseUrl,l=void 0!==i&&i,u=a.absolute,s=void 0!==u&&u;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(l)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;var c=n.startsWith(t)?n:t+n.replace(/^\//,"");return s?e+c:c}(n,t,e,r)}),[n,t]);return{withBaseUrl:i}}function l(e,t){return void 0===t&&(t={}),(0,i().withBaseUrl)(e,t)}},2263:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},9670:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});function r(e){var t={};return function e(n,r){Object.entries(n).forEach((function(n){var a,o=n[0],i=n[1],l=r?r+"."+o:o;"object"==typeof(a=i)&&a&&Object.keys(a).length>0?e(i,l):t[l]=i}))}(e),t}},226:function(e,t,n){"use strict";n.d(t,{_:function(){return a},z:function(){return o}});var r=n(7294),a=r.createContext(null);function o(e){var t=e.children,n=e.value,o=r.useContext(a),i=(0,r.useMemo)((function(){return function(e){var t=e.parent,n=e.value;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}var r=Object.assign({},t.data,null==n?void 0:n.data);return{plugin:t.plugin,data:r}}({parent:o,value:n})}),[o,n]);return r.createElement(a.Provider,{value:i},t)}},143:function(e,t,n){"use strict";n.d(t,{Iw:function(){return v},gA:function(){return p},WS:function(){return m},_r:function(){return d},Jo:function(){return b},zh:function(){return f},yW:function(){return g},gB:function(){return h}});var r=n(6775),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});var n=(0,a.Z)().globalData[e];if(!n&&t.failfast)throw new Error('Docusaurus plugin global data not found for "'+e+'" plugin.');return n}var l=function(e){return e.versions.find((function(e){return e.isLast}))};function u(e,t){var n=l(e);return[].concat(e.versions.filter((function(e){return e!==n})),[n]).find((function(e){return!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})}))}function s(e,t){var n,a,o=u(e,t),i=null==o?void 0:o.docs.find((function(e){return!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})}));return{activeVersion:o,activeDoc:i,alternateDocVersions:i?(n=i.id,a={},e.versions.forEach((function(e){e.docs.forEach((function(t){t.id===n&&(a[e.name]=t)}))})),a):{}}}var c={},d=function(){var e;return null!=(e=i("docusaurus-plugin-content-docs"))?e:c},f=function(e){return function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});var r=i(e),a=null==r?void 0:r[t];if(!a&&n.failfast)throw new Error('Docusaurus plugin global data not found for "'+e+'" plugin with id "'+t+'".');return a}("docusaurus-plugin-content-docs",e,{failfast:!0})};function p(e){return void 0===e&&(e={}),function(e,t,n){void 0===n&&(n={});var a=Object.entries(e).sort((function(e,t){return t[1].path.localeCompare(e[1].path)})).find((function(e){var n=e[1];return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error("Can't find active docs plugin for \""+t+'" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: '+Object.values(e).map((function(e){return e.path})).join(", "));return o}(d(),(0,r.TH)().pathname,e)}function m(e){void 0===e&&(e={});var t=p(e),n=(0,r.TH)().pathname;if(t)return{activePlugin:t,activeVersion:u(t.pluginData,n)}}function h(e){return f(e).versions}function g(e){var t=f(e);return l(t)}function v(e){return s(f(e),(0,r.TH)().pathname)}function b(e){return function(e,t){var n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(f(e),(0,r.TH)().pathname)}},8320:function(e,t,n){"use strict";n.r(t);var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});var o={onRouteUpdate:function(e){var t=e.location,n=e.previousLocation;if(n&&t.pathname!==n.pathname){var r=window.setTimeout((function(){a().start()}),200);return function(){return window.clearTimeout(r)}}},onRouteDidUpdate:function(){a().done()}};t.default=o},3310:function(e,t,n){"use strict";n.r(t);var r,a,o=n(7410),i=n(6809);r=o.Z,a=i.default.themeConfig.prism.additionalLanguages,globalThis.Prism=r,a.forEach((function(e){n(7194)("./prism-"+e)})),delete globalThis.Prism},9471:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294),a="iconExternalLink_nPIU";function o(e){var t=e.width,n=void 0===t?13.5:t,o=e.height,i=void 0===o?13.5:o;return r.createElement("svg",{width:n,height:i,"aria-hidden":"true",viewBox:"0 0 24 24",className:a},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},1899:function(e,t,n){"use strict";n.d(t,{Z:function(){return nn}});var r=n(7294),a=n(4334),o=n(4763),i=n(7462),l=n(6775),u=n(5999),s=n(5936),c="__docusaurus_skipToContent_fallback";function d(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){var e=(0,r.useRef)(null),t=(0,l.k6)().action,n=(0,r.useCallback)((function(e){e.preventDefault();var t,n=null!=(t=document.querySelector("main:first-of-type"))?t:document.getElementById(c);n&&d(n)}),[]);return(0,s.S)((function(n){var r=n.location;e.current&&!r.hash&&"PUSH"===t&&d(e.current)})),{containerRef:e,onClick:n}}var p=(0,u.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){var t,n=null!=(t=e.children)?t:p,a=f(),o=a.containerRef,l=a.onClick;return r.createElement("div",{ref:o,role:"region","aria-label":p},r.createElement("a",(0,i.Z)({},e,{href:"#"+c,onClick:l}),n))}var h=n(1944),g=n(5281),v=n(9727),b="skipToContent_fXgn";function y(){return r.createElement(m,{className:b})}var w=n(6668),E=n(9689),k=n(3366),S=["width","height","color","strokeWidth","className"];function x(e){var t=e.width,n=void 0===t?21:t,a=e.height,o=void 0===a?21:a,l=e.color,u=void 0===l?"currentColor":l,s=e.strokeWidth,c=void 0===s?1.2:s,d=(e.className,(0,k.Z)(e,S));return r.createElement("svg",(0,i.Z)({viewBox:"0 0 15 15",width:n,height:o},d),r.createElement("g",{stroke:u,strokeWidth:c},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}var _="closeButton_CVFx";function T(e){return r.createElement("button",(0,i.Z)({type:"button","aria-label":(0,u.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.Z)("clean-btn close",_,e.className)}),r.createElement(x,{width:14,height:14,strokeWidth:3.1}))}var C="content_knG7";function A(e){var t=(0,w.L)().announcementBar.content;return r.createElement("div",(0,i.Z)({},e,{className:(0,a.Z)(C,e.className),dangerouslySetInnerHTML:{__html:t}}))}var O="announcementBar_mb4j",N="announcementBarPlaceholder_vyr4",L="announcementBarClose_gvF7",P="announcementBarContent_xLdY";function I(){var e=(0,w.L)().announcementBar,t=(0,E.nT)(),n=t.isActive,a=t.close;if(!n)return null;var o=e.backgroundColor,i=e.textColor,l=e.isCloseable;return r.createElement("div",{className:O,style:{backgroundColor:o,color:i},role:"banner"},l&&r.createElement("div",{className:N}),r.createElement(A,{className:P}),l&&r.createElement(T,{onClick:a,className:L}))}var R=n(3163),M=n(2466);var D=n(9688),F=n(3102),B=r.createContext(null);function U(e){var t,n,a,o,i,l,u,s=e.children,c=(t=(0,R.e)(),n=(0,F.HY)(),a=(0,r.useState)(!1),o=a[0],i=a[1],l=null!==n.component,u=(0,D.D9)(l),(0,r.useEffect)((function(){l&&!u&&i(!0)}),[l,u]),(0,r.useEffect)((function(){l?t.shown||i(!0):i(!1)}),[t.shown,l]),(0,r.useMemo)((function(){return[o,i]}),[o]));return r.createElement(B.Provider,{value:c},s)}function z(e){if(e.component){var t=e.component;return r.createElement(t,e.props)}}function j(){var e=(0,r.useContext)(B);if(!e)throw new D.i6("NavbarSecondaryMenuDisplayProvider");var t=e[0],n=e[1],a=(0,r.useCallback)((function(){return n(!1)}),[n]),o=(0,F.HY)();return(0,r.useMemo)((function(){return{shown:t,hide:a,content:z(o)}}),[a,o,t])}function $(e){var t=e.header,n=e.primaryMenu,o=e.secondaryMenu,i=j().shown;return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var Z=n(2949),H=n(2389);function G(e){return r.createElement("svg",(0,i.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function V(e){return r.createElement("svg",(0,i.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}var W={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){var t=e.className,n=e.buttonClassName,o=e.value,i=e.onChange,l=(0,H.Z)(),s=(0,u.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===o?(0,u.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,u.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)(W.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",W.toggleButton,!l&&W.toggleButtonDisabled,n),type:"button",onClick:function(){return i("dark"===o?"light":"dark")},disabled:!l,title:s,"aria-label":s,"aria-live":"polite"},r.createElement(G,{className:(0,a.Z)(W.toggleIcon,W.lightToggleIcon)}),r.createElement(V,{className:(0,a.Z)(W.toggleIcon,W.darkToggleIcon)})))}var Y=r.memo(q),K="darkNavbarColorModeToggle_X3D1";function X(e){var t=e.className,n=(0,w.L)().navbar.style,a=(0,w.L)().colorMode.disableSwitch,o=(0,Z.I)(),i=o.colorMode,l=o.setColorMode;return a?null:r.createElement(Y,{className:t,buttonClassName:"dark"===n?K:void 0,value:i,onChange:l})}var Q=n(1327);function J(){return r.createElement(Q.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function ee(){var e=(0,R.e)();return r.createElement("button",{type:"button","aria-label":(0,u.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:function(){return e.toggle()}},r.createElement(x,{color:"var(--ifm-color-emphasis-600)"}))}function te(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(J,null),r.createElement(X,{className:"margin-right--md"}),r.createElement(ee,null))}var ne=n(9960),re=n(4996),ae=n(3919);function oe(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var ie=n(9471),le=["activeBasePath","activeBaseRegex","to","href","label","html","isDropdownLink","prependBaseUrlToHref"];function ue(e){var t=e.activeBasePath,n=e.activeBaseRegex,a=e.to,o=e.href,l=e.label,u=e.html,s=e.isDropdownLink,c=e.prependBaseUrlToHref,d=(0,k.Z)(e,le),f=(0,re.Z)(a),p=(0,re.Z)(t),m=(0,re.Z)(o,{forcePrependBaseUrl:!0}),h=l&&o&&!(0,ae.Z)(o),g=u?{dangerouslySetInnerHTML:{__html:u}}:{children:r.createElement(r.Fragment,null,l,h&&r.createElement(ie.Z,s&&{width:12,height:12}))};return o?r.createElement(ne.Z,(0,i.Z)({href:c?m:o},d,g)):r.createElement(ne.Z,(0,i.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:function(e,t){return n?oe(n,t.pathname):t.pathname.startsWith(p)}},d,g))}var se=["className","isDropdownItem"],ce=["className","isDropdownItem"],de=["mobile","position"];function fe(e){var t=e.className,n=e.isDropdownItem,o=void 0!==n&&n,l=(0,k.Z)(e,se),u=r.createElement(ue,(0,i.Z)({className:(0,a.Z)(o?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:o},l));return o?r.createElement("li",null,u):u}function pe(e){var t=e.className,n=(e.isDropdownItem,(0,k.Z)(e,ce));return r.createElement("li",{className:"menu__list-item"},r.createElement(ue,(0,i.Z)({className:(0,a.Z)("menu__link",t)},n)))}function me(e){var t,n=e.mobile,a=void 0!==n&&n,o=(e.position,(0,k.Z)(e,de)),l=a?pe:fe;return r.createElement(l,(0,i.Z)({},o,{activeClassName:null!=(t=o.activeClassName)?t:a?"menu__link--active":"navbar__link--active"}))}var he=n(6043),ge=n(8596),ve=n(2263);var be=["items","position","className","onClick"],ye=["items","className","position","onClick"],we=["mobile"];function Ee(e,t){return e.some((function(e){return function(e,t){return!!(0,ge.Mg)(e.to,t)||!!oe(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)}))}function ke(e){var t,n=e.items,o=e.position,l=e.className,u=(e.onClick,(0,k.Z)(e,be)),s=(0,r.useRef)(null),c=(0,r.useState)(!1),d=c[0],f=c[1];return(0,r.useEffect)((function(){var e=function(e){s.current&&!s.current.contains(e.target)&&f(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),r.createElement("div",{ref:s,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===o,"dropdown--show":d})},r.createElement(ue,(0,i.Z)({"aria-haspopup":"true","aria-expanded":d,role:"button",href:u.to?void 0:"#",className:(0,a.Z)("navbar__link",l)},u,{onClick:u.to?void 0:function(e){return e.preventDefault()},onKeyDown:function(e){"Enter"===e.key&&(e.preventDefault(),f(!d))}}),null!=(t=u.children)?t:u.label),r.createElement("ul",{className:"dropdown__menu"},n.map((function(e,t){return r.createElement(ut,(0,i.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))}))))}function Se(e){var t,n,o=e.items,u=e.className,s=(e.position,e.onClick),c=(0,k.Z)(e,ye),d=(n=(0,ve.Z)().siteConfig.baseUrl,(0,l.TH)().pathname.replace(n,"/")),f=Ee(o,d),p=(0,he.u)({initialState:function(){return!f}}),m=p.collapsed,h=p.toggleCollapsed,g=p.setCollapsed;return(0,r.useEffect)((function(){f&&g(!f)}),[d,f,g]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":m})},r.createElement(ue,(0,i.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",u)},c,{onClick:function(e){e.preventDefault(),h()}}),null!=(t=c.children)?t:c.label),r.createElement(he.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:m},o.map((function(e,t){return r.createElement(ut,(0,i.Z)({mobile:!0,isDropdownItem:!0,onClick:s,activeClassName:"menu__link--active"},e,{key:t}))}))))}function xe(e){var t=e.mobile,n=void 0!==t&&t,a=(0,k.Z)(e,we),o=n?Se:ke;return r.createElement(o,a)}var _e=n(4711),Te=["width","height"];function Ce(e){var t=e.width,n=void 0===t?20:t,a=e.height,o=void 0===a?20:a,l=(0,k.Z)(e,Te);return r.createElement("svg",(0,i.Z)({viewBox:"0 0 24 24",width:n,height:o,"aria-hidden":!0},l),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}var Ae="iconLanguage_nlXk",Oe=["mobile","dropdownItemsBefore","dropdownItemsAfter"];function Ne(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var Le=n(830),Pe=["translations"];function Ie(){return Ie=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var Fe="Ctrl";var Be=r.forwardRef((function(e,t){var n=e.translations,a=void 0===n?{}:n,o=De(e,Pe),i=a.buttonText,l=void 0===i?"Search":i,u=a.buttonAriaLabel,s=void 0===u?"Search":u,c=Re((0,r.useState)(null),2),d=c[0],f=c[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?f("\u2318"):f(Fe))}),[]),r.createElement("button",Ie({type:"button",className:"DocSearch DocSearch-Button","aria-label":s},o,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(Le.W,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},l)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==d&&r.createElement(r.Fragment,null,r.createElement("kbd",{className:"DocSearch-Button-Key"},d===Fe?r.createElement(Ne,null):d),r.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Ue=n(5742);function ze(){var e=(0,re.C)().withBaseUrl,t=(0,ve.Z)().siteConfig.themeConfig.algolia,n=t.externalUrlRegex,a=t.replaceSearchResultPathname;return(0,r.useCallback)((function(t){var r=new URL(t);if(oe(n,r.href))return t;var o=""+(r.pathname+r.hash);return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(o,a))}),[e,n,a])}var je=n(3320);var $e=n(3935),Ze={button:{buttonText:(0,u.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,u.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,u.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,u.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,u.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,u.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,u.I)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,u.I)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,u.I)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,u.I)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,u.I)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,u.I)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,u.I)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,u.I)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,u.I)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,u.I)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,u.I)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,u.I)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,u.I)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})},He=["contextualSearch","externalUrlRegex"],Ge=null;function Ve(e){var t=e.hit,n=e.children;return r.createElement(ne.Z,{to:t.url},n)}function We(e){var t,n,a,o=e.state,i=e.onClose,l=(t=(0,ve.Z)().siteConfig,n=t.baseUrl,a=t.themeConfig.algolia.searchPagePath,(0,r.useCallback)((function(e){return""+n+a+"?q="+encodeURIComponent(e)}),[n,a]));return r.createElement(ne.Z,{to:l(o.query),onClick:i},r.createElement(u.Z,{id:"theme.SearchBar.seeAll",values:{count:o.context.nbHits}},"See all {count} results"))}function qe(e){var t,a,o,u,s,c=e.contextualSearch,d=e.externalUrlRegex,f=(0,k.Z)(e,He),p=(0,ve.Z)().siteMetadata,m=ze(),h=["language:"+(o=(0,je._q)()).locale,o.tags.map((function(e){return"docusaurus_tag:"+e}))],g=null!=(t=null==(a=f.searchParameters)?void 0:a.facetFilters)?t:[],v=c?(u=g,[].concat((s=function(e){return"string"==typeof e?[e]:e})(h),s(u))):g,b=Object.assign({},f.searchParameters,{facetFilters:v}),y=(0,l.k6)(),w=(0,r.useRef)(null),E=(0,r.useRef)(null),S=(0,r.useState)(!1),x=S[0],_=S[1],T=(0,r.useState)(void 0),C=T[0],A=T[1],O=(0,r.useCallback)((function(){return Ge?Promise.resolve():Promise.all([n.e(780).then(n.bind(n,6780)),Promise.all([n.e(532),n.e(945)]).then(n.bind(n,6945)),Promise.all([n.e(532),n.e(894)]).then(n.bind(n,8894))]).then((function(e){var t=e[0].DocSearchModal;Ge=t}))}),[]),N=(0,r.useCallback)((function(){O().then((function(){w.current=document.createElement("div"),document.body.insertBefore(w.current,document.body.firstChild),_(!0)}))}),[O,_]),L=(0,r.useCallback)((function(){var e;_(!1),null==(e=w.current)||e.remove()}),[_]),P=(0,r.useCallback)((function(e){O().then((function(){_(!0),A(e.key)}))}),[O,_,A]),I=(0,r.useRef)({navigate:function(e){var t=e.itemUrl;oe(d,t)?window.location.href=t:y.push(t)}}).current,R=(0,r.useRef)((function(e){return f.transformItems?f.transformItems(e):e.map((function(e){return Object.assign({},e,{url:m(e.url)})}))})).current,M=(0,r.useMemo)((function(){return function(e){return r.createElement(We,(0,i.Z)({},e,{onClose:L}))}}),[L]),D=(0,r.useCallback)((function(e){return e.addAlgoliaAgent("docusaurus",p.docusaurusVersion),e}),[p.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,a=e.onClose,o=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){(27===e.keyCode&&t||"k"===e.key&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?a():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&o&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&o(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,a,o,i])}({isOpen:x,onOpen:N,onClose:L,onInput:P,searchButtonRef:E}),r.createElement(r.Fragment,null,r.createElement(Ue.Z,null,r.createElement("link",{rel:"preconnect",href:"https://"+f.appId+"-dsn.algolia.net",crossOrigin:"anonymous"})),r.createElement(Be,{onTouchStart:O,onFocus:O,onMouseOver:O,onClick:N,ref:E,translations:Ze.button}),x&&Ge&&w.current&&(0,$e.createPortal)(r.createElement(Ge,(0,i.Z)({onClose:L,initialScrollY:window.scrollY,initialQuery:C,navigator:I,transformItems:R,hitComponent:Ve,transformSearchClient:D},f.searchPagePath&&{resultsFooterComponent:M},f,{searchParameters:b,placeholder:Ze.placeholder,translations:Ze.modal})),w.current))}function Ye(){var e=(0,ve.Z)().siteConfig;return r.createElement(qe,e.themeConfig.algolia)}var Ke="searchBox_ZlJk";function Xe(e){var t=e.children,n=e.className;return r.createElement("div",{className:(0,a.Z)(n,Ke)},t)}var Qe=n(143),Je=n(3791),et=["docId","label","docsPluginId"];var tt=["sidebarId","label","docsPluginId"];var nt=["label","to","docsPluginId"];var rt=n(373),at=["mobile","docsPluginId","dropdownActiveClassDisabled","dropdownItemsBefore","dropdownItemsAfter"],ot=function(e){return e.docs.find((function(t){return t.id===e.mainDocId}))};var it={default:me,localeDropdown:function(e){var t=e.mobile,n=e.dropdownItemsBefore,a=e.dropdownItemsAfter,o=(0,k.Z)(e,Oe),s=(0,ve.Z)().i18n,c=s.currentLocale,d=s.locales,f=s.localeConfigs,p=(0,_e.l)(),m=(0,l.TH)(),h=m.search,g=m.hash,v=d.map((function(e){var n=""+("pathname://"+p.createUrl({locale:e,fullyQualified:!1}))+h+g;return{label:f[e].label,lang:f[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===c?t?"menu__link--active":"dropdown__link--active":""}})),b=[].concat(n,v,a),y=t?(0,u.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):f[c].label;return r.createElement(xe,(0,i.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(Ce,{className:Ae}),y),items:b}))},search:function(e){var t=e.mobile,n=e.className;return t?null:r.createElement(Xe,{className:n},r.createElement(Ye,null))},dropdown:xe,html:function(e){var t=e.value,n=e.className,o=e.mobile,i=void 0!==o&&o,l=e.isDropdownItem,u=void 0!==l&&l,s=u?"li":"div";return r.createElement(s,{className:(0,a.Z)({navbar__item:!i&&!u,"menu__list-item":i},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){var t=e.docId,n=e.label,a=e.docsPluginId,o=(0,k.Z)(e,et),l=(0,Qe.Iw)(a).activeDoc,u=(0,Je.vY)(t,a);return null===u?null:r.createElement(me,(0,i.Z)({exact:!0},o,{isActive:function(){return(null==l?void 0:l.path)===u.path||!(null==l||!l.sidebar)&&l.sidebar===u.sidebar},label:null!=n?n:u.id,to:u.path}))},docSidebar:function(e){var t=e.sidebarId,n=e.label,a=e.docsPluginId,o=(0,k.Z)(e,tt),l=(0,Qe.Iw)(a).activeDoc,u=(0,Je.oz)(t,a).link;if(!u)throw new Error('DocSidebarNavbarItem: Sidebar with ID "'+t+"\" doesn't have anything to be linked to.");return r.createElement(me,(0,i.Z)({exact:!0},o,{isActive:function(){return(null==l?void 0:l.sidebar)===t},label:null!=n?n:u.label,to:u.path}))},docsVersion:function(e){var t=e.label,n=e.to,a=e.docsPluginId,o=(0,k.Z)(e,nt),l=(0,Je.lO)(a)[0],u=null!=t?t:l.label,s=null!=n?n:function(e){return e.docs.find((function(t){return t.id===e.mainDocId}))}(l).path;return r.createElement(me,(0,i.Z)({},o,{label:u,to:s}))},docsVersionDropdown:function(e){var t=e.mobile,n=e.docsPluginId,a=e.dropdownActiveClassDisabled,o=e.dropdownItemsBefore,s=e.dropdownItemsAfter,c=(0,k.Z)(e,at),d=(0,l.TH)(),f=d.search,p=d.hash,m=(0,Qe.Iw)(n),h=(0,Qe.gB)(n),g=(0,rt.J)(n).savePreferredVersionName,v=h.map((function(e){var t,n=null!=(t=m.alternateDocVersions[e.name])?t:ot(e);return{label:e.label,to:""+n.path+f+p,isActive:function(){return e===m.activeVersion},onClick:function(){return g(e.name)}}})),b=[].concat(o,v,s),y=(0,Je.lO)(n)[0],w=t&&b.length>1?(0,u.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):y.label,E=t&&b.length>1?void 0:ot(y).path;return b.length<=1?r.createElement(me,(0,i.Z)({},c,{mobile:t,label:w,to:E,isActive:a?function(){return!1}:void 0})):r.createElement(xe,(0,i.Z)({},c,{mobile:t,label:w,to:E,items:b,isActive:a?function(){return!1}:void 0}))}},lt=["type"];function ut(e){var t=e.type,n=(0,k.Z)(e,lt),a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=it[a];if(!o)throw new Error('No NavbarItem component found for type "'+t+'".');return r.createElement(o,n)}function st(){var e=(0,R.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map((function(t,n){return r.createElement(ut,(0,i.Z)({mobile:!0},t,{onClick:function(){return e.toggle()},key:n}))})))}function ct(e){return r.createElement("button",(0,i.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(u.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function dt(){var e=0===(0,w.L)().navbar.items.length,t=j();return r.createElement(r.Fragment,null,!e&&r.createElement(ct,{onClick:function(){return t.hide()}}),t.content)}function ft(){var e,t=(0,R.e)();return void 0===(e=t.shown)&&(e=!0),(0,r.useEffect)((function(){return document.body.style.overflow=e?"hidden":"visible",function(){document.body.style.overflow="visible"}}),[e]),t.shouldRender?r.createElement($,{header:r.createElement(te,null),primaryMenu:r.createElement(st,null),secondaryMenu:r.createElement(dt,null)}):null}var pt="navbarHideable_m1mJ",mt="navbarHidden_jGov";function ht(e){return r.createElement("div",(0,i.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function gt(e){var t=e.children,n=(0,w.L)().navbar,o=n.hideOnScroll,i=n.style,l=(0,R.e)(),c=function(e){var t=(0,r.useState)(e),n=t[0],a=t[1],o=(0,r.useRef)(!1),i=(0,r.useRef)(0),l=(0,r.useCallback)((function(e){null!==e&&(i.current=e.getBoundingClientRect().height)}),[]);return(0,M.RF)((function(t,n){var r=t.scrollY;if(e)if(r=l?a(!1):r+s0&&r.createElement($t,{links:n}),logo:a&&r.createElement(Vt,{logo:a}),copyright:t&&r.createElement(Wt,{copyright:t})})}var Kt=r.memo(Yt);function Xt(e){return r.createElement(r.Fragment,null,r.createElement(It,null),r.createElement(Kt,e))}var Qt=(0,D.Qc)([Z.S,E.pl,M.OC,rt.L5,h.VC,function(e){var t=e.children;return r.createElement(F.n2,null,r.createElement(R.M,null,r.createElement(U,null,t)))}]);function Jt(e){var t=e.children;return r.createElement(Qt,null,t)}function en(e){var t=e.error,n=e.tryAgain;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(u.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement(wt,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(Et,{error:t})))))}var tn="mainWrapper_z2l0";function nn(e){var t=e.children,n=e.noFooter,i=e.wrapperClassName,l=e.title,u=e.description;return(0,v.t)(),r.createElement(Jt,null,r.createElement(h.d,{title:l,description:u}),r.createElement(y,null),r.createElement(I,null),r.createElement(Nt,null),r.createElement("div",{id:c,className:(0,a.Z)(g.k.wrapper.main,tn,i)},r.createElement(o.Z,{fallback:function(e){return r.createElement(en,e)}},t)),!n&&r.createElement(Xt,null))}},1327:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(7462),a=n(3366),o=n(7294),i=n(9960),l=n(4996),u=n(2263),s=n(6668),c=n(941),d=["imageClassName","titleClassName"];function f(e){var t=e.logo,n=e.alt,r=e.imageClassName,a={light:(0,l.Z)(t.src),dark:(0,l.Z)(t.srcDark||t.src)},i=o.createElement(c.Z,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?o.createElement("div",{className:r},i):i}function p(e){var t,n=(0,u.Z)().siteConfig.title,c=(0,s.L)().navbar,p=c.title,m=c.logo,h=e.imageClassName,g=e.titleClassName,v=(0,a.Z)(e,d),b=(0,l.Z)((null==m?void 0:m.href)||"/"),y=p?"":n,w=null!=(t=null==m?void 0:m.alt)?t:y;return o.createElement(i.Z,(0,r.Z)({to:b},v,(null==m?void 0:m.target)&&{target:m.target}),m&&o.createElement(f,{logo:m,alt:w,imageClassName:h}),null!=p&&o.createElement("b",{className:g},p))}},197:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294),a=n(5742);function o(e){var t=e.locale,n=e.version,o=e.tag,i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},941:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(7462),a=n(3366),o=n(7294),i=n(4334),l=n(2389),u=n(2949),s={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"},c=["sources","className","alt"];function d(e){var t=(0,l.Z)(),n=(0,u.I)().colorMode,d=e.sources,f=e.className,p=e.alt,m=(0,a.Z)(e,c),h=t?"dark"===n?["dark"]:["light"]:["light","dark"];return o.createElement(o.Fragment,null,h.map((function(e){return o.createElement("img",(0,r.Z)({key:e,src:d[e],alt:p,className:(0,i.Z)(s.themedImage,s["themedImage--"+e],f)},m))})))}},6043:function(e,t,n){"use strict";n.d(t,{u:function(){return c},z:function(){return b}});var r=n(7462),a=n(3366),o=n(7294),i=n(412),l=n(1442),u=["collapsed"],s=["lazy"];function c(e){var t=e.initialState,n=(0,o.useState)(null!=t&&t),r=n[0],a=n[1],i=(0,o.useCallback)((function(){a((function(e){return!e}))}),[]);return{collapsed:r,setCollapsed:a,toggleCollapsed:i}}var d={display:"none",overflow:"hidden",height:"0px"},f={display:"block",overflow:"visible",height:"auto"};function p(e,t){var n=t?d:f;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function m(e){var t=e.collapsibleRef,n=e.collapsed,r=e.animation,a=(0,o.useRef)(!1);(0,o.useEffect)((function(){var e,o=t.current;function i(){var e,t,n=o.scrollHeight,a=null!=(e=null==r?void 0:r.duration)?e:function(e){if((0,l.n)())return 1;var t=e/36;return Math.round(10*(4+15*Math.pow(t,.25)+t/5))}(n);return{transition:"height "+a+"ms "+(null!=(t=null==r?void 0:r.easing)?t:"ease-in-out"),height:n+"px"}}function u(){var e=i();o.style.transition=e.transition,o.style.height=e.height}if(!a.current)return p(o,n),void(a.current=!0);return o.style.willChange="height",e=requestAnimationFrame((function(){n?(u(),requestAnimationFrame((function(){o.style.height=d.height,o.style.overflow=d.overflow}))):(o.style.display="block",requestAnimationFrame((function(){u()})))})),function(){return cancelAnimationFrame(e)}}),[t,n,r])}function h(e){if(!i.Z.canUseDOM)return e?d:f}function g(e){var t=e.as,n=void 0===t?"div":t,r=e.collapsed,a=e.children,i=e.animation,l=e.onCollapseTransitionEnd,u=e.className,s=e.disableSSRStyle,c=(0,o.useRef)(null);return m({collapsibleRef:c,collapsed:r,animation:i}),o.createElement(n,{ref:c,style:s?void 0:h(r),onTransitionEnd:function(e){"height"===e.propertyName&&(p(c.current,r),null==l||l(r))},className:u},a)}function v(e){var t=e.collapsed,n=(0,a.Z)(e,u),i=(0,o.useState)(!t),l=i[0],s=i[1],c=(0,o.useState)(t),d=c[0],f=c[1];return(0,o.useLayoutEffect)((function(){t||s(!0)}),[t]),(0,o.useLayoutEffect)((function(){l&&f(t)}),[l,t]),l?o.createElement(g,(0,r.Z)({},n,{collapsed:d})):null}function b(e){var t=e.lazy,n=(0,a.Z)(e,s),r=t?v:g;return o.createElement(r,n)}},9689:function(e,t,n){"use strict";n.d(t,{nT:function(){return m},pl:function(){return p}});var r=n(7294),a=n(2389),o=n(12),i=n(9688),l=n(6668),u=(0,o.WA)("docusaurus.announcement.dismiss"),s=(0,o.WA)("docusaurus.announcement.id"),c=function(){return"true"===u.get()},d=function(e){return u.set(String(e))},f=r.createContext(null);function p(e){var t=e.children,n=function(){var e=(0,l.L)().announcementBar,t=(0,a.Z)(),n=(0,r.useState)((function(){return!!t&&c()})),o=n[0],i=n[1];(0,r.useEffect)((function(){i(c())}),[]);var u=(0,r.useCallback)((function(){d(!0),i(!0)}),[]);return(0,r.useEffect)((function(){if(e){var t=e.id,n=s.get();"annoucement-bar"===n&&(n="announcement-bar");var r=t!==n;s.set(t),r&&d(!1),!r&&c()||i(!1)}}),[e]),(0,r.useMemo)((function(){return{isActive:!!e&&!o,close:u}}),[e,o,u])}();return r.createElement(f.Provider,{value:n},t)}function m(){var e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:function(e,t,n){"use strict";n.d(t,{I:function(){return g},S:function(){return h}});var r=n(7294),a=n(412),o=n(9688),i=n(12),l=n(6668),u=r.createContext(void 0),s="theme",c=(0,i.WA)(s),d="light",f="dark",p=function(e){return e===f?f:d};function m(){var e=(0,l.L)().colorMode,t=e.defaultMode,n=e.disableSwitch,o=e.respectPrefersColorScheme,i=(0,r.useState)(function(e){return a.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e)}(t)),u=i[0],m=i[1];(0,r.useEffect)((function(){n&&c.del()}),[n]);var h=(0,r.useCallback)((function(e,n){void 0===n&&(n={});var r=n.persist,a=void 0===r||r;e?(m(e),a&&function(e){c.set(p(e))}(e)):(m(o?window.matchMedia("(prefers-color-scheme: dark)").matches?f:d:t),c.del())}),[o,t]);(0,r.useEffect)((function(){document.documentElement.setAttribute("data-theme",p(u))}),[u]),(0,r.useEffect)((function(){if(!n){var e=function(e){if(e.key===s){var t=c.get();null!==t&&h(p(t))}};return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}}}),[n,h]);var g=(0,r.useRef)(!1);return(0,r.useEffect)((function(){if(!n||o){var e=window.matchMedia("(prefers-color-scheme: dark)"),t=function(){window.matchMedia("print").matches||g.current?g.current=window.matchMedia("print").matches:h(null)};return e.addListener(t),function(){return e.removeListener(t)}}}),[h,n,o]),(0,r.useMemo)((function(){return{colorMode:u,setColorMode:h,get isDarkTheme(){return u===f},setLightTheme:function(){h(d)},setDarkTheme:function(){h(f)}}}),[u,h])}function h(e){var t=e.children,n=m();return r.createElement(u.Provider,{value:n},t)}function g(){var e=(0,r.useContext)(u);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:function(e,t,n){"use strict";n.d(t,{J:function(){return y},L5:function(){return v},Oh:function(){return w}});var r=n(7294),a=n(143),o=n(9935),i=n(6668),l=n(3791),u=n(9688),s=n(12),c=function(e){return"docs-preferred-version-"+e},d=function(e,t,n){(0,s.WA)(c(e),{persistence:t}).set(n)},f=function(e,t){return(0,s.WA)(c(e),{persistence:t}).get()},p=function(e,t){(0,s.WA)(c(e),{persistence:t}).del()};var m=r.createContext(null);function h(){var e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((function(){return Object.keys(e)}),[e]),o=(0,r.useState)((function(){return function(e){return Object.fromEntries(e.map((function(e){return[e,{preferredVersionName:null}]})))}(n)})),l=o[0],u=o[1];return(0,r.useEffect)((function(){u(function(e){var t=e.pluginIds,n=e.versionPersistence,r=e.allDocsData;return Object.fromEntries(t.map((function(e){return[e,(t=e,a=f(t,n),r[t].versions.some((function(e){return e.name===a}))?{preferredVersionName:a}:(p(t,n),{preferredVersionName:null}))];var t,a})))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]),[l,(0,r.useMemo)((function(){return{savePreferredVersion:function(e,n){d(e,t,n),u((function(t){var r;return Object.assign({},t,((r={})[e]={preferredVersionName:n},r))}))}}}),[t])]}function g(e){var t=e.children,n=h();return r.createElement(m.Provider,{value:n},t)}function v(e){var t=e.children;return l.cE?r.createElement(g,null,t):r.createElement(r.Fragment,null,t)}function b(){var e=(0,r.useContext)(m);if(!e)throw new u.i6("DocsPreferredVersionContextProvider");return e}function y(e){var t;void 0===e&&(e=o.m);var n=(0,a.zh)(e),i=b(),l=i[0],u=i[1],s=l[e].preferredVersionName;return{preferredVersion:null!=(t=n.versions.find((function(e){return e.name===s})))?t:null,savePreferredVersionName:(0,r.useCallback)((function(t){u.savePreferredVersion(e,t)}),[u,e])}}function w(){var e=(0,a._r)(),t=b()[0];var n=Object.keys(e);return Object.fromEntries(n.map((function(n){return[n,(r=n,o=e[r],i=t[r].preferredVersionName,null!=(a=o.versions.find((function(e){return e.name===i})))?a:null)];var r,a,o,i})))}},1116:function(e,t,n){"use strict";n.d(t,{V:function(){return u},b:function(){return l}});var r=n(7294),a=n(9688),o=Symbol("EmptyContext"),i=r.createContext(o);function l(e){var t=e.children,n=e.name,a=e.items,o=(0,r.useMemo)((function(){return n&&a?{name:n,items:a}:null}),[n,a]);return r.createElement(i.Provider,{value:o},t)}function u(){var e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},3163:function(e,t,n){"use strict";n.d(t,{M:function(){return d},e:function(){return f}});var r=n(7294),a=n(3102),o=n(7524),i=n(1980),l=n(6668),u=n(9688),s=r.createContext(void 0);function c(){var e,t=(e=(0,a.HY)(),0===(0,l.L)().navbar.items.length&&!e.component),n=(0,o.i)(),u=!t&&"mobile"===n,s=(0,r.useState)(!1),c=s[0],d=s[1];(0,i.Rb)((function(){if(c)return d(!1),!1}));var f=(0,r.useCallback)((function(){d((function(e){return!e}))}),[]);return(0,r.useEffect)((function(){"desktop"===n&&d(!1)}),[n]),(0,r.useMemo)((function(){return{disabled:t,shouldRender:u,toggle:f,shown:c}}),[t,u,f,c])}function d(e){var t=e.children,n=c();return r.createElement(s.Provider,{value:n},t)}function f(){var e=r.useContext(s);if(void 0===e)throw new u.i6("NavbarMobileSidebarProvider");return e}},3102:function(e,t,n){"use strict";n.d(t,{HY:function(){return l},Zo:function(){return u},n2:function(){return i}});var r=n(7294),a=n(9688),o=r.createContext(null);function i(e){var t=e.children,n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function l(){var e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){var t=e.component,n=e.props,i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");var l=i[1],u=(0,a.Ql)(n);return(0,r.useEffect)((function(){l({component:t,props:u})}),[l,t,u]),(0,r.useEffect)((function(){return function(){return l({component:null,props:null})}}),[l]),null}},9727:function(e,t,n){"use strict";n.d(t,{h:function(){return a},t:function(){return o}});var r=n(7294),a="navigation-with-keyboard";function o(){(0,r.useEffect)((function(){function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),function(){document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:function(e,t,n){"use strict";n.d(t,{i:function(){return s}});var r=n(7294),a=n(412),o="desktop",i="mobile",l="ssr";function u(){return a.Z.canUseDOM?window.innerWidth>996?o:i:l}function s(){var e=(0,r.useState)((function(){return u()})),t=e[0],n=e[1];return(0,r.useEffect)((function(){function e(){n(u())}return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e),clearTimeout(undefined)}}),[]),t}},5281:function(e,t,n){"use strict";n.d(t,{k:function(){return r}});var r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:function(e){return"theme-admonition-"+e}},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:function(e){return"theme-doc-sidebar-item-category-level-"+e},docSidebarItemLinkLevel:function(e){return"theme-doc-sidebar-item-link-level-"+e}},blog:{}}},1442:function(e,t,n){"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:function(){return r}})},3791:function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}n.d(t,{Wl:function(){return m},_F:function(){return g},cE:function(){return p},hI:function(){return k},lO:function(){return y},vY:function(){return E},oz:function(){return w},s1:function(){return b}});var o=n(7294),i=n(6775),l=n(8790),u=n(143),s=n(373),c=n(1116),d=n(7392),f=n(8596),p=!!u._r;function m(e){if(e.href)return e.href;for(var t,n=a(e.items);!(t=n()).done;){var r=t.value;if("link"===r.type)return r.href;if("category"===r.type){var o=m(r);if(o)return o}}}var h=function(e,t){return void 0!==e&&(0,f.Mg)(e,t)};function g(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||function(e,t){return e.some((function(e){return g(e,t)}))}(e.items,t))}function v(e){var t=e.sidebarItems,n=e.pathname,r=e.onlyCategories,o=void 0!==r&&r,i=[];return function e(t){for(var r,l=a(t);!(r=l()).done;){var u=r.value;if("category"===u.type&&((0,f.Mg)(u.href,n)||e(u.items))||"link"===u.type&&(0,f.Mg)(u.href,n))return o&&"category"!==u.type||i.unshift(u),!0}return!1}(t),i}function b(){var e,t=(0,c.V)(),n=(0,i.TH)().pathname;return!1!==(null==(e=(0,u.gA)())?void 0:e.pluginData.breadcrumbs)&&t?v({sidebarItems:t.items,pathname:n}):null}function y(e){var t=(0,u.Iw)(e).activeVersion,n=(0,s.J)(e).preferredVersion,r=(0,u.yW)(e);return(0,o.useMemo)((function(){return(0,d.j)([t,n,r].filter(Boolean))}),[t,n,r])}function w(e,t){var n=y(t);return(0,o.useMemo)((function(){var t=n.flatMap((function(e){return e.sidebars?Object.entries(e.sidebars):[]})),r=t.find((function(t){return t[0]===e}));if(!r)throw new Error("Can't find any sidebar with id \""+e+'" in version'+(n.length>1?"s":"")+" "+n.map((function(e){return e.name})).join(", ")+'".\nAvailable sidebar ids are:\n- '+t.map((function(e){return e[0]})).join("\n- "));return r[1]}),[e,n])}function E(e,t){var n=y(t);return(0,o.useMemo)((function(){var t=n.flatMap((function(e){return e.docs})),r=t.find((function(t){return t.id===e}));if(!r){if(n.flatMap((function(e){return e.draftIds})).includes(e))return null;throw new Error("Couldn't find any doc with id \""+e+'" in version'+(n.length>1?"s":"")+' "'+n.map((function(e){return e.name})).join(", ")+'".\nAvailable doc ids are:\n- '+(0,d.j)(t.map((function(e){return e.id}))).join("\n- "))}return r}),[e,n])}function k(e){var t=e.route,n=e.versionMetadata,r=(0,i.TH)(),a=t.routes,o=a.find((function(e){return(0,i.LX)(r.pathname,e)}));if(!o)return null;var u=o.sidebar,s=u?n.docsSidebars[u]:void 0;return{docElement:(0,l.H)(a),sidebarName:u,sidebarItems:s}}},1980:function(e,t,n){"use strict";n.d(t,{Rb:function(){return l},_X:function(){return u}});var r=n(7294),a=n(6775),o=n(1688),i=n(9688);function l(e){!function(e){var t=(0,a.k6)(),n=(0,i.zX)(e);(0,r.useEffect)((function(){return t.block((function(e,t){return n(e,t)}))}),[t,n])}((function(t,n){if("POP"===n)return e(t,n)}))}function u(e){return t=function(t){return null===e?null:new URLSearchParams(t.location.search).get(e)},n=(0,a.k6)(),(0,o.useSyncExternalStore)(n.listen,(function(){return t(n)}),(function(){return t(n)}));var t,n}},7392:function(e,t,n){"use strict";function r(e,t){return void 0===t&&(t=function(e,t){return e===t}),e.filter((function(n,r){return e.findIndex((function(e){return t(e,n)}))!==r}))}function a(e){return Array.from(new Set(e))}n.d(t,{j:function(){return a},l:function(){return r}})},1944:function(e,t,n){"use strict";n.d(t,{FG:function(){return f},d:function(){return c},VC:function(){return p}});var r=n(7294),a=n(7459),o=n(5742),i=n(226);function l(){var e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var u=n(4996),s=n(2263);function c(e){var t=e.title,n=e.description,a=e.keywords,i=e.image,l=e.children,c=function(e){var t=(0,s.Z)().siteConfig,n=t.title,r=t.titleDelimiter;return null!=e&&e.trim().length?e.trim()+" "+r+" "+n:n}(t),d=(0,u.C)().withBaseUrl,f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,c),t&&r.createElement("meta",{property:"og:title",content:c}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),l)}var d=r.createContext(void 0);function f(e){var t=e.className,n=e.children,i=r.useContext(d),l=(0,a.Z)(i,t);return r.createElement(d.Provider,{value:l},r.createElement(o.Z,null,r.createElement("html",{className:l})),n)}function p(e){var t=e.children,n=l(),o="plugin-"+n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,""),i="plugin-id-"+n.plugin.id;return r.createElement(f,{className:(0,a.Z)(o,i)},t)}},9688:function(e,t,n){"use strict";n.d(t,{i6:function(){return m},Qc:function(){return g},zX:function(){return f},D9:function(){return p},Ql:function(){return h}});var r=n(6528),a=n(4578);function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}var i=n(9611);function l(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function u(e,t,n){return u=l()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&(0,i.Z)(a,n.prototype),a},u.apply(null,arguments)}function s(e){var t="function"==typeof Map?new Map:void 0;return s=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return u(e,arguments,o(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),(0,i.Z)(r,e)},s(e)}var c=n(7294),d=n(412).Z.canUseDOM?c.useLayoutEffect:c.useEffect;function f(e){var t=(0,c.useRef)(e);return d((function(){t.current=e}),[e]),(0,c.useCallback)((function(){return t.current.apply(t,arguments)}),[])}function p(e){var t=(0,c.useRef)();return d((function(){t.current=e})),t.current}var m=function(e){function t(t,n){var a,o,i,l,u;return(u=e.call(this)||this).name="ReactContextError",u.message="Hook "+(null!=(a=null==(o=u.stack)||null==(i=o.split("\n")[1])||null==(l=i.match((0,r.Z)(/at (?:\w+\.)?(\w+)/,{name:1})))?void 0:l.groups.name)?a:"")+" is called outside the <"+t+">. "+(null!=n?n:""),u}return(0,a.Z)(t,e),t}(s(Error));function h(e){var t=Object.entries(e);return t.sort((function(e,t){return e[0].localeCompare(t[0])})),(0,c.useMemo)((function(){return e}),t.flat())}function g(e){return function(t){var n=t.children;return c.createElement(c.Fragment,null,e.reduceRight((function(e,t){return c.createElement(t,null,e)}),n))}}},8596:function(e,t,n){"use strict";n.d(t,{Mg:function(){return i},Ns:function(){return l}});var r=n(7294),a=n(723),o=n(2263);function i(e,t){var n=function(e){var t;return null==(t=!e||e.endsWith("/")?e:e+"/")?void 0:t.toLowerCase()};return n(e)===n(t)}function l(){var e=(0,o.Z)().siteConfig.baseUrl;return(0,r.useMemo)((function(){return function(e){var t=e.baseUrl;function n(e){return e.path===t&&!0===e.exact}function r(e){return e.path===t&&!e.exact}return function e(t){if(0!==t.length)return t.find(n)||e(t.filter(r).flatMap((function(e){var t;return null!=(t=e.routes)?t:[]})))}(e.routes)}({routes:a.Z,baseUrl:e})}),[e])}},2466:function(e,t,n){"use strict";n.d(t,{Ct:function(){return p},OC:function(){return u},RF:function(){return d},o5:function(){return f}});var r=n(7294),a=n(412),o=n(2389),i=n(9688);var l=r.createContext(void 0);function u(e){var t,n=e.children,a=(t=(0,r.useRef)(!0),(0,r.useMemo)((function(){return{scrollEventsEnabledRef:t,enableScrollEvents:function(){t.current=!0},disableScrollEvents:function(){t.current=!1}}}),[]));return r.createElement(l.Provider,{value:a},n)}function s(){var e=(0,r.useContext)(l);if(null==e)throw new i.i6("ScrollControllerProvider");return e}var c=function(){return a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null};function d(e,t){void 0===t&&(t=[]);var n=s().scrollEventsEnabledRef,a=(0,r.useRef)(c()),o=(0,i.zX)(e);(0,r.useEffect)((function(){var e=function(){if(n.current){var e=c();o(e,a.current),a.current=e}},t={passive:!0};return e(),window.addEventListener("scroll",e,t),function(){return window.removeEventListener("scroll",e,t)}}),[o,n].concat(t))}function f(){var e,t,n,a=s(),o=(e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((function(t){e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((function(){var t=e.current,n=t.elem,r=t.top;if(!n)return{restored:!1};var a=n.getBoundingClientRect().top-r;return a&&window.scrollBy({left:0,top:a}),e.current={elem:null,top:0},{restored:0!==a}}),[]),(0,r.useMemo)((function(){return{save:t,restore:n}}),[n,t])),i=(0,r.useRef)(void 0),l=(0,r.useCallback)((function(e){o.save(e),a.disableScrollEvents(),i.current=function(){var e=o.restore().restored;if(i.current=void 0,e){window.addEventListener("scroll",(function e(){a.enableScrollEvents(),window.removeEventListener("scroll",e)}))}else a.enableScrollEvents()}}),[a,o]);return(0,r.useLayoutEffect)((function(){queueMicrotask((function(){return null==i.current?void 0:i.current()}))})),{blockElementScrollPositionUntilNextRender:l}}function p(){var e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:function(n){e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),function(){}}(n):function(e){var t=null,n=document.documentElement.scrollTop>e;return function r(){var a=document.documentElement.scrollTop;(n&&a>e||!n&&a=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!s)for(;d--;d)i.unshift("..");!s||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m},l=n(2177);function u(e){return"/"===e.charAt(0)?e:"/"+e}function s(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,h(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),s=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),u(s,i(e,c,d)),1===e?(u(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){u(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),s=document.querySelector(r.parent);return u(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),s!=document.body&&c(s,"nprogress-custom-parent"),s.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),u=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function s(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;s(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);s(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},7418:function(e){"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,o){for(var i,l,u=a(e),s=1;s=d.reach);S+=k.value.length,k=k.next){var x=k.value;if(t.length>e.length)return;if(!(x instanceof a)){var _,T=1;if(b){if(!(_=o(E,S,e,v))||_.index>=e.length)break;var C=_.index,A=_.index+_[0].length,O=S;for(O+=k.value.length;C>=O;)O+=(k=k.next).value.length;if(S=O-=k.value.length,k.value instanceof a)continue;for(var N=k;N!==t.tail&&(Od.reach&&(d.reach=R);var M=k.prev;if(P&&(M=u(t,M,P),S+=P.length),s(t,M,T),k=u(t,M,new a(f,g?r.tokenize(L,g):L,y,L)),I&&u(t,k,I),T>1){var D={cause:f+","+m,reach:R};i(e,t,n,k.prev,S,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function u(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function s(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}(),r=n;n.default=n,r.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},r.languages.markup.tag.inside["attr-value"].inside.entity=r.languages.markup.entity,r.languages.markup.doctype.inside["internal-subset"].inside=r.languages.markup,r.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(r.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:r.languages[t]},n.cdata=/^$/i;var a={"included-cdata":{pattern://i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:r.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:a},r.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(r.languages.markup.tag,"addAttribute",{value:function(e,t){r.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:r.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,r.languages.xml=r.languages.extend("markup",{}),r.languages.ssml=r.languages.xml,r.languages.atom=r.languages.xml,r.languages.rss=r.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},r.languages.c=r.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),r.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),r.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},r.languages.c.string],char:r.languages.c.char,comment:r.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:r.languages.c}}}}),r.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete r.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(r),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(r),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(r),r.languages.javascript=r.languages.extend("clike",{"class-name":[r.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),r.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,r.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:r.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:r.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:r.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:r.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:r.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),r.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:r.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),r.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),r.languages.markup&&(r.languages.markup.tag.addInlined("script","javascript"),r.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),r.languages.js=r.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(r),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(r),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},u=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(r),r.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:r.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},r.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var l=f(/^\{$/,/^\}$/);if(-1===l)continue;for(var u=n;u=0&&p(s,"variable-input")}}}}function c(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function u(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function s(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,u(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function c(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,c={},d=u(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=l(i++,r)););return c[n]=a,n})).join(""),n,r),f=Object.keys(c);return i=0,function e(t){for(var n=0;n=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,l=o.indexOf(a);if(-1!==l){++i;var u=o.substring(0,l),d=s(c[a]),p=o.substring(l+a.length),m=[];if(u&&m.push(u),m.push(d),p){var h=[p];e(h),m.push.apply(m,h)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(r),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},l=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var u=i(a);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(u=i(t[r-1])+u,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",u,null,u)}a.content&&"string"!=typeof a.content&&l(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||l(e.tokens)}))}(r),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(r),r.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},r.languages.go=r.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),r.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete r.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var u=0;u=o.length);u++){var s=l[u];if("string"==typeof s||s.content&&"string"==typeof s.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof s?s:s.content,p=t(r,c),m=f.indexOf(p);if(m>-1){++a;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),v=f.substring(m+p.length),b=[];h&&b.push.apply(b,i([h])),b.push(g),v&&b.push.apply(b,i([v])),"string"==typeof s?l.splice.apply(l,[u,1].concat(b)):s.content=b}}else s.content&&i(s.content)}return l}(n.tokens)}}}})}(r),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(r),r.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},r.languages.webmanifest=r.languages.json,r.languages.less=r.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),r.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),r.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},r.languages.objectivec=r.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete r.languages.objectivec["class-name"],r.languages.objc=r.languages.objectivec,r.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},r.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},r.languages.python["string-interpolation"].inside.interpolation.inside.rest=r.languages.python,r.languages.py=r.languages.python,r.languages.reason=r.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),r.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete r.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(r),r.languages.scss=r.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),r.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),r.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),r.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),r.languages.scss.atrule.inside.rest=r.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(r),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(r),r.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/},t.Z=r},7874:function(){!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(//g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism)},4277:function(){Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},6862:function(){!function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}}(Prism)},3358:function(){!function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism)},7194:function(e,t,n){var r={"./prism-bash":7874,"./prism-java":2503,"./prism-json":4277,"./prism-powershell":6862,"./prism-yaml":3358};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=7194},2703:function(e,t,n){"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:function(e,t,n){e.exports=n(2703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:function(e,t,n){"use strict";var r=n(7294),a=n(7418),o=n(3840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n