CINXE.COM

readline/runebuf.go at v1.5.1 · chzyer/readline · GitHub

<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-3e154969b9f9.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-9c5b7a476542.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-afda8eb0fb33.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-2494e44ccdc5.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-56fff47acadc.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-71cd4cc132ec.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-fd5499848985.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-31d17ba3e139.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-68d6b2c79663.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-4cf0d59ab51a.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-af846850481e.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-8b10f05a77e6.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-2f6e722088eb.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-9c77ed90200e.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-a0610fd00b47.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["copilot_new_references_ui","copilot_beta_features_opt_in","copilot_chat_static_thread_suggestions","copilot_conversational_ux_history_refs","copilot_implicit_context","copilot_smell_icebreaker_ux","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","hovercard_accessibility","issues_react_new_timeline","issues_react_avatar_refactor","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","marketing_pages_search_explore_provider","react_keyboard_shortcuts_dialog","remove_child_patch","sample_network_conn_type","site_metered_billing_update","issues_react_first_time_contribution_banner","lifecycle_label_name_updates"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-6657579a8825.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_js-b73fdff77a4e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-aff936e590ed.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-247092-740e4ddd559d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-93b6a0551aa9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-cd35650c2e9c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-4aa4b0e95669.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-6d3967acd51c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_combobox-nav_dist_index_js-node_modules_github_g-emoji-element_di-6ce195-53781cbc550f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-6afc16-3cdfa69a0406.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-f5498b8d4e5d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-492b5042c841.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-1f651a-1e3d784c897c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-7671f1-dc6cac136d88.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-71486356f507.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-e3ab8405ef80.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-bb80ec-634de60bacfa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-ce7225a304c5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_hydro-analytics-client_dist_analytics-client_js-node_modules_gith-f3aee1-e6893db9c19e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-f8a5485c982a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-858e043fcf76.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-6cf3320416b8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_scroll-anchoring_dist_scroll-anchoring_esm_js-node_modules_stacktrace-pa-a71630-6f3c4f0189d8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-0e07cc183eed.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-0b5e12-889cec8cf448.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-eae9df0dd562.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-18d1c91a7872.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-7cbef09a422c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-d0d0a6-0e9fa537dc4f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-c89801ebbe15.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-a6e4c4c86bfa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-3366f6b6298e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-9b97703a4e6a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-13971a40799a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-765944243383.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-cd0a67881543.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-7b7b5264f6c1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-45c3a19dd792.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryClient_js-e40bb86d3e93.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-37e3d5-31653d7f2342.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-285fc29e9fa5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-4896ddd4b7bb.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__Stack_js-node_modules_lodash-es__Uint8Array_js-node_modules_l-4faaa6-13a0602a5edf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__baseIsEqual_js-8929eb9718d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_hydro-analytics-client_dist_analytics-client_js-node_modules_gith-9002b0-8e5e346f0cbe.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_aria-live_aria-live_ts-ui_packages_promise-with-resolvers-polyfill_promise-with-r-014121-e1792bd5a31e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-c733d4a976df.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-b10086b6761e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_utilities_web-worker_ts-ui_packages_code-view-shared_worker-jobs-7fe572-d1c1cf476cef.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_hydro-analytics_hydro-analytics_ts-ui_packages_verified-fetch_verified-fetch_ts-u-4672d1-0996d093463a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_utili-228da6-37a4eeff405d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-file-page-payload_ts-ui_packages_code-view-shared_comp-1beb66-b07e414af699.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_blob-anchor_ts-ui_packages_code-nav_code-nav_ts-ui_packages_filter--8253c1-87c39cb5708f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-14a709e0fc35.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9fa170e9435ed4b922b9.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-code-view.6b587a69b593e23c3657.module.css" /> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-765944243383.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-cd0a67881543.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-7b7b5264f6c1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-45c3a19dd792.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryClient_js-e40bb86d3e93.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-37e3d5-31653d7f2342.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-285fc29e9fa5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-4896ddd4b7bb.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-3eda30673b32.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9fa170e9435ed4b922b9.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <title>readline/runebuf.go at v1.5.1 · chzyer/readline · GitHub</title> <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient> <meta name="route-controller" content="blob" data-turbo-transient> <meta name="route-action" content="show" data-turbo-transient> <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> <meta name="request-id" content="BEB8:4BF17:5EEE9B:6F2F62:674BA12B" data-pjax-transient="true"/><meta name="html-safe-nonce" content="8eeb7978afa569b997bb93f327c23b9fe3254173e51c9c0ef862fc8c29ea569c" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCRUI4OjRCRjE3OjVFRUU5Qjo2RjJGNjI6Njc0QkExMkIiLCJ2aXNpdG9yX2lkIjoiNDA3ODY0NzAyNjQ0MjI4MTI1OSIsInJlZ2lvbl9lZGdlIjoic291dGhlYXN0YXNpYSIsInJlZ2lvbl9yZW5kZXIiOiJzb3V0aGVhc3Rhc2lhIn0=" data-pjax-transient="true"/><meta name="visitor-hmac" content="c53070951e57f6e5c1967aa3ea8d2c73787eb86f084b4c88aef65891e25112cf" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:42817478" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_source" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="Readline is a pure go(golang) implementation for GNU-Readline kind library - readline/runebuf.go at v1.5.1 · chzyer/readline"> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/chzyer/readline/blob/v1.5.1/runebuf.go" /> <meta name="twitter:image" content="https://opengraph.githubassets.com/b3d8c42872e6cfd73b59ac55648b1ffebeaa5763397883897a3bfb780636cf08/chzyer/readline" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="readline/runebuf.go at v1.5.1 · chzyer/readline" /><meta name="twitter:description" content="Readline is a pure go(golang) implementation for GNU-Readline kind library - chzyer/readline" /> <meta property="og:image" content="https://opengraph.githubassets.com/b3d8c42872e6cfd73b59ac55648b1ffebeaa5763397883897a3bfb780636cf08/chzyer/readline" /><meta property="og:image:alt" content="Readline is a pure go(golang) implementation for GNU-Readline kind library - chzyer/readline" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="readline/runebuf.go at v1.5.1 · chzyer/readline" /><meta property="og:url" content="https://github.com/chzyer/readline/blob/v1.5.1/runebuf.go" /><meta property="og:description" content="Readline is a pure go(golang) implementation for GNU-Readline kind library - chzyer/readline" /> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="0361a11d6ba7285e98ad3340b1de5998c1adf9be672ff350e645684a12c5ff34" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="ace39c3b6632770952207593607e6e0be0db363435a8b877b1f96abe6430f345" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="3adbaefc258174e49a9472f62ba4ed262e7c0112f9e7266a3e927bd7b898716f" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="58069173ba3ee40a605f317588f70346d3cda2c3c32d767dd6d2909bbe343612" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta name="turbo-cache-control" content="no-cache" data-turbo-transient> <meta data-hydrostats="publish"> <meta name="go-import" content="github.com/chzyer/readline git https://github.com/chzyer/readline.git"> <meta name="octolytics-dimension-user_id" content="1464115" /><meta name="octolytics-dimension-user_login" content="chzyer" /><meta name="octolytics-dimension-repository_id" content="42817478" /><meta name="octolytics-dimension-repository_nwo" content="chzyer/readline" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="42817478" /><meta name="octolytics-dimension-repository_network_root_nwo" content="chzyer/readline" /> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-f3cc184507a7.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9fa170e9435ed4b922b9.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-cf3dd69d89eb.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-8fa3b694f335.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fchzyer%2Freadline%2Fblob%2Fv1.5.1%2Frunebuf.go" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/chzyer/readline/blob/v1.5.1/runebuf.go&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="075e758c1503378be1d8a576ca82ba0441c82464791dceeaab89cb3f9ee6b98c" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_product_navbar&quot;}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_product_navbar&quot;}" href="https://github.com/features/security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;actions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;actions_link_product_navbar&quot;}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;codespaces&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;codespaces_link_product_navbar&quot;}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;issues&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;issues_link_product_navbar&quot;}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_review&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_review_link_product_navbar&quot;}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;discussions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;discussions_link_product_navbar&quot;}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_search&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_search_link_product_navbar&quot;}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;all_features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;all_features_link_product_navbar&quot;}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;documentation&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;documentation_link_product_navbar&quot;}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_skills&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_skills_link_product_navbar&quot;}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_product_navbar&quot;}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprises&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;startups&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}" href="https://github.com/enterprise/startups"> Startups </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devsecops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ci_cd&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ci_cd_link_solutions_navbar&quot;}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;healthcare&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;financial_services&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;manufacturing&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;government&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_industries&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;software_development&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_link_resources_navbar&quot;}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;learning_pathways&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;learning_pathways_link_resources_navbar&quot;}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;white_papers_ebooks_webinars&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;white_papers_ebooks_webinars_link_resources_navbar&quot;}" href="https://resources.github.com"> White papers, Ebooks, Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_sponsors&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;the_readme_project&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;the_readme_project_link_open_source_navbar&quot;}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;topics&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;trending&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;collections&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;advanced_security&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;advanced_security_link_enterprise_navbar&quot;}" href="https://github.com/enterprise/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_enterprise_navbar&quot;}" href="/features/copilot#enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_global_navbar&quot;}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="repo:chzyer/readline" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="CsRx-F2PsVTt_ohvyJZ24bH_SULvC0u9fqu6RQgtRNjKSW2CZT9r5qd7jr2gVuL0p_q5fBYWpmXLFd_SVt5JxQ" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="chzyer/readline" data-current-org="" data-current-owner="chzyer" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;searchbar&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-3d046d8b-b3f3-4a87-a012-36fd7ca560c6" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-3d046d8b-b3f3-4a87-a012-36fd7ca560c6" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2"> Search syntax tips </a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="TVXSpHw487uVmu01exnRINWphK9etLX/ZPK4N9909rFR4P9AfXv3Tuxj29t8jml/4kTz9K3vx/Aw0+gCLVJizA==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="T+SfwqQzo3bofbUEEyttqgdlxOOg0tWvyn6zylOsE3ZSYC25x0Mvi2YGJwgO6Jy8TtrJTVoxQ3lj1GyO6Pwy8Q==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="SO/OTqjfxnXZ97u06wpe+1TOVIcFBtGTeWfLB7ZN02BkrFEHf3mz6aWLYDgv8rgdLqKDQ/jAKu39BQSTBGYSVQ==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fchzyer%2Freadline%2Fblob%2Fv1.5.1%2Frunebuf.go" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/chzyer/readline/blob/v1.5.1/runebuf.go&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="075e758c1503378be1d8a576ca82ba0441c82464791dceeaab89cb3f9ee6b98c" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=chzyer%2Freadline" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/chzyer/readline/blob/v1.5.1/runebuf.go&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="075e758c1503378be1d8a576ca82ba0441c82464791dceeaab89cb3f9ee6b98c" data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-94d42444-1e50-4deb-8ad6-08f1e66968af" aria-labelledby="tooltip-9fcb4170-47fc-43c0-9ec6-233c42f56a06" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-9fcb4170-47fc-43c0-9ec6-233c42f56a06" for="icon-button-94d42444-1e50-4deb-8ad6-08f1e66968af" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled > <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <main id="js-repo-pjax-container" > <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> <div class="flex-auto min-width-0 width-fit"> <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/chzyer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/chzyer"> chzyer </a> </span> <span class="mx-1 flex-self-stretch color-fg-muted">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/chzyer/readline">readline</a> </strong> <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> </div> </div> <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <a href="/login?return_to=%2Fchzyer%2Freadline" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/chzyer/readline/blob/v1.5.1/runebuf.go&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6537a8ee4152d4ecc19342df76a7d22f8d7511a6915747880e69354eefe93852" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-3b479b0c-f86d-4659-ae8a-1c5d4f9a044b" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </li> <li> <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fchzyer%2Freadline" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:42817478,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/chzyer/readline/blob/v1.5.1/runebuf.go&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b70966c7055d6553daea4fa0882e6e10aa3c0d342e81ba929e779321e417012d" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg>Fork <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="280" data-view-component="true" class="Counter">280</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fchzyer%2Freadline" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:42817478,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/chzyer/readline/blob/v1.5.1/runebuf.go&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f21f7984c0b498104e95dcc405012b132e978ba6b49ef5d5a9110c56481e9136" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="2099 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="2,099" data-view-component="true" class="Counter js-social-count">2.1k</span> </a></div> </li> </ul> </div> </div> <div id="responsive-meta-container" data-turbo-replace> </div> <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> <ul data-view-component="true" class="UnderlineNav-body list-style-none"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab" href="/chzyer/readline/tree/v1.5.1" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /chzyer/readline/tree/v1.5.1" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Code&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> <span data-content="Code">Code</span> <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab" href="/chzyer/readline/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /chzyer/readline/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Issues&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> <span data-content="Issues">Issues</span> <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="77" data-view-component="true" class="Counter">77</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/chzyer/readline/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /chzyer/readline/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Pull requests&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> <span data-content="Pull requests">Pull requests</span> <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="30" data-view-component="true" class="Counter">30</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="actions-tab" href="/chzyer/readline/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /chzyer/readline/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Actions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> <span data-content="Actions">Actions</span> <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="projects-tab" href="/chzyer/readline/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /chzyer/readline/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Projects&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> <span data-content="Projects">Projects</span> <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="wiki-tab" href="/chzyer/readline/wiki" data-tab-item="i5wiki-tab" data-selected-links="repo_wiki /chzyer/readline/wiki" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g w" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Wiki&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> <span data-content="Wiki">Wiki</span> <span id="wiki-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="security-tab" href="/chzyer/readline/security" data-tab-item="i6security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /chzyer/readline/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span data-content="Security">Security</span> <include-fragment src="/chzyer/readline/security/overall-count" accept="text/fragment+html"></include-fragment> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="insights-tab" href="/chzyer/readline/pulse" data-tab-item="i7insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /chzyer/readline/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Insights&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> <span data-content="Insights">Insights</span> <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> </ul> <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-048e8333-829b-4156-9ff6-9823d9b0ba4e-button" popovertarget="action-menu-048e8333-829b-4156-9ff6-9823d9b0ba4e-overlay" aria-controls="action-menu-048e8333-829b-4156-9ff6-9823d9b0ba4e-list" aria-haspopup="true" aria-labelledby="tooltip-3fcaa554-b78d-41ac-9715-dc533e94b13f" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </button><tool-tip id="tooltip-3fcaa554-b78d-41ac-9715-dc533e94b13f" for="action-menu-048e8333-829b-4156-9ff6-9823d9b0ba4e-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> <anchored-position id="action-menu-048e8333-829b-4156-9ff6-9823d9b0ba4e-overlay" anchor="action-menu-048e8333-829b-4156-9ff6-9823d9b0ba4e-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-048e8333-829b-4156-9ff6-9823d9b0ba4e-button" id="action-menu-048e8333-829b-4156-9ff6-9823d9b0ba4e-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-a1c63c0c-c54d-4011-9e20-7de464270e5b" href="/chzyer/readline/tree/v1.5.1" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Code </span> </a> </li> <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-f28231e3-5088-4c52-9b75-e5814b291c50" href="/chzyer/readline/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Issues </span> </a> </li> <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-fd82ff56-4a7b-40dc-be75-462182714364" href="/chzyer/readline/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Pull requests </span> </a> </li> <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-587974af-f3ae-436a-9834-9b3355b41e27" href="/chzyer/readline/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Actions </span> </a> </li> <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-81529d81-3fd6-46ce-a28c-ca1e7e59deb3" href="/chzyer/readline/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Projects </span> </a> </li> <li hidden="hidden" data-menu-item="i5wiki-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-9232f8b8-db57-4ea9-8b59-98d61d60655f" href="/chzyer/readline/wiki" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Wiki </span> </a> </li> <li hidden="hidden" data-menu-item="i6security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-5a4c7dc2-a988-4e79-a7b5-efe2531d1332" href="/chzyer/readline/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Security </span> </a> </li> <li hidden="hidden" data-menu-item="i7insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-af86126c-2844-45bb-be9a-10177bb49390" href="/chzyer/readline/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Insights </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu></div> </nav> </div> <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> <div id="repo-content-pjax-container" class="repository-content " > <react-app app-name="react-code-view" initial-path="/chzyer/readline/blob/v1.5.1/runebuf.go" style="display: block; min-height: calc(100vh - 64px);" data-attempted-ssr="true" data-ssr="true" data-lazy="false" data-alternate="false" > <script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"doc","path":"doc","contentType":"directory"},{"name":"example","path":"example","contentType":"directory"},{"name":"runes","path":"runes","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".travis.yml","path":".travis.yml","contentType":"file"},{"name":"CHANGELOG.md","path":"CHANGELOG.md","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"ansi_windows.go","path":"ansi_windows.go","contentType":"file"},{"name":"complete.go","path":"complete.go","contentType":"file"},{"name":"complete_helper.go","path":"complete_helper.go","contentType":"file"},{"name":"complete_segment.go","path":"complete_segment.go","contentType":"file"},{"name":"complete_segment_test.go","path":"complete_segment_test.go","contentType":"file"},{"name":"go.mod","path":"go.mod","contentType":"file"},{"name":"go.sum","path":"go.sum","contentType":"file"},{"name":"history.go","path":"history.go","contentType":"file"},{"name":"operation.go","path":"operation.go","contentType":"file"},{"name":"password.go","path":"password.go","contentType":"file"},{"name":"rawreader_windows.go","path":"rawreader_windows.go","contentType":"file"},{"name":"readline.go","path":"readline.go","contentType":"file"},{"name":"readline_test.go","path":"readline_test.go","contentType":"file"},{"name":"remote.go","path":"remote.go","contentType":"file"},{"name":"runebuf.go","path":"runebuf.go","contentType":"file"},{"name":"runes.go","path":"runes.go","contentType":"file"},{"name":"runes_test.go","path":"runes_test.go","contentType":"file"},{"name":"search.go","path":"search.go","contentType":"file"},{"name":"std.go","path":"std.go","contentType":"file"},{"name":"std_windows.go","path":"std_windows.go","contentType":"file"},{"name":"term.go","path":"term.go","contentType":"file"},{"name":"term_bsd.go","path":"term_bsd.go","contentType":"file"},{"name":"term_linux.go","path":"term_linux.go","contentType":"file"},{"name":"term_nosyscall6.go","path":"term_nosyscall6.go","contentType":"file"},{"name":"term_unix.go","path":"term_unix.go","contentType":"file"},{"name":"term_windows.go","path":"term_windows.go","contentType":"file"},{"name":"terminal.go","path":"terminal.go","contentType":"file"},{"name":"utils.go","path":"utils.go","contentType":"file"},{"name":"utils_test.go","path":"utils_test.go","contentType":"file"},{"name":"utils_unix.go","path":"utils_unix.go","contentType":"file"},{"name":"utils_windows.go","path":"utils_windows.go","contentType":"file"},{"name":"vim.go","path":"vim.go","contentType":"file"},{"name":"windows_api.go","path":"windows_api.go","contentType":"file"}],"totalCount":41}},"fileTreeProcessingTime":5.235769,"foldersToFetch":[],"repo":{"id":42817478,"defaultBranch":"master","name":"readline","ownerLogin":"chzyer","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-09-20T15:11:30.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1464115?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"v1.5.1","listCacheKey":"v0:1657889485.6491241","canEdit":false,"refType":"tag","currentOid":"7f93d88cd5ffa0e805d58d2f9fc3191be15ec668"},"path":"runebuf.go","currentUser":null,"blob":{"rawLines":["package readline","","import (","\t\"bufio\"","\t\"bytes\"","\t\"io\"","\t\"strconv\"","\t\"strings\"","\t\"sync\"",")","","type runeBufferBck struct {","\tbuf []rune","\tidx int","}","","type RuneBuffer struct {","\tbuf []rune","\tidx int","\tprompt []rune","\tw io.Writer","","\thadClean bool","\tinteractive bool","\tcfg *Config","","\twidth int","","\tbck *runeBufferBck","","\toffset string","","\tlastKill []rune","","\tsync.Mutex","}","","func (r *RuneBuffer) pushKill(text []rune) {","\tr.lastKill = append([]rune{}, text...)","}","","func (r *RuneBuffer) OnWidthChange(newWidth int) {","\tr.Lock()","\tr.width = newWidth","\tr.Unlock()","}","","func (r *RuneBuffer) Backup() {","\tr.Lock()","\tr.bck = \u0026runeBufferBck{r.buf, r.idx}","\tr.Unlock()","}","","func (r *RuneBuffer) Restore() {","\tr.Refresh(func() {","\t\tif r.bck == nil {","\t\t\treturn","\t\t}","\t\tr.buf = r.bck.buf","\t\tr.idx = r.bck.idx","\t})","}","","func NewRuneBuffer(w io.Writer, prompt string, cfg *Config, width int) *RuneBuffer {","\trb := \u0026RuneBuffer{","\t\tw: w,","\t\tinteractive: cfg.useInteractive(),","\t\tcfg: cfg,","\t\twidth: width,","\t}","\trb.SetPrompt(prompt)","\treturn rb","}","","func (r *RuneBuffer) SetConfig(cfg *Config) {","\tr.Lock()","\tr.cfg = cfg","\tr.interactive = cfg.useInteractive()","\tr.Unlock()","}","","func (r *RuneBuffer) SetMask(m rune) {","\tr.Lock()","\tr.cfg.MaskRune = m","\tr.Unlock()","}","","func (r *RuneBuffer) CurrentWidth(x int) int {","\tr.Lock()","\tdefer r.Unlock()","\treturn runes.WidthAll(r.buf[:x])","}","","func (r *RuneBuffer) PromptLen() int {","\tr.Lock()","\twidth := r.promptLen()","\tr.Unlock()","\treturn width","}","","func (r *RuneBuffer) promptLen() int {","\treturn runes.WidthAll(runes.ColorFilter(r.prompt))","}","","func (r *RuneBuffer) RuneSlice(i int) []rune {","\tr.Lock()","\tdefer r.Unlock()","","\tif i \u003e 0 {","\t\trs := make([]rune, i)","\t\tcopy(rs, r.buf[r.idx:r.idx+i])","\t\treturn rs","\t}","\trs := make([]rune, -i)","\tcopy(rs, r.buf[r.idx+i:r.idx])","\treturn rs","}","","func (r *RuneBuffer) Runes() []rune {","\tr.Lock()","\tnewr := make([]rune, len(r.buf))","\tcopy(newr, r.buf)","\tr.Unlock()","\treturn newr","}","","func (r *RuneBuffer) Pos() int {","\tr.Lock()","\tdefer r.Unlock()","\treturn r.idx","}","","func (r *RuneBuffer) Len() int {","\tr.Lock()","\tdefer r.Unlock()","\treturn len(r.buf)","}","","func (r *RuneBuffer) MoveToLineStart() {","\tr.Refresh(func() {","\t\tif r.idx == 0 {","\t\t\treturn","\t\t}","\t\tr.idx = 0","\t})","}","","func (r *RuneBuffer) MoveBackward() {","\tr.Refresh(func() {","\t\tif r.idx == 0 {","\t\t\treturn","\t\t}","\t\tr.idx--","\t})","}","","func (r *RuneBuffer) WriteString(s string) {","\tr.WriteRunes([]rune(s))","}","","func (r *RuneBuffer) WriteRune(s rune) {","\tr.WriteRunes([]rune{s})","}","","func (r *RuneBuffer) WriteRunes(s []rune) {","\tr.Refresh(func() {","\t\ttail := append(s, r.buf[r.idx:]...)","\t\tr.buf = append(r.buf[:r.idx], tail...)","\t\tr.idx += len(s)","\t})","}","","func (r *RuneBuffer) MoveForward() {","\tr.Refresh(func() {","\t\tif r.idx == len(r.buf) {","\t\t\treturn","\t\t}","\t\tr.idx++","\t})","}","","func (r *RuneBuffer) IsCursorInEnd() bool {","\tr.Lock()","\tdefer r.Unlock()","\treturn r.idx == len(r.buf)","}","","func (r *RuneBuffer) Replace(ch rune) {","\tr.Refresh(func() {","\t\tr.buf[r.idx] = ch","\t})","}","","func (r *RuneBuffer) Erase() {","\tr.Refresh(func() {","\t\tr.idx = 0","\t\tr.pushKill(r.buf[:])","\t\tr.buf = r.buf[:0]","\t})","}","","func (r *RuneBuffer) Delete() (success bool) {","\tr.Refresh(func() {","\t\tif r.idx == len(r.buf) {","\t\t\treturn","\t\t}","\t\tr.pushKill(r.buf[r.idx : r.idx+1])","\t\tr.buf = append(r.buf[:r.idx], r.buf[r.idx+1:]...)","\t\tsuccess = true","\t})","\treturn","}","","func (r *RuneBuffer) DeleteWord() {","\tif r.idx == len(r.buf) {","\t\treturn","\t}","\tinit := r.idx","\tfor init \u003c len(r.buf) \u0026\u0026 IsWordBreak(r.buf[init]) {","\t\tinit++","\t}","\tfor i := init + 1; i \u003c len(r.buf); i++ {","\t\tif !IsWordBreak(r.buf[i]) \u0026\u0026 IsWordBreak(r.buf[i-1]) {","\t\t\tr.pushKill(r.buf[r.idx : i-1])","\t\t\tr.Refresh(func() {","\t\t\t\tr.buf = append(r.buf[:r.idx], r.buf[i-1:]...)","\t\t\t})","\t\t\treturn","\t\t}","\t}","\tr.Kill()","}","","func (r *RuneBuffer) MoveToPrevWord() (success bool) {","\tr.Refresh(func() {","\t\tif r.idx == 0 {","\t\t\treturn","\t\t}","","\t\tfor i := r.idx - 1; i \u003e 0; i-- {","\t\t\tif !IsWordBreak(r.buf[i]) \u0026\u0026 IsWordBreak(r.buf[i-1]) {","\t\t\t\tr.idx = i","\t\t\t\tsuccess = true","\t\t\t\treturn","\t\t\t}","\t\t}","\t\tr.idx = 0","\t\tsuccess = true","\t})","\treturn","}","","func (r *RuneBuffer) KillFront() {","\tr.Refresh(func() {","\t\tif r.idx == 0 {","\t\t\treturn","\t\t}","","\t\tlength := len(r.buf) - r.idx","\t\tr.pushKill(r.buf[:r.idx])","\t\tcopy(r.buf[:length], r.buf[r.idx:])","\t\tr.idx = 0","\t\tr.buf = r.buf[:length]","\t})","}","","func (r *RuneBuffer) Kill() {","\tr.Refresh(func() {","\t\tr.pushKill(r.buf[r.idx:])","\t\tr.buf = r.buf[:r.idx]","\t})","}","","func (r *RuneBuffer) Transpose() {","\tr.Refresh(func() {","\t\tif len(r.buf) == 1 {","\t\t\tr.idx++","\t\t}","","\t\tif len(r.buf) \u003c 2 {","\t\t\treturn","\t\t}","","\t\tif r.idx == 0 {","\t\t\tr.idx = 1","\t\t} else if r.idx \u003e= len(r.buf) {","\t\t\tr.idx = len(r.buf) - 1","\t\t}","\t\tr.buf[r.idx], r.buf[r.idx-1] = r.buf[r.idx-1], r.buf[r.idx]","\t\tr.idx++","\t})","}","","func (r *RuneBuffer) MoveToNextWord() {","\tr.Refresh(func() {","\t\tfor i := r.idx + 1; i \u003c len(r.buf); i++ {","\t\t\tif !IsWordBreak(r.buf[i]) \u0026\u0026 IsWordBreak(r.buf[i-1]) {","\t\t\t\tr.idx = i","\t\t\t\treturn","\t\t\t}","\t\t}","","\t\tr.idx = len(r.buf)","\t})","}","","func (r *RuneBuffer) MoveToEndWord() {","\tr.Refresh(func() {","\t\t// already at the end, so do nothing","\t\tif r.idx == len(r.buf) {","\t\t\treturn","\t\t}","\t\t// if we are at the end of a word already, go to next","\t\tif !IsWordBreak(r.buf[r.idx]) \u0026\u0026 IsWordBreak(r.buf[r.idx+1]) {","\t\t\tr.idx++","\t\t}","","\t\t// keep going until at the end of a word","\t\tfor i := r.idx + 1; i \u003c len(r.buf); i++ {","\t\t\tif IsWordBreak(r.buf[i]) \u0026\u0026 !IsWordBreak(r.buf[i-1]) {","\t\t\t\tr.idx = i - 1","\t\t\t\treturn","\t\t\t}","\t\t}","\t\tr.idx = len(r.buf)","\t})","}","","func (r *RuneBuffer) BackEscapeWord() {","\tr.Refresh(func() {","\t\tif r.idx == 0 {","\t\t\treturn","\t\t}","\t\tfor i := r.idx - 1; i \u003e 0; i-- {","\t\t\tif !IsWordBreak(r.buf[i]) \u0026\u0026 IsWordBreak(r.buf[i-1]) {","\t\t\t\tr.pushKill(r.buf[i:r.idx])","\t\t\t\tr.buf = append(r.buf[:i], r.buf[r.idx:]...)","\t\t\t\tr.idx = i","\t\t\t\treturn","\t\t\t}","\t\t}","","\t\tr.buf = r.buf[:0]","\t\tr.idx = 0","\t})","}","","func (r *RuneBuffer) Yank() {","\tif len(r.lastKill) == 0 {","\t\treturn","\t}","\tr.Refresh(func() {","\t\tbuf := make([]rune, 0, len(r.buf)+len(r.lastKill))","\t\tbuf = append(buf, r.buf[:r.idx]...)","\t\tbuf = append(buf, r.lastKill...)","\t\tbuf = append(buf, r.buf[r.idx:]...)","\t\tr.buf = buf","\t\tr.idx += len(r.lastKill)","\t})","}","","func (r *RuneBuffer) Backspace() {","\tr.Refresh(func() {","\t\tif r.idx == 0 {","\t\t\treturn","\t\t}","","\t\tr.idx--","\t\tr.buf = append(r.buf[:r.idx], r.buf[r.idx+1:]...)","\t})","}","","func (r *RuneBuffer) MoveToLineEnd() {","\tr.Refresh(func() {","\t\tif r.idx == len(r.buf) {","\t\t\treturn","\t\t}","","\t\tr.idx = len(r.buf)","\t})","}","","func (r *RuneBuffer) LineCount(width int) int {","\tif width == -1 {","\t\twidth = r.width","\t}","\treturn LineCount(width,","\t\trunes.WidthAll(r.buf)+r.PromptLen())","}","","func (r *RuneBuffer) MoveTo(ch rune, prevChar, reverse bool) (success bool) {","\tr.Refresh(func() {","\t\tif reverse {","\t\t\tfor i := r.idx - 1; i \u003e= 0; i-- {","\t\t\t\tif r.buf[i] == ch {","\t\t\t\t\tr.idx = i","\t\t\t\t\tif prevChar {","\t\t\t\t\t\tr.idx++","\t\t\t\t\t}","\t\t\t\t\tsuccess = true","\t\t\t\t\treturn","\t\t\t\t}","\t\t\t}","\t\t\treturn","\t\t}","\t\tfor i := r.idx + 1; i \u003c len(r.buf); i++ {","\t\t\tif r.buf[i] == ch {","\t\t\t\tr.idx = i","\t\t\t\tif prevChar {","\t\t\t\t\tr.idx--","\t\t\t\t}","\t\t\t\tsuccess = true","\t\t\t\treturn","\t\t\t}","\t\t}","\t})","\treturn","}","","func (r *RuneBuffer) isInLineEdge() bool {","\tif isWindows {","\t\treturn false","\t}","\tsp := r.getSplitByLine(r.buf)","\treturn len(sp[len(sp)-1]) == 0","}","","func (r *RuneBuffer) getSplitByLine(rs []rune) []string {","\treturn SplitByLine(r.promptLen(), r.width, rs)","}","","func (r *RuneBuffer) IdxLine(width int) int {","\tr.Lock()","\tdefer r.Unlock()","\treturn r.idxLine(width)","}","","func (r *RuneBuffer) idxLine(width int) int {","\tif width == 0 {","\t\treturn 0","\t}","\tsp := r.getSplitByLine(r.buf[:r.idx])","\treturn len(sp) - 1","}","","func (r *RuneBuffer) CursorLineCount() int {","\treturn r.LineCount(r.width) - r.IdxLine(r.width)","}","","func (r *RuneBuffer) Refresh(f func()) {","\tr.Lock()","\tdefer r.Unlock()","","\tif !r.interactive {","\t\tif f != nil {","\t\t\tf()","\t\t}","\t\treturn","\t}","","\tr.clean()","\tif f != nil {","\t\tf()","\t}","\tr.print()","}","","func (r *RuneBuffer) SetOffset(offset string) {","\tr.Lock()","\tr.offset = offset","\tr.Unlock()","}","","func (r *RuneBuffer) print() {","\tr.w.Write(r.output())","\tr.hadClean = false","}","","func (r *RuneBuffer) output() []byte {","\tbuf := bytes.NewBuffer(nil)","\tbuf.WriteString(string(r.prompt))","\tif r.cfg.EnableMask \u0026\u0026 len(r.buf) \u003e 0 {","\t\tbuf.Write([]byte(strings.Repeat(string(r.cfg.MaskRune), len(r.buf)-1)))","\t\tif r.buf[len(r.buf)-1] == '\\n' {","\t\t\tbuf.Write([]byte{'\\n'})","\t\t} else {","\t\t\tbuf.Write([]byte(string(r.cfg.MaskRune)))","\t\t}","\t\tif len(r.buf) \u003e r.idx {","\t\t\tbuf.Write(r.getBackspaceSequence())","\t\t}","","\t} else {","\t\tfor _, e := range r.cfg.Painter.Paint(r.buf, r.idx) {","\t\t\tif e == '\\t' {","\t\t\t\tbuf.WriteString(strings.Repeat(\" \", TabWidth))","\t\t\t} else {","\t\t\t\tbuf.WriteRune(e)","\t\t\t}","\t\t}","\t\tif r.isInLineEdge() {","\t\t\tbuf.Write([]byte(\" \\b\"))","\t\t}","\t}","\t// cursor position","\tif len(r.buf) \u003e r.idx {","\t\tbuf.Write(r.getBackspaceSequence())","\t}","\treturn buf.Bytes()","}","","func (r *RuneBuffer) getBackspaceSequence() []byte {","\tvar sep = map[int]bool{}","","\tvar i int","\tfor {","\t\tif i \u003e= runes.WidthAll(r.buf) {","\t\t\tbreak","\t\t}","","\t\tif i == 0 {","\t\t\ti -= r.promptLen()","\t\t}","\t\ti += r.width","","\t\tsep[i] = true","\t}","\tvar buf []byte","\tfor i := len(r.buf); i \u003e r.idx; i-- {","\t\t// move input to the left of one","\t\tbuf = append(buf, '\\b')","\t\tif sep[i] {","\t\t\t// up one line, go to the start of the line and move cursor right to the end (r.width)","\t\t\tbuf = append(buf, \"\\033[A\\r\"+\"\\033[\"+strconv.Itoa(r.width)+\"C\"...)","\t\t}","\t}","","\treturn buf","","}","","func (r *RuneBuffer) Reset() []rune {","\tret := runes.Copy(r.buf)","\tr.buf = r.buf[:0]","\tr.idx = 0","\treturn ret","}","","func (r *RuneBuffer) calWidth(m int) int {","\tif m \u003e 0 {","\t\treturn runes.WidthAll(r.buf[r.idx : r.idx+m])","\t}","\treturn runes.WidthAll(r.buf[r.idx+m : r.idx])","}","","func (r *RuneBuffer) SetStyle(start, end int, style string) {","\tif end \u003c start {","\t\tpanic(\"end \u003c start\")","\t}","","\t// goto start","\tmove := start - r.idx","\tif move \u003e 0 {","\t\tr.w.Write([]byte(string(r.buf[r.idx : r.idx+move])))","\t} else {","\t\tr.w.Write(bytes.Repeat([]byte(\"\\b\"), r.calWidth(move)))","\t}","\tr.w.Write([]byte(\"\\033[\" + style + \"m\"))","\tr.w.Write([]byte(string(r.buf[start:end])))","\tr.w.Write([]byte(\"\\033[0m\"))","\t// TODO: move back","}","","func (r *RuneBuffer) SetWithIdx(idx int, buf []rune) {","\tr.Refresh(func() {","\t\tr.buf = buf","\t\tr.idx = idx","\t})","}","","func (r *RuneBuffer) Set(buf []rune) {","\tr.SetWithIdx(len(buf), buf)","}","","func (r *RuneBuffer) SetPrompt(prompt string) {","\tr.Lock()","\tr.prompt = []rune(prompt)","\tr.Unlock()","}","","func (r *RuneBuffer) cleanOutput(w io.Writer, idxLine int) {","\tbuf := bufio.NewWriter(w)","","\tif r.width == 0 {","\t\tbuf.WriteString(strings.Repeat(\"\\r\\b\", len(r.buf)+r.promptLen()))","\t\tbuf.Write([]byte(\"\\033[J\"))","\t} else {","\t\tbuf.Write([]byte(\"\\033[J\")) // just like ^k :)","\t\tif idxLine == 0 {","\t\t\tbuf.WriteString(\"\\033[2K\")","\t\t\tbuf.WriteString(\"\\r\")","\t\t} else {","\t\t\tfor i := 0; i \u003c idxLine; i++ {","\t\t\t\tio.WriteString(buf, \"\\033[2K\\r\\033[A\")","\t\t\t}","\t\t\tio.WriteString(buf, \"\\033[2K\\r\")","\t\t}","\t}","\tbuf.Flush()","\treturn","}","","func (r *RuneBuffer) Clean() {","\tr.Lock()","\tr.clean()","\tr.Unlock()","}","","func (r *RuneBuffer) clean() {","\tr.cleanWithIdxLine(r.idxLine(r.width))","}","","func (r *RuneBuffer) cleanWithIdxLine(idxLine int) {","\tif r.hadClean || !r.interactive {","\t\treturn","\t}","\tr.hadClean = true","\tr.cleanOutput(r.w, idxLine)","}"],"stylingDirectives":[[{"s":0,"e":7,"c":"pl-k"}],[],[{"s":0,"e":6,"c":"pl-k"}],[{"s":1,"e":8,"c":"pl-s"}],[{"s":1,"e":8,"c":"pl-s"}],[{"s":1,"e":5,"c":"pl-s"}],[{"s":1,"e":10,"c":"pl-s"}],[{"s":1,"e":10,"c":"pl-s"}],[{"s":1,"e":7,"c":"pl-s"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":5,"e":18,"c":"pl-smi"},{"s":19,"e":25,"c":"pl-k"}],[{"s":1,"e":4,"c":"pl-c1"},{"s":7,"e":11,"c":"pl-smi"}],[{"s":1,"e":4,"c":"pl-c1"},{"s":5,"e":8,"c":"pl-smi"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":5,"e":15,"c":"pl-smi"},{"s":16,"e":22,"c":"pl-k"}],[{"s":1,"e":4,"c":"pl-c1"},{"s":10,"e":14,"c":"pl-smi"}],[{"s":1,"e":4,"c":"pl-c1"},{"s":8,"e":11,"c":"pl-smi"}],[{"s":1,"e":7,"c":"pl-c1"},{"s":10,"e":14,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-c1"},{"s":11,"e":17,"c":"pl-smi"}],[],[{"s":1,"e":9,"c":"pl-c1"},{"s":13,"e":17,"c":"pl-smi"}],[{"s":1,"e":12,"c":"pl-c1"},{"s":13,"e":17,"c":"pl-smi"}],[{"s":1,"e":4,"c":"pl-c1"},{"s":13,"e":14,"c":"pl-c1"},{"s":14,"e":20,"c":"pl-smi"}],[],[{"s":1,"e":6,"c":"pl-c1"},{"s":7,"e":10,"c":"pl-smi"}],[],[{"s":1,"e":4,"c":"pl-c1"},{"s":5,"e":6,"c":"pl-c1"},{"s":6,"e":19,"c":"pl-smi"}],[],[{"s":1,"e":7,"c":"pl-c1"},{"s":8,"e":14,"c":"pl-smi"}],[],[{"s":1,"e":9,"c":"pl-c1"},{"s":12,"e":16,"c":"pl-smi"}],[],[{"s":6,"e":11,"c":"pl-smi"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":29,"c":"pl-en"},{"s":30,"e":34,"c":"pl-s1"},{"s":37,"e":41,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":11,"c":"pl-c1"},{"s":12,"e":13,"c":"pl-c1"},{"s":14,"e":20,"c":"pl-en"},{"s":23,"e":27,"c":"pl-smi"},{"s":31,"e":35,"c":"pl-s1"},{"s":35,"e":38,"c":"pl-c1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":34,"c":"pl-en"},{"s":35,"e":43,"c":"pl-s1"},{"s":44,"e":47,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":8,"c":"pl-c1"},{"s":9,"e":10,"c":"pl-c1"},{"s":11,"e":19,"c":"pl-s1"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":9,"c":"pl-en"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":27,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":6,"c":"pl-c1"},{"s":7,"e":8,"c":"pl-c1"},{"s":9,"e":10,"c":"pl-c1"},{"s":10,"e":23,"c":"pl-smi"},{"s":24,"e":25,"c":"pl-s1"},{"s":26,"e":29,"c":"pl-c1"},{"s":31,"e":32,"c":"pl-s1"},{"s":33,"e":36,"c":"pl-c1"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":9,"c":"pl-en"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":28,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":17,"c":"pl-c1"}],[{"s":3,"e":9,"c":"pl-k"}],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-s1"},{"s":12,"e":15,"c":"pl-c1"},{"s":16,"e":19,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-s1"},{"s":12,"e":15,"c":"pl-c1"},{"s":16,"e":19,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":5,"e":18,"c":"pl-en"},{"s":19,"e":20,"c":"pl-s1"},{"s":24,"e":30,"c":"pl-smi"},{"s":32,"e":38,"c":"pl-s1"},{"s":39,"e":45,"c":"pl-smi"},{"s":47,"e":50,"c":"pl-s1"},{"s":51,"e":52,"c":"pl-c1"},{"s":52,"e":58,"c":"pl-smi"},{"s":60,"e":65,"c":"pl-s1"},{"s":66,"e":69,"c":"pl-smi"},{"s":71,"e":72,"c":"pl-c1"},{"s":72,"e":82,"c":"pl-smi"}],[{"s":1,"e":3,"c":"pl-s1"},{"s":4,"e":6,"c":"pl-c1"},{"s":7,"e":8,"c":"pl-c1"},{"s":8,"e":18,"c":"pl-smi"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":15,"e":16,"c":"pl-s1"}],[{"s":2,"e":13,"c":"pl-s1"},{"s":15,"e":18,"c":"pl-s1"},{"s":19,"e":33,"c":"pl-en"}],[{"s":2,"e":5,"c":"pl-s1"},{"s":15,"e":18,"c":"pl-s1"}],[{"s":2,"e":7,"c":"pl-s1"},{"s":15,"e":20,"c":"pl-s1"}],[],[{"s":1,"e":3,"c":"pl-s1"},{"s":4,"e":13,"c":"pl-en"},{"s":14,"e":20,"c":"pl-s1"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":10,"c":"pl-s1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":30,"c":"pl-en"},{"s":31,"e":34,"c":"pl-s1"},{"s":35,"e":36,"c":"pl-c1"},{"s":36,"e":42,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":6,"c":"pl-c1"},{"s":7,"e":8,"c":"pl-c1"},{"s":9,"e":12,"c":"pl-s1"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":14,"c":"pl-c1"},{"s":15,"e":16,"c":"pl-c1"},{"s":17,"e":20,"c":"pl-s1"},{"s":21,"e":35,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":9,"c":"pl-en"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":28,"c":"pl-en"},{"s":29,"e":30,"c":"pl-s1"},{"s":31,"e":35,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":6,"c":"pl-c1"},{"s":7,"e":15,"c":"pl-c1"},{"s":16,"e":17,"c":"pl-c1"},{"s":18,"e":19,"c":"pl-s1"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":9,"c":"pl-en"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":33,"c":"pl-en"},{"s":34,"e":35,"c":"pl-s1"},{"s":36,"e":39,"c":"pl-smi"},{"s":41,"e":44,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":15,"c":"pl-en"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":13,"c":"pl-s1"},{"s":14,"e":22,"c":"pl-en"},{"s":23,"e":24,"c":"pl-s1"},{"s":25,"e":28,"c":"pl-c1"},{"s":30,"e":31,"c":"pl-s1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":30,"c":"pl-en"},{"s":33,"e":36,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":6,"c":"pl-s1"},{"s":7,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-s1"},{"s":12,"e":21,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":9,"c":"pl-en"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":13,"c":"pl-s1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":30,"c":"pl-en"},{"s":33,"e":36,"c":"pl-smi"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":13,"c":"pl-s1"},{"s":14,"e":22,"c":"pl-en"},{"s":23,"e":28,"c":"pl-s1"},{"s":29,"e":40,"c":"pl-en"},{"s":41,"e":42,"c":"pl-s1"},{"s":43,"e":49,"c":"pl-c1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":30,"c":"pl-en"},{"s":31,"e":32,"c":"pl-s1"},{"s":33,"e":36,"c":"pl-smi"},{"s":40,"e":44,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":15,"c":"pl-en"}],[],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"}],[{"s":2,"e":4,"c":"pl-s1"},{"s":5,"e":7,"c":"pl-c1"},{"s":8,"e":12,"c":"pl-en"},{"s":15,"e":19,"c":"pl-smi"},{"s":21,"e":22,"c":"pl-s1"}],[{"s":2,"e":6,"c":"pl-en"},{"s":7,"e":9,"c":"pl-s1"},{"s":11,"e":12,"c":"pl-s1"},{"s":13,"e":16,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-s1"},{"s":19,"e":22,"c":"pl-c1"},{"s":23,"e":24,"c":"pl-s1"},{"s":25,"e":28,"c":"pl-c1"},{"s":28,"e":29,"c":"pl-c1"},{"s":29,"e":30,"c":"pl-s1"}],[{"s":2,"e":8,"c":"pl-k"},{"s":9,"e":11,"c":"pl-s1"}],[],[{"s":1,"e":3,"c":"pl-s1"},{"s":4,"e":6,"c":"pl-c1"},{"s":7,"e":11,"c":"pl-en"},{"s":14,"e":18,"c":"pl-smi"},{"s":20,"e":21,"c":"pl-c1"},{"s":21,"e":22,"c":"pl-s1"}],[{"s":1,"e":5,"c":"pl-en"},{"s":6,"e":8,"c":"pl-s1"},{"s":10,"e":11,"c":"pl-s1"},{"s":12,"e":15,"c":"pl-c1"},{"s":16,"e":17,"c":"pl-s1"},{"s":18,"e":21,"c":"pl-c1"},{"s":21,"e":22,"c":"pl-c1"},{"s":22,"e":23,"c":"pl-s1"},{"s":24,"e":25,"c":"pl-s1"},{"s":26,"e":29,"c":"pl-c1"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":10,"c":"pl-s1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":26,"c":"pl-en"},{"s":31,"e":35,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":5,"c":"pl-s1"},{"s":6,"e":8,"c":"pl-c1"},{"s":9,"e":13,"c":"pl-en"},{"s":16,"e":20,"c":"pl-smi"},{"s":22,"e":25,"c":"pl-en"},{"s":26,"e":27,"c":"pl-s1"},{"s":28,"e":31,"c":"pl-c1"}],[{"s":1,"e":5,"c":"pl-en"},{"s":6,"e":10,"c":"pl-s1"},{"s":12,"e":13,"c":"pl-s1"},{"s":14,"e":17,"c":"pl-c1"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":9,"c":"pl-en"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":12,"c":"pl-s1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":24,"c":"pl-en"},{"s":27,"e":30,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":15,"c":"pl-en"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":9,"c":"pl-s1"},{"s":10,"e":13,"c":"pl-c1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":24,"c":"pl-en"},{"s":27,"e":30,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":15,"c":"pl-en"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":11,"c":"pl-en"},{"s":12,"e":13,"c":"pl-s1"},{"s":14,"e":17,"c":"pl-c1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":36,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":15,"c":"pl-c1"}],[{"s":3,"e":9,"c":"pl-k"}],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":33,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":15,"c":"pl-c1"}],[{"s":3,"e":9,"c":"pl-k"}],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":7,"e":9,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":32,"c":"pl-en"},{"s":33,"e":34,"c":"pl-s1"},{"s":35,"e":41,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":13,"c":"pl-en"},{"s":16,"e":20,"c":"pl-smi"},{"s":21,"e":22,"c":"pl-s1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":30,"c":"pl-en"},{"s":31,"e":32,"c":"pl-s1"},{"s":33,"e":37,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":13,"c":"pl-en"},{"s":16,"e":20,"c":"pl-smi"},{"s":21,"e":22,"c":"pl-s1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":31,"c":"pl-en"},{"s":32,"e":33,"c":"pl-s1"},{"s":36,"e":40,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":6,"c":"pl-s1"},{"s":7,"e":9,"c":"pl-c1"},{"s":10,"e":16,"c":"pl-en"},{"s":17,"e":18,"c":"pl-s1"},{"s":20,"e":21,"c":"pl-s1"},{"s":22,"e":25,"c":"pl-c1"},{"s":26,"e":27,"c":"pl-s1"},{"s":28,"e":31,"c":"pl-c1"},{"s":33,"e":36,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":16,"c":"pl-en"},{"s":17,"e":18,"c":"pl-s1"},{"s":19,"e":22,"c":"pl-c1"},{"s":24,"e":25,"c":"pl-s1"},{"s":26,"e":29,"c":"pl-c1"},{"s":32,"e":36,"c":"pl-s1"},{"s":36,"e":39,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":10,"c":"pl-c1"},{"s":11,"e":14,"c":"pl-en"},{"s":15,"e":16,"c":"pl-s1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":32,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":17,"c":"pl-en"},{"s":18,"e":19,"c":"pl-s1"},{"s":20,"e":23,"c":"pl-c1"}],[{"s":3,"e":9,"c":"pl-k"}],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":7,"e":9,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":34,"c":"pl-en"},{"s":37,"e":41,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":15,"c":"pl-en"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":9,"c":"pl-s1"},{"s":10,"e":13,"c":"pl-c1"},{"s":14,"e":16,"c":"pl-c1"},{"s":17,"e":20,"c":"pl-en"},{"s":21,"e":22,"c":"pl-s1"},{"s":23,"e":26,"c":"pl-c1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":28,"c":"pl-en"},{"s":29,"e":31,"c":"pl-s1"},{"s":32,"e":36,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-s1"},{"s":10,"e":13,"c":"pl-c1"},{"s":15,"e":16,"c":"pl-c1"},{"s":17,"e":19,"c":"pl-s1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":26,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":12,"c":"pl-en"},{"s":13,"e":14,"c":"pl-s1"},{"s":15,"e":18,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-s1"},{"s":12,"e":15,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":27,"c":"pl-en"},{"s":31,"e":38,"c":"pl-s1"},{"s":39,"e":43,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":17,"c":"pl-en"},{"s":18,"e":19,"c":"pl-s1"},{"s":20,"e":23,"c":"pl-c1"}],[{"s":3,"e":9,"c":"pl-k"}],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":12,"c":"pl-en"},{"s":13,"e":14,"c":"pl-s1"},{"s":15,"e":18,"c":"pl-c1"},{"s":19,"e":20,"c":"pl-s1"},{"s":21,"e":24,"c":"pl-c1"},{"s":27,"e":28,"c":"pl-s1"},{"s":29,"e":32,"c":"pl-c1"},{"s":32,"e":33,"c":"pl-c1"},{"s":33,"e":34,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":16,"c":"pl-en"},{"s":17,"e":18,"c":"pl-s1"},{"s":19,"e":22,"c":"pl-c1"},{"s":24,"e":25,"c":"pl-s1"},{"s":26,"e":29,"c":"pl-c1"},{"s":32,"e":33,"c":"pl-s1"},{"s":34,"e":37,"c":"pl-c1"},{"s":38,"e":39,"c":"pl-s1"},{"s":40,"e":43,"c":"pl-c1"},{"s":43,"e":44,"c":"pl-c1"},{"s":44,"e":45,"c":"pl-c1"},{"s":47,"e":50,"c":"pl-c1"}],[{"s":2,"e":9,"c":"pl-s1"},{"s":10,"e":11,"c":"pl-c1"},{"s":12,"e":16,"c":"pl-c1"}],[],[{"s":1,"e":7,"c":"pl-k"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":31,"c":"pl-en"}],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":9,"c":"pl-c1"},{"s":10,"e":12,"c":"pl-c1"},{"s":13,"e":16,"c":"pl-en"},{"s":17,"e":18,"c":"pl-s1"},{"s":19,"e":22,"c":"pl-c1"}],[{"s":2,"e":8,"c":"pl-k"}],[],[{"s":1,"e":5,"c":"pl-s1"},{"s":6,"e":8,"c":"pl-c1"},{"s":9,"e":10,"c":"pl-s1"},{"s":11,"e":14,"c":"pl-c1"}],[{"s":1,"e":4,"c":"pl-k"},{"s":5,"e":9,"c":"pl-s1"},{"s":10,"e":11,"c":"pl-c1"},{"s":12,"e":15,"c":"pl-en"},{"s":16,"e":17,"c":"pl-s1"},{"s":18,"e":21,"c":"pl-c1"},{"s":23,"e":25,"c":"pl-c1"},{"s":26,"e":37,"c":"pl-en"},{"s":38,"e":39,"c":"pl-s1"},{"s":40,"e":43,"c":"pl-c1"},{"s":44,"e":48,"c":"pl-s1"}],[{"s":2,"e":6,"c":"pl-s1"},{"s":6,"e":8,"c":"pl-c1"}],[],[{"s":1,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":9,"c":"pl-c1"},{"s":10,"e":14,"c":"pl-s1"},{"s":15,"e":16,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-c1"},{"s":20,"e":21,"c":"pl-s1"},{"s":22,"e":23,"c":"pl-c1"},{"s":24,"e":27,"c":"pl-en"},{"s":28,"e":29,"c":"pl-s1"},{"s":30,"e":33,"c":"pl-c1"},{"s":36,"e":37,"c":"pl-s1"},{"s":37,"e":39,"c":"pl-c1"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-c1"},{"s":6,"e":17,"c":"pl-en"},{"s":18,"e":19,"c":"pl-s1"},{"s":20,"e":23,"c":"pl-c1"},{"s":24,"e":25,"c":"pl-s1"},{"s":28,"e":30,"c":"pl-c1"},{"s":31,"e":42,"c":"pl-en"},{"s":43,"e":44,"c":"pl-s1"},{"s":45,"e":48,"c":"pl-c1"},{"s":49,"e":50,"c":"pl-s1"},{"s":50,"e":51,"c":"pl-c1"},{"s":51,"e":52,"c":"pl-c1"}],[{"s":3,"e":4,"c":"pl-s1"},{"s":5,"e":13,"c":"pl-en"},{"s":14,"e":15,"c":"pl-s1"},{"s":16,"e":19,"c":"pl-c1"},{"s":20,"e":21,"c":"pl-s1"},{"s":22,"e":25,"c":"pl-c1"},{"s":28,"e":29,"c":"pl-s1"},{"s":29,"e":30,"c":"pl-c1"},{"s":30,"e":31,"c":"pl-c1"}],[{"s":3,"e":4,"c":"pl-s1"},{"s":5,"e":12,"c":"pl-en"},{"s":13,"e":17,"c":"pl-k"}],[{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"},{"s":12,"e":18,"c":"pl-en"},{"s":19,"e":20,"c":"pl-s1"},{"s":21,"e":24,"c":"pl-c1"},{"s":26,"e":27,"c":"pl-s1"},{"s":28,"e":31,"c":"pl-c1"},{"s":34,"e":35,"c":"pl-s1"},{"s":36,"e":39,"c":"pl-c1"},{"s":40,"e":41,"c":"pl-s1"},{"s":41,"e":42,"c":"pl-c1"},{"s":42,"e":43,"c":"pl-c1"},{"s":45,"e":48,"c":"pl-c1"}],[],[{"s":3,"e":9,"c":"pl-k"}],[],[],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":35,"c":"pl-en"},{"s":39,"e":46,"c":"pl-s1"},{"s":47,"e":51,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":15,"c":"pl-c1"}],[{"s":3,"e":9,"c":"pl-k"}],[],[],[{"s":2,"e":5,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-s1"},{"s":13,"e":16,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-c1"},{"s":19,"e":20,"c":"pl-c1"},{"s":22,"e":23,"c":"pl-s1"},{"s":24,"e":25,"c":"pl-c1"},{"s":26,"e":27,"c":"pl-c1"},{"s":29,"e":30,"c":"pl-s1"},{"s":30,"e":32,"c":"pl-c1"}],[{"s":3,"e":5,"c":"pl-k"},{"s":6,"e":7,"c":"pl-c1"},{"s":7,"e":18,"c":"pl-en"},{"s":19,"e":20,"c":"pl-s1"},{"s":21,"e":24,"c":"pl-c1"},{"s":25,"e":26,"c":"pl-s1"},{"s":29,"e":31,"c":"pl-c1"},{"s":32,"e":43,"c":"pl-en"},{"s":44,"e":45,"c":"pl-s1"},{"s":46,"e":49,"c":"pl-c1"},{"s":50,"e":51,"c":"pl-s1"},{"s":51,"e":52,"c":"pl-c1"},{"s":52,"e":53,"c":"pl-c1"}],[{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"},{"s":12,"e":13,"c":"pl-s1"}],[{"s":4,"e":11,"c":"pl-s1"},{"s":12,"e":13,"c":"pl-c1"},{"s":14,"e":18,"c":"pl-c1"}],[{"s":4,"e":10,"c":"pl-k"}],[],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"}],[{"s":2,"e":9,"c":"pl-s1"},{"s":10,"e":11,"c":"pl-c1"},{"s":12,"e":16,"c":"pl-c1"}],[],[{"s":1,"e":7,"c":"pl-k"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":30,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":15,"c":"pl-c1"}],[{"s":3,"e":9,"c":"pl-k"}],[],[],[{"s":2,"e":8,"c":"pl-s1"},{"s":9,"e":11,"c":"pl-c1"},{"s":12,"e":15,"c":"pl-en"},{"s":16,"e":17,"c":"pl-s1"},{"s":18,"e":21,"c":"pl-c1"},{"s":23,"e":24,"c":"pl-c1"},{"s":25,"e":26,"c":"pl-s1"},{"s":27,"e":30,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":12,"c":"pl-en"},{"s":13,"e":14,"c":"pl-s1"},{"s":15,"e":18,"c":"pl-c1"},{"s":20,"e":21,"c":"pl-s1"},{"s":22,"e":25,"c":"pl-c1"}],[{"s":2,"e":6,"c":"pl-en"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":12,"c":"pl-c1"},{"s":14,"e":20,"c":"pl-s1"},{"s":23,"e":24,"c":"pl-s1"},{"s":25,"e":28,"c":"pl-c1"},{"s":29,"e":30,"c":"pl-s1"},{"s":31,"e":34,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-s1"},{"s":12,"e":15,"c":"pl-c1"},{"s":17,"e":23,"c":"pl-s1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":25,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":12,"c":"pl-en"},{"s":13,"e":14,"c":"pl-s1"},{"s":15,"e":18,"c":"pl-c1"},{"s":19,"e":20,"c":"pl-s1"},{"s":21,"e":24,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-s1"},{"s":12,"e":15,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-s1"},{"s":19,"e":22,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":30,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":8,"c":"pl-en"},{"s":9,"e":10,"c":"pl-s1"},{"s":11,"e":14,"c":"pl-c1"},{"s":16,"e":18,"c":"pl-c1"},{"s":19,"e":20,"c":"pl-c1"}],[{"s":3,"e":4,"c":"pl-s1"},{"s":5,"e":8,"c":"pl-c1"},{"s":8,"e":10,"c":"pl-c1"}],[],[],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":8,"c":"pl-en"},{"s":9,"e":10,"c":"pl-s1"},{"s":11,"e":14,"c":"pl-c1"},{"s":16,"e":17,"c":"pl-c1"},{"s":18,"e":19,"c":"pl-c1"}],[{"s":3,"e":9,"c":"pl-k"}],[],[],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":15,"c":"pl-c1"}],[{"s":3,"e":4,"c":"pl-s1"},{"s":5,"e":8,"c":"pl-c1"},{"s":9,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"}],[{"s":4,"e":8,"c":"pl-k"},{"s":9,"e":11,"c":"pl-k"},{"s":12,"e":13,"c":"pl-s1"},{"s":14,"e":17,"c":"pl-c1"},{"s":18,"e":20,"c":"pl-c1"},{"s":21,"e":24,"c":"pl-en"},{"s":25,"e":26,"c":"pl-s1"},{"s":27,"e":30,"c":"pl-c1"}],[{"s":3,"e":4,"c":"pl-s1"},{"s":5,"e":8,"c":"pl-c1"},{"s":9,"e":10,"c":"pl-c1"},{"s":11,"e":14,"c":"pl-en"},{"s":15,"e":16,"c":"pl-s1"},{"s":17,"e":20,"c":"pl-c1"},{"s":22,"e":23,"c":"pl-c1"},{"s":24,"e":25,"c":"pl-c1"}],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-s1"},{"s":10,"e":13,"c":"pl-c1"},{"s":16,"e":17,"c":"pl-s1"},{"s":18,"e":21,"c":"pl-c1"},{"s":22,"e":23,"c":"pl-s1"},{"s":24,"e":27,"c":"pl-c1"},{"s":27,"e":28,"c":"pl-c1"},{"s":28,"e":29,"c":"pl-c1"},{"s":31,"e":32,"c":"pl-c1"},{"s":33,"e":34,"c":"pl-s1"},{"s":35,"e":38,"c":"pl-c1"},{"s":39,"e":40,"c":"pl-s1"},{"s":41,"e":44,"c":"pl-c1"},{"s":44,"e":45,"c":"pl-c1"},{"s":45,"e":46,"c":"pl-c1"},{"s":49,"e":50,"c":"pl-s1"},{"s":51,"e":54,"c":"pl-c1"},{"s":55,"e":56,"c":"pl-s1"},{"s":57,"e":60,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":7,"e":9,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":35,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":5,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-s1"},{"s":13,"e":16,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-c1"},{"s":19,"e":20,"c":"pl-c1"},{"s":22,"e":23,"c":"pl-s1"},{"s":24,"e":25,"c":"pl-c1"},{"s":26,"e":29,"c":"pl-en"},{"s":30,"e":31,"c":"pl-s1"},{"s":32,"e":35,"c":"pl-c1"},{"s":38,"e":39,"c":"pl-s1"},{"s":39,"e":41,"c":"pl-c1"}],[{"s":3,"e":5,"c":"pl-k"},{"s":6,"e":7,"c":"pl-c1"},{"s":7,"e":18,"c":"pl-en"},{"s":19,"e":20,"c":"pl-s1"},{"s":21,"e":24,"c":"pl-c1"},{"s":25,"e":26,"c":"pl-s1"},{"s":29,"e":31,"c":"pl-c1"},{"s":32,"e":43,"c":"pl-en"},{"s":44,"e":45,"c":"pl-s1"},{"s":46,"e":49,"c":"pl-c1"},{"s":50,"e":51,"c":"pl-s1"},{"s":51,"e":52,"c":"pl-c1"},{"s":52,"e":53,"c":"pl-c1"}],[{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"},{"s":12,"e":13,"c":"pl-s1"}],[{"s":4,"e":10,"c":"pl-k"}],[],[],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":13,"c":"pl-en"},{"s":14,"e":15,"c":"pl-s1"},{"s":16,"e":19,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":34,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":38,"c":"pl-c"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":17,"c":"pl-en"},{"s":18,"e":19,"c":"pl-s1"},{"s":20,"e":23,"c":"pl-c1"}],[{"s":3,"e":9,"c":"pl-k"}],[],[{"s":2,"e":55,"c":"pl-c"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-c1"},{"s":6,"e":17,"c":"pl-en"},{"s":18,"e":19,"c":"pl-s1"},{"s":20,"e":23,"c":"pl-c1"},{"s":24,"e":25,"c":"pl-s1"},{"s":26,"e":29,"c":"pl-c1"},{"s":32,"e":34,"c":"pl-c1"},{"s":35,"e":46,"c":"pl-en"},{"s":47,"e":48,"c":"pl-s1"},{"s":49,"e":52,"c":"pl-c1"},{"s":53,"e":54,"c":"pl-s1"},{"s":55,"e":58,"c":"pl-c1"},{"s":58,"e":59,"c":"pl-c1"},{"s":59,"e":60,"c":"pl-c1"}],[{"s":3,"e":4,"c":"pl-s1"},{"s":5,"e":8,"c":"pl-c1"},{"s":8,"e":10,"c":"pl-c1"}],[],[],[{"s":2,"e":42,"c":"pl-c"}],[{"s":2,"e":5,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-s1"},{"s":13,"e":16,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-c1"},{"s":19,"e":20,"c":"pl-c1"},{"s":22,"e":23,"c":"pl-s1"},{"s":24,"e":25,"c":"pl-c1"},{"s":26,"e":29,"c":"pl-en"},{"s":30,"e":31,"c":"pl-s1"},{"s":32,"e":35,"c":"pl-c1"},{"s":38,"e":39,"c":"pl-s1"},{"s":39,"e":41,"c":"pl-c1"}],[{"s":3,"e":5,"c":"pl-k"},{"s":6,"e":17,"c":"pl-en"},{"s":18,"e":19,"c":"pl-s1"},{"s":20,"e":23,"c":"pl-c1"},{"s":24,"e":25,"c":"pl-s1"},{"s":28,"e":30,"c":"pl-c1"},{"s":31,"e":32,"c":"pl-c1"},{"s":32,"e":43,"c":"pl-en"},{"s":44,"e":45,"c":"pl-s1"},{"s":46,"e":49,"c":"pl-c1"},{"s":50,"e":51,"c":"pl-s1"},{"s":51,"e":52,"c":"pl-c1"},{"s":52,"e":53,"c":"pl-c1"}],[{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"},{"s":12,"e":13,"c":"pl-s1"},{"s":14,"e":15,"c":"pl-c1"},{"s":16,"e":17,"c":"pl-c1"}],[{"s":4,"e":10,"c":"pl-k"}],[],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":13,"c":"pl-en"},{"s":14,"e":15,"c":"pl-s1"},{"s":16,"e":19,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":35,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":15,"c":"pl-c1"}],[{"s":3,"e":9,"c":"pl-k"}],[],[{"s":2,"e":5,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-s1"},{"s":13,"e":16,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-c1"},{"s":19,"e":20,"c":"pl-c1"},{"s":22,"e":23,"c":"pl-s1"},{"s":24,"e":25,"c":"pl-c1"},{"s":26,"e":27,"c":"pl-c1"},{"s":29,"e":30,"c":"pl-s1"},{"s":30,"e":32,"c":"pl-c1"}],[{"s":3,"e":5,"c":"pl-k"},{"s":6,"e":7,"c":"pl-c1"},{"s":7,"e":18,"c":"pl-en"},{"s":19,"e":20,"c":"pl-s1"},{"s":21,"e":24,"c":"pl-c1"},{"s":25,"e":26,"c":"pl-s1"},{"s":29,"e":31,"c":"pl-c1"},{"s":32,"e":43,"c":"pl-en"},{"s":44,"e":45,"c":"pl-s1"},{"s":46,"e":49,"c":"pl-c1"},{"s":50,"e":51,"c":"pl-s1"},{"s":51,"e":52,"c":"pl-c1"},{"s":52,"e":53,"c":"pl-c1"}],[{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":14,"c":"pl-en"},{"s":15,"e":16,"c":"pl-s1"},{"s":17,"e":20,"c":"pl-c1"},{"s":21,"e":22,"c":"pl-s1"},{"s":23,"e":24,"c":"pl-s1"},{"s":25,"e":28,"c":"pl-c1"}],[{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"},{"s":12,"e":18,"c":"pl-en"},{"s":19,"e":20,"c":"pl-s1"},{"s":21,"e":24,"c":"pl-c1"},{"s":26,"e":27,"c":"pl-s1"},{"s":30,"e":31,"c":"pl-s1"},{"s":32,"e":35,"c":"pl-c1"},{"s":36,"e":37,"c":"pl-s1"},{"s":38,"e":41,"c":"pl-c1"},{"s":43,"e":46,"c":"pl-c1"}],[{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"},{"s":12,"e":13,"c":"pl-s1"}],[{"s":4,"e":10,"c":"pl-k"}],[],[],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-s1"},{"s":12,"e":15,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":25,"c":"pl-en"}],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":7,"c":"pl-en"},{"s":8,"e":9,"c":"pl-s1"},{"s":10,"e":18,"c":"pl-c1"},{"s":20,"e":22,"c":"pl-c1"},{"s":23,"e":24,"c":"pl-c1"}],[{"s":2,"e":8,"c":"pl-k"}],[],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":5,"c":"pl-s1"},{"s":6,"e":8,"c":"pl-c1"},{"s":9,"e":13,"c":"pl-en"},{"s":16,"e":20,"c":"pl-smi"},{"s":22,"e":23,"c":"pl-c1"},{"s":25,"e":28,"c":"pl-en"},{"s":29,"e":30,"c":"pl-s1"},{"s":31,"e":34,"c":"pl-c1"},{"s":35,"e":36,"c":"pl-c1"},{"s":36,"e":39,"c":"pl-en"},{"s":40,"e":41,"c":"pl-s1"},{"s":42,"e":50,"c":"pl-c1"}],[{"s":2,"e":5,"c":"pl-s1"},{"s":6,"e":7,"c":"pl-c1"},{"s":8,"e":14,"c":"pl-en"},{"s":15,"e":18,"c":"pl-s1"},{"s":20,"e":21,"c":"pl-s1"},{"s":22,"e":25,"c":"pl-c1"},{"s":27,"e":28,"c":"pl-s1"},{"s":29,"e":32,"c":"pl-c1"},{"s":33,"e":36,"c":"pl-c1"}],[{"s":2,"e":5,"c":"pl-s1"},{"s":6,"e":7,"c":"pl-c1"},{"s":8,"e":14,"c":"pl-en"},{"s":15,"e":18,"c":"pl-s1"},{"s":20,"e":21,"c":"pl-s1"},{"s":22,"e":30,"c":"pl-c1"},{"s":30,"e":33,"c":"pl-c1"}],[{"s":2,"e":5,"c":"pl-s1"},{"s":6,"e":7,"c":"pl-c1"},{"s":8,"e":14,"c":"pl-en"},{"s":15,"e":18,"c":"pl-s1"},{"s":20,"e":21,"c":"pl-s1"},{"s":22,"e":25,"c":"pl-c1"},{"s":26,"e":27,"c":"pl-s1"},{"s":28,"e":31,"c":"pl-c1"},{"s":33,"e":36,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":13,"c":"pl-s1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":10,"c":"pl-c1"},{"s":11,"e":14,"c":"pl-en"},{"s":15,"e":16,"c":"pl-s1"},{"s":17,"e":25,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":30,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":15,"c":"pl-c1"}],[{"s":3,"e":9,"c":"pl-k"}],[],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":7,"e":9,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":16,"c":"pl-en"},{"s":17,"e":18,"c":"pl-s1"},{"s":19,"e":22,"c":"pl-c1"},{"s":24,"e":25,"c":"pl-s1"},{"s":26,"e":29,"c":"pl-c1"},{"s":32,"e":33,"c":"pl-s1"},{"s":34,"e":37,"c":"pl-c1"},{"s":38,"e":39,"c":"pl-s1"},{"s":40,"e":43,"c":"pl-c1"},{"s":43,"e":44,"c":"pl-c1"},{"s":44,"e":45,"c":"pl-c1"},{"s":47,"e":50,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":34,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":17,"c":"pl-en"},{"s":18,"e":19,"c":"pl-s1"},{"s":20,"e":23,"c":"pl-c1"}],[{"s":3,"e":9,"c":"pl-k"}],[],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":13,"c":"pl-en"},{"s":14,"e":15,"c":"pl-s1"},{"s":16,"e":19,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":30,"c":"pl-en"},{"s":31,"e":36,"c":"pl-s1"},{"s":37,"e":40,"c":"pl-smi"},{"s":42,"e":45,"c":"pl-smi"}],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":9,"c":"pl-s1"},{"s":10,"e":12,"c":"pl-c1"},{"s":13,"e":14,"c":"pl-c1"},{"s":14,"e":15,"c":"pl-c1"}],[{"s":2,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-s1"},{"s":12,"e":17,"c":"pl-c1"}],[],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":17,"c":"pl-en"},{"s":18,"e":23,"c":"pl-s1"}],[{"s":2,"e":7,"c":"pl-s1"},{"s":8,"e":16,"c":"pl-en"},{"s":17,"e":18,"c":"pl-s1"},{"s":19,"e":22,"c":"pl-c1"},{"s":23,"e":24,"c":"pl-c1"},{"s":24,"e":25,"c":"pl-s1"},{"s":26,"e":35,"c":"pl-en"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":27,"c":"pl-en"},{"s":28,"e":30,"c":"pl-s1"},{"s":31,"e":35,"c":"pl-smi"},{"s":37,"e":45,"c":"pl-s1"},{"s":47,"e":54,"c":"pl-s1"},{"s":55,"e":59,"c":"pl-smi"},{"s":62,"e":69,"c":"pl-s1"},{"s":70,"e":74,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":12,"c":"pl-s1"}],[{"s":3,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":11,"c":"pl-c1"},{"s":12,"e":13,"c":"pl-s1"},{"s":14,"e":17,"c":"pl-c1"},{"s":18,"e":19,"c":"pl-c1"},{"s":20,"e":21,"c":"pl-c1"},{"s":23,"e":24,"c":"pl-s1"},{"s":25,"e":27,"c":"pl-c1"},{"s":28,"e":29,"c":"pl-c1"},{"s":31,"e":32,"c":"pl-s1"},{"s":32,"e":34,"c":"pl-c1"}],[{"s":4,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":12,"c":"pl-c1"},{"s":13,"e":14,"c":"pl-s1"},{"s":16,"e":18,"c":"pl-c1"},{"s":19,"e":21,"c":"pl-s1"}],[{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":14,"c":"pl-s1"}],[{"s":5,"e":7,"c":"pl-k"},{"s":8,"e":16,"c":"pl-s1"}],[{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":11,"c":"pl-c1"},{"s":11,"e":13,"c":"pl-c1"}],[],[{"s":5,"e":12,"c":"pl-s1"},{"s":13,"e":14,"c":"pl-c1"},{"s":15,"e":19,"c":"pl-c1"}],[{"s":5,"e":11,"c":"pl-k"}],[],[],[{"s":3,"e":9,"c":"pl-k"}],[],[{"s":2,"e":5,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-s1"},{"s":13,"e":16,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-c1"},{"s":19,"e":20,"c":"pl-c1"},{"s":22,"e":23,"c":"pl-s1"},{"s":24,"e":25,"c":"pl-c1"},{"s":26,"e":29,"c":"pl-en"},{"s":30,"e":31,"c":"pl-s1"},{"s":32,"e":35,"c":"pl-c1"},{"s":38,"e":39,"c":"pl-s1"},{"s":39,"e":41,"c":"pl-c1"}],[{"s":3,"e":5,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":11,"c":"pl-c1"},{"s":12,"e":13,"c":"pl-s1"},{"s":15,"e":17,"c":"pl-c1"},{"s":18,"e":20,"c":"pl-s1"}],[{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"},{"s":12,"e":13,"c":"pl-s1"}],[{"s":4,"e":6,"c":"pl-k"},{"s":7,"e":15,"c":"pl-s1"}],[{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":10,"e":12,"c":"pl-c1"}],[],[{"s":4,"e":11,"c":"pl-s1"},{"s":12,"e":13,"c":"pl-c1"},{"s":14,"e":18,"c":"pl-c1"}],[{"s":4,"e":10,"c":"pl-k"}],[],[],[],[{"s":1,"e":7,"c":"pl-k"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":33,"c":"pl-en"},{"s":36,"e":40,"c":"pl-smi"}],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":13,"c":"pl-s1"}],[{"s":2,"e":8,"c":"pl-k"},{"s":9,"e":14,"c":"pl-c1"}],[],[{"s":1,"e":3,"c":"pl-s1"},{"s":4,"e":6,"c":"pl-c1"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":23,"c":"pl-en"},{"s":24,"e":25,"c":"pl-s1"},{"s":26,"e":29,"c":"pl-c1"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":11,"c":"pl-en"},{"s":12,"e":14,"c":"pl-s1"},{"s":15,"e":18,"c":"pl-en"},{"s":19,"e":21,"c":"pl-s1"},{"s":22,"e":23,"c":"pl-c1"},{"s":23,"e":24,"c":"pl-c1"},{"s":27,"e":29,"c":"pl-c1"},{"s":30,"e":31,"c":"pl-c1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":35,"c":"pl-en"},{"s":36,"e":38,"c":"pl-s1"},{"s":41,"e":45,"c":"pl-smi"},{"s":49,"e":55,"c":"pl-smi"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":19,"c":"pl-en"},{"s":20,"e":21,"c":"pl-s1"},{"s":22,"e":31,"c":"pl-en"},{"s":35,"e":36,"c":"pl-s1"},{"s":37,"e":42,"c":"pl-c1"},{"s":44,"e":46,"c":"pl-s1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":28,"c":"pl-en"},{"s":29,"e":34,"c":"pl-s1"},{"s":35,"e":38,"c":"pl-smi"},{"s":40,"e":43,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":15,"c":"pl-en"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":9,"c":"pl-s1"},{"s":10,"e":17,"c":"pl-en"},{"s":18,"e":23,"c":"pl-s1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":28,"c":"pl-en"},{"s":29,"e":34,"c":"pl-s1"},{"s":35,"e":38,"c":"pl-smi"},{"s":40,"e":43,"c":"pl-smi"}],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":9,"c":"pl-s1"},{"s":10,"e":12,"c":"pl-c1"},{"s":13,"e":14,"c":"pl-c1"}],[{"s":2,"e":8,"c":"pl-k"},{"s":9,"e":10,"c":"pl-c1"}],[],[{"s":1,"e":3,"c":"pl-s1"},{"s":4,"e":6,"c":"pl-c1"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":23,"c":"pl-en"},{"s":24,"e":25,"c":"pl-s1"},{"s":26,"e":29,"c":"pl-c1"},{"s":31,"e":32,"c":"pl-s1"},{"s":33,"e":36,"c":"pl-c1"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":11,"c":"pl-en"},{"s":12,"e":14,"c":"pl-s1"},{"s":16,"e":17,"c":"pl-c1"},{"s":18,"e":19,"c":"pl-c1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":36,"c":"pl-en"},{"s":39,"e":42,"c":"pl-smi"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":9,"c":"pl-s1"},{"s":10,"e":19,"c":"pl-en"},{"s":20,"e":21,"c":"pl-s1"},{"s":22,"e":27,"c":"pl-c1"},{"s":29,"e":30,"c":"pl-c1"},{"s":31,"e":32,"c":"pl-s1"},{"s":33,"e":40,"c":"pl-en"},{"s":41,"e":42,"c":"pl-s1"},{"s":43,"e":48,"c":"pl-c1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":28,"c":"pl-en"},{"s":29,"e":30,"c":"pl-s1"},{"s":31,"e":35,"c":"pl-k"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":15,"c":"pl-en"}],[],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":5,"c":"pl-c1"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":18,"c":"pl-c1"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":9,"c":"pl-c1"},{"s":10,"e":13,"c":"pl-c1"}],[{"s":3,"e":4,"c":"pl-en"}],[],[{"s":2,"e":8,"c":"pl-k"}],[],[],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":8,"c":"pl-en"}],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":8,"c":"pl-c1"},{"s":9,"e":12,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-en"}],[],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":8,"c":"pl-en"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":30,"c":"pl-en"},{"s":31,"e":37,"c":"pl-s1"},{"s":38,"e":44,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"},{"s":12,"e":18,"c":"pl-s1"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":9,"c":"pl-en"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":26,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":4,"c":"pl-c1"},{"s":5,"e":10,"c":"pl-en"},{"s":11,"e":12,"c":"pl-s1"},{"s":13,"e":19,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":11,"c":"pl-c1"},{"s":12,"e":13,"c":"pl-c1"},{"s":14,"e":19,"c":"pl-c1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":27,"c":"pl-en"},{"s":32,"e":36,"c":"pl-smi"}],[{"s":1,"e":4,"c":"pl-s1"},{"s":5,"e":7,"c":"pl-c1"},{"s":8,"e":13,"c":"pl-s1"},{"s":14,"e":23,"c":"pl-en"},{"s":24,"e":27,"c":"pl-c1"}],[{"s":1,"e":4,"c":"pl-s1"},{"s":5,"e":16,"c":"pl-en"},{"s":17,"e":23,"c":"pl-en"},{"s":24,"e":25,"c":"pl-s1"},{"s":26,"e":32,"c":"pl-c1"}],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":9,"c":"pl-c1"},{"s":10,"e":20,"c":"pl-c1"},{"s":21,"e":23,"c":"pl-c1"},{"s":24,"e":27,"c":"pl-en"},{"s":28,"e":29,"c":"pl-s1"},{"s":30,"e":33,"c":"pl-c1"},{"s":35,"e":36,"c":"pl-c1"},{"s":37,"e":38,"c":"pl-c1"}],[{"s":2,"e":5,"c":"pl-s1"},{"s":6,"e":11,"c":"pl-en"},{"s":14,"e":18,"c":"pl-smi"},{"s":19,"e":26,"c":"pl-s1"},{"s":27,"e":33,"c":"pl-en"},{"s":34,"e":40,"c":"pl-en"},{"s":41,"e":42,"c":"pl-s1"},{"s":43,"e":46,"c":"pl-c1"},{"s":47,"e":55,"c":"pl-c1"},{"s":58,"e":61,"c":"pl-en"},{"s":62,"e":63,"c":"pl-s1"},{"s":64,"e":67,"c":"pl-c1"},{"s":68,"e":69,"c":"pl-c1"},{"s":69,"e":70,"c":"pl-c1"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-c1"},{"s":11,"e":14,"c":"pl-en"},{"s":15,"e":16,"c":"pl-s1"},{"s":17,"e":20,"c":"pl-c1"},{"s":21,"e":22,"c":"pl-c1"},{"s":22,"e":23,"c":"pl-c1"},{"s":25,"e":27,"c":"pl-c1"},{"s":28,"e":32,"c":"pl-s"}],[{"s":3,"e":6,"c":"pl-s1"},{"s":7,"e":12,"c":"pl-en"},{"s":15,"e":19,"c":"pl-smi"},{"s":20,"e":24,"c":"pl-s"}],[{"s":4,"e":8,"c":"pl-k"}],[{"s":3,"e":6,"c":"pl-s1"},{"s":7,"e":12,"c":"pl-en"},{"s":15,"e":19,"c":"pl-smi"},{"s":20,"e":26,"c":"pl-en"},{"s":27,"e":28,"c":"pl-s1"},{"s":29,"e":32,"c":"pl-c1"},{"s":33,"e":41,"c":"pl-c1"}],[],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":8,"c":"pl-en"},{"s":9,"e":10,"c":"pl-s1"},{"s":11,"e":14,"c":"pl-c1"},{"s":16,"e":17,"c":"pl-c1"},{"s":18,"e":19,"c":"pl-s1"},{"s":20,"e":23,"c":"pl-c1"}],[{"s":3,"e":6,"c":"pl-s1"},{"s":7,"e":12,"c":"pl-en"},{"s":13,"e":14,"c":"pl-s1"},{"s":15,"e":35,"c":"pl-en"}],[],[],[{"s":3,"e":7,"c":"pl-k"}],[{"s":2,"e":5,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":9,"e":10,"c":"pl-s1"},{"s":11,"e":13,"c":"pl-c1"},{"s":14,"e":19,"c":"pl-k"},{"s":20,"e":21,"c":"pl-s1"},{"s":22,"e":25,"c":"pl-c1"},{"s":26,"e":33,"c":"pl-c1"},{"s":34,"e":39,"c":"pl-en"},{"s":40,"e":41,"c":"pl-s1"},{"s":42,"e":45,"c":"pl-c1"},{"s":47,"e":48,"c":"pl-s1"},{"s":49,"e":52,"c":"pl-c1"}],[{"s":3,"e":5,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":10,"c":"pl-c1"},{"s":11,"e":15,"c":"pl-s"}],[{"s":4,"e":7,"c":"pl-s1"},{"s":8,"e":19,"c":"pl-en"},{"s":20,"e":27,"c":"pl-s1"},{"s":28,"e":34,"c":"pl-en"},{"s":35,"e":38,"c":"pl-s"},{"s":40,"e":48,"c":"pl-s1"}],[{"s":5,"e":9,"c":"pl-k"}],[{"s":4,"e":7,"c":"pl-s1"},{"s":8,"e":17,"c":"pl-en"},{"s":18,"e":19,"c":"pl-s1"}],[],[],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":19,"c":"pl-en"}],[{"s":3,"e":6,"c":"pl-s1"},{"s":7,"e":12,"c":"pl-en"},{"s":15,"e":19,"c":"pl-smi"},{"s":20,"e":25,"c":"pl-s"},{"s":22,"e":24,"c":"pl-cce"}],[],[],[{"s":1,"e":19,"c":"pl-c"}],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":7,"c":"pl-en"},{"s":8,"e":9,"c":"pl-s1"},{"s":10,"e":13,"c":"pl-c1"},{"s":15,"e":16,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-s1"},{"s":19,"e":22,"c":"pl-c1"}],[{"s":2,"e":5,"c":"pl-s1"},{"s":6,"e":11,"c":"pl-en"},{"s":12,"e":13,"c":"pl-s1"},{"s":14,"e":34,"c":"pl-en"}],[],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":11,"c":"pl-s1"},{"s":12,"e":17,"c":"pl-en"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":41,"c":"pl-en"},{"s":46,"e":50,"c":"pl-smi"}],[{"s":1,"e":4,"c":"pl-k"},{"s":5,"e":8,"c":"pl-s1"},{"s":9,"e":10,"c":"pl-c1"},{"s":11,"e":14,"c":"pl-k"},{"s":15,"e":18,"c":"pl-smi"},{"s":19,"e":23,"c":"pl-smi"}],[],[{"s":1,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":10,"c":"pl-smi"}],[{"s":1,"e":4,"c":"pl-k"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":9,"c":"pl-c1"},{"s":10,"e":15,"c":"pl-s1"},{"s":16,"e":24,"c":"pl-en"},{"s":25,"e":26,"c":"pl-s1"},{"s":27,"e":30,"c":"pl-c1"}],[{"s":3,"e":8,"c":"pl-k"}],[],[],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"}],[{"s":3,"e":4,"c":"pl-s1"},{"s":5,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-s1"},{"s":10,"e":19,"c":"pl-en"}],[],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":6,"c":"pl-c1"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":14,"c":"pl-c1"}],[],[{"s":2,"e":5,"c":"pl-s1"},{"s":6,"e":7,"c":"pl-s1"},{"s":9,"e":10,"c":"pl-c1"},{"s":11,"e":15,"c":"pl-c1"}],[],[{"s":1,"e":4,"c":"pl-k"},{"s":5,"e":8,"c":"pl-s1"},{"s":11,"e":15,"c":"pl-smi"}],[{"s":1,"e":4,"c":"pl-k"},{"s":5,"e":6,"c":"pl-s1"},{"s":7,"e":9,"c":"pl-c1"},{"s":10,"e":13,"c":"pl-en"},{"s":14,"e":15,"c":"pl-s1"},{"s":16,"e":19,"c":"pl-c1"},{"s":22,"e":23,"c":"pl-s1"},{"s":24,"e":25,"c":"pl-c1"},{"s":26,"e":27,"c":"pl-s1"},{"s":28,"e":31,"c":"pl-c1"},{"s":33,"e":34,"c":"pl-s1"},{"s":34,"e":36,"c":"pl-c1"}],[{"s":2,"e":34,"c":"pl-c"}],[{"s":2,"e":5,"c":"pl-s1"},{"s":6,"e":7,"c":"pl-c1"},{"s":8,"e":14,"c":"pl-en"},{"s":15,"e":18,"c":"pl-s1"},{"s":20,"e":24,"c":"pl-s"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":8,"c":"pl-s1"},{"s":9,"e":10,"c":"pl-s1"}],[{"s":3,"e":89,"c":"pl-c"}],[{"s":3,"e":6,"c":"pl-s1"},{"s":7,"e":8,"c":"pl-c1"},{"s":9,"e":15,"c":"pl-en"},{"s":16,"e":19,"c":"pl-s1"},{"s":21,"e":31,"c":"pl-s"},{"s":22,"e":26,"c":"pl-cce"},{"s":28,"e":30,"c":"pl-cce"},{"s":31,"e":32,"c":"pl-c1"},{"s":32,"e":39,"c":"pl-s"},{"s":33,"e":37,"c":"pl-cce"},{"s":39,"e":40,"c":"pl-c1"},{"s":40,"e":47,"c":"pl-s1"},{"s":48,"e":52,"c":"pl-en"},{"s":53,"e":54,"c":"pl-s1"},{"s":55,"e":60,"c":"pl-c1"},{"s":61,"e":62,"c":"pl-c1"},{"s":62,"e":65,"c":"pl-s"},{"s":65,"e":68,"c":"pl-c1"}],[],[],[],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":11,"c":"pl-s1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":26,"c":"pl-en"},{"s":31,"e":35,"c":"pl-smi"}],[{"s":1,"e":4,"c":"pl-s1"},{"s":5,"e":7,"c":"pl-c1"},{"s":8,"e":13,"c":"pl-s1"},{"s":14,"e":18,"c":"pl-en"},{"s":19,"e":20,"c":"pl-s1"},{"s":21,"e":24,"c":"pl-c1"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":6,"c":"pl-c1"},{"s":7,"e":8,"c":"pl-c1"},{"s":9,"e":10,"c":"pl-s1"},{"s":11,"e":14,"c":"pl-c1"},{"s":16,"e":17,"c":"pl-c1"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":6,"c":"pl-c1"},{"s":7,"e":8,"c":"pl-c1"},{"s":9,"e":10,"c":"pl-c1"}],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":11,"c":"pl-s1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":29,"c":"pl-en"},{"s":30,"e":31,"c":"pl-s1"},{"s":32,"e":35,"c":"pl-smi"},{"s":37,"e":40,"c":"pl-smi"}],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"}],[{"s":2,"e":8,"c":"pl-k"},{"s":9,"e":14,"c":"pl-s1"},{"s":15,"e":23,"c":"pl-en"},{"s":24,"e":25,"c":"pl-s1"},{"s":26,"e":29,"c":"pl-c1"},{"s":30,"e":31,"c":"pl-s1"},{"s":32,"e":35,"c":"pl-c1"},{"s":38,"e":39,"c":"pl-s1"},{"s":40,"e":43,"c":"pl-c1"},{"s":43,"e":44,"c":"pl-c1"},{"s":44,"e":45,"c":"pl-s1"}],[],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":13,"c":"pl-s1"},{"s":14,"e":22,"c":"pl-en"},{"s":23,"e":24,"c":"pl-s1"},{"s":25,"e":28,"c":"pl-c1"},{"s":29,"e":30,"c":"pl-s1"},{"s":31,"e":34,"c":"pl-c1"},{"s":34,"e":35,"c":"pl-c1"},{"s":35,"e":36,"c":"pl-s1"},{"s":39,"e":40,"c":"pl-s1"},{"s":41,"e":44,"c":"pl-c1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":29,"c":"pl-en"},{"s":30,"e":35,"c":"pl-s1"},{"s":37,"e":40,"c":"pl-s1"},{"s":41,"e":44,"c":"pl-smi"},{"s":46,"e":51,"c":"pl-s1"},{"s":52,"e":58,"c":"pl-smi"}],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":15,"c":"pl-s1"}],[{"s":2,"e":7,"c":"pl-en"},{"s":8,"e":21,"c":"pl-s"}],[],[],[{"s":1,"e":14,"c":"pl-c"}],[{"s":1,"e":5,"c":"pl-s1"},{"s":6,"e":8,"c":"pl-c1"},{"s":9,"e":14,"c":"pl-s1"},{"s":15,"e":16,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-s1"},{"s":19,"e":22,"c":"pl-c1"}],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":8,"c":"pl-s1"},{"s":9,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":5,"c":"pl-c1"},{"s":6,"e":11,"c":"pl-en"},{"s":14,"e":18,"c":"pl-smi"},{"s":19,"e":25,"c":"pl-en"},{"s":26,"e":27,"c":"pl-s1"},{"s":28,"e":31,"c":"pl-c1"},{"s":32,"e":33,"c":"pl-s1"},{"s":34,"e":37,"c":"pl-c1"},{"s":40,"e":41,"c":"pl-s1"},{"s":42,"e":45,"c":"pl-c1"},{"s":45,"e":46,"c":"pl-c1"},{"s":46,"e":50,"c":"pl-s1"}],[{"s":3,"e":7,"c":"pl-k"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":5,"c":"pl-c1"},{"s":6,"e":11,"c":"pl-en"},{"s":12,"e":17,"c":"pl-s1"},{"s":18,"e":24,"c":"pl-en"},{"s":27,"e":31,"c":"pl-smi"},{"s":32,"e":36,"c":"pl-s"},{"s":33,"e":35,"c":"pl-cce"},{"s":39,"e":40,"c":"pl-s1"},{"s":41,"e":49,"c":"pl-en"},{"s":50,"e":54,"c":"pl-s1"}],[],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":4,"c":"pl-c1"},{"s":5,"e":10,"c":"pl-en"},{"s":13,"e":17,"c":"pl-smi"},{"s":18,"e":25,"c":"pl-s"},{"s":19,"e":23,"c":"pl-cce"},{"s":26,"e":27,"c":"pl-c1"},{"s":28,"e":33,"c":"pl-s1"},{"s":34,"e":35,"c":"pl-c1"},{"s":36,"e":39,"c":"pl-s"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":4,"c":"pl-c1"},{"s":5,"e":10,"c":"pl-en"},{"s":13,"e":17,"c":"pl-smi"},{"s":18,"e":24,"c":"pl-en"},{"s":25,"e":26,"c":"pl-s1"},{"s":27,"e":30,"c":"pl-c1"},{"s":31,"e":36,"c":"pl-s1"},{"s":37,"e":40,"c":"pl-s1"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":4,"c":"pl-c1"},{"s":5,"e":10,"c":"pl-en"},{"s":13,"e":17,"c":"pl-smi"},{"s":18,"e":27,"c":"pl-s"},{"s":19,"e":23,"c":"pl-cce"}],[{"s":1,"e":19,"c":"pl-c"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":31,"c":"pl-en"},{"s":32,"e":35,"c":"pl-s1"},{"s":36,"e":39,"c":"pl-smi"},{"s":41,"e":44,"c":"pl-s1"},{"s":47,"e":51,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":10,"c":"pl-en"},{"s":11,"e":15,"c":"pl-k"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":13,"c":"pl-s1"}],[{"s":2,"e":3,"c":"pl-s1"},{"s":4,"e":7,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-c1"},{"s":10,"e":13,"c":"pl-s1"}],[],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":24,"c":"pl-en"},{"s":25,"e":28,"c":"pl-s1"},{"s":31,"e":35,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":13,"c":"pl-en"},{"s":14,"e":17,"c":"pl-en"},{"s":18,"e":21,"c":"pl-s1"},{"s":24,"e":27,"c":"pl-s1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":30,"c":"pl-en"},{"s":31,"e":37,"c":"pl-s1"},{"s":38,"e":44,"c":"pl-smi"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-c1"},{"s":14,"e":18,"c":"pl-smi"},{"s":19,"e":25,"c":"pl-s1"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":9,"c":"pl-en"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":32,"c":"pl-en"},{"s":33,"e":34,"c":"pl-s1"},{"s":38,"e":44,"c":"pl-smi"},{"s":46,"e":53,"c":"pl-s1"},{"s":54,"e":57,"c":"pl-smi"}],[{"s":1,"e":4,"c":"pl-s1"},{"s":5,"e":7,"c":"pl-c1"},{"s":8,"e":13,"c":"pl-s1"},{"s":14,"e":23,"c":"pl-en"},{"s":24,"e":25,"c":"pl-s1"}],[],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":11,"c":"pl-c1"},{"s":12,"e":14,"c":"pl-c1"},{"s":15,"e":16,"c":"pl-c1"}],[{"s":2,"e":5,"c":"pl-s1"},{"s":6,"e":17,"c":"pl-en"},{"s":18,"e":25,"c":"pl-s1"},{"s":26,"e":32,"c":"pl-en"},{"s":33,"e":39,"c":"pl-s"},{"s":34,"e":36,"c":"pl-cce"},{"s":36,"e":38,"c":"pl-cce"},{"s":41,"e":44,"c":"pl-en"},{"s":45,"e":46,"c":"pl-s1"},{"s":47,"e":50,"c":"pl-c1"},{"s":51,"e":52,"c":"pl-c1"},{"s":52,"e":53,"c":"pl-s1"},{"s":54,"e":63,"c":"pl-en"}],[{"s":2,"e":5,"c":"pl-s1"},{"s":6,"e":11,"c":"pl-en"},{"s":14,"e":18,"c":"pl-smi"},{"s":19,"e":27,"c":"pl-s"},{"s":20,"e":24,"c":"pl-cce"}],[{"s":3,"e":7,"c":"pl-k"}],[{"s":2,"e":5,"c":"pl-s1"},{"s":6,"e":11,"c":"pl-en"},{"s":14,"e":18,"c":"pl-smi"},{"s":19,"e":27,"c":"pl-s"},{"s":20,"e":24,"c":"pl-cce"},{"s":30,"e":48,"c":"pl-c"}],[{"s":2,"e":4,"c":"pl-k"},{"s":5,"e":12,"c":"pl-s1"},{"s":13,"e":15,"c":"pl-c1"},{"s":16,"e":17,"c":"pl-c1"}],[{"s":3,"e":6,"c":"pl-s1"},{"s":7,"e":18,"c":"pl-en"},{"s":19,"e":28,"c":"pl-s"},{"s":20,"e":24,"c":"pl-cce"}],[{"s":3,"e":6,"c":"pl-s1"},{"s":7,"e":18,"c":"pl-en"},{"s":19,"e":23,"c":"pl-s"},{"s":20,"e":22,"c":"pl-cce"}],[{"s":4,"e":8,"c":"pl-k"}],[{"s":3,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":11,"c":"pl-c1"},{"s":12,"e":13,"c":"pl-c1"},{"s":15,"e":16,"c":"pl-s1"},{"s":17,"e":18,"c":"pl-c1"},{"s":19,"e":26,"c":"pl-s1"},{"s":28,"e":29,"c":"pl-s1"},{"s":29,"e":31,"c":"pl-c1"}],[{"s":4,"e":6,"c":"pl-s1"},{"s":7,"e":18,"c":"pl-en"},{"s":19,"e":22,"c":"pl-s1"},{"s":24,"e":41,"c":"pl-s"},{"s":25,"e":29,"c":"pl-cce"},{"s":32,"e":34,"c":"pl-cce"},{"s":34,"e":38,"c":"pl-cce"}],[],[{"s":3,"e":5,"c":"pl-s1"},{"s":6,"e":17,"c":"pl-en"},{"s":18,"e":21,"c":"pl-s1"},{"s":23,"e":34,"c":"pl-s"},{"s":24,"e":28,"c":"pl-cce"},{"s":31,"e":33,"c":"pl-cce"}],[],[],[{"s":1,"e":4,"c":"pl-s1"},{"s":5,"e":10,"c":"pl-en"}],[{"s":1,"e":7,"c":"pl-k"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":26,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":7,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":8,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":9,"c":"pl-en"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":26,"c":"pl-en"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":19,"c":"pl-en"},{"s":20,"e":21,"c":"pl-s1"},{"s":22,"e":29,"c":"pl-en"},{"s":30,"e":31,"c":"pl-s1"},{"s":32,"e":37,"c":"pl-c1"}],[],[],[{"s":0,"e":4,"c":"pl-k"},{"s":6,"e":7,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-c1"},{"s":9,"e":19,"c":"pl-smi"},{"s":21,"e":37,"c":"pl-en"},{"s":38,"e":45,"c":"pl-s1"},{"s":46,"e":49,"c":"pl-smi"}],[{"s":1,"e":3,"c":"pl-k"},{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":14,"c":"pl-c1"},{"s":15,"e":17,"c":"pl-c1"},{"s":18,"e":19,"c":"pl-c1"},{"s":19,"e":20,"c":"pl-s1"},{"s":21,"e":32,"c":"pl-c1"}],[{"s":2,"e":8,"c":"pl-k"}],[],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":11,"c":"pl-c1"},{"s":12,"e":13,"c":"pl-c1"},{"s":14,"e":18,"c":"pl-c1"}],[{"s":1,"e":2,"c":"pl-s1"},{"s":3,"e":14,"c":"pl-en"},{"s":15,"e":16,"c":"pl-s1"},{"s":17,"e":18,"c":"pl-c1"},{"s":20,"e":27,"c":"pl-s1"}],[]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/chzyer/readline/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"runebuf.go","displayUrl":"https://github.com/chzyer/readline/blob/v1.5.1/runebuf.go?raw=true","headerInfo":{"blobSize":"10.6 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":null,"isGitLfs":false,"onBranch":false,"shortPath":"d95df1e","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fchzyer%2Freadline%2Fblob%2Fv1.5.1%2Frunebuf.go","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"629","truncatedSloc":"543"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Go","languageID":132,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/chzyer/readline/blob/v1.5.1/runebuf.go","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/chzyer/readline/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/chzyer/readline/raw/refs/tags/v1.5.1/runebuf.go","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"runeBufferBck","kind":"class","ident_start":89,"ident_end":102,"extent_start":84,"extent_end":134,"fully_qualified_name":"runeBufferBck","ident_utf16":{"start":{"line_number":11,"utf16_col":5},"end":{"line_number":11,"utf16_col":18}},"extent_utf16":{"start":{"line_number":11,"utf16_col":0},"end":{"line_number":14,"utf16_col":1}}},{"name":"buf","kind":"field","ident_start":113,"ident_end":116,"extent_start":113,"extent_end":123,"fully_qualified_name":"runeBufferBck.buf","ident_utf16":{"start":{"line_number":12,"utf16_col":1},"end":{"line_number":12,"utf16_col":4}},"extent_utf16":{"start":{"line_number":12,"utf16_col":1},"end":{"line_number":12,"utf16_col":11}}},{"name":"idx","kind":"field","ident_start":125,"ident_end":128,"extent_start":125,"extent_end":132,"fully_qualified_name":"runeBufferBck.idx","ident_utf16":{"start":{"line_number":13,"utf16_col":1},"end":{"line_number":13,"utf16_col":4}},"extent_utf16":{"start":{"line_number":13,"utf16_col":1},"end":{"line_number":13,"utf16_col":8}}},{"name":"RuneBuffer","kind":"class","ident_start":141,"ident_end":151,"extent_start":136,"extent_end":360,"fully_qualified_name":"RuneBuffer","ident_utf16":{"start":{"line_number":16,"utf16_col":5},"end":{"line_number":16,"utf16_col":15}},"extent_utf16":{"start":{"line_number":16,"utf16_col":0},"end":{"line_number":35,"utf16_col":1}}},{"name":"buf","kind":"field","ident_start":162,"ident_end":165,"extent_start":162,"extent_end":175,"fully_qualified_name":"RuneBuffer.buf","ident_utf16":{"start":{"line_number":17,"utf16_col":1},"end":{"line_number":17,"utf16_col":4}},"extent_utf16":{"start":{"line_number":17,"utf16_col":1},"end":{"line_number":17,"utf16_col":14}}},{"name":"idx","kind":"field","ident_start":177,"ident_end":180,"extent_start":177,"extent_end":187,"fully_qualified_name":"RuneBuffer.idx","ident_utf16":{"start":{"line_number":18,"utf16_col":1},"end":{"line_number":18,"utf16_col":4}},"extent_utf16":{"start":{"line_number":18,"utf16_col":1},"end":{"line_number":18,"utf16_col":11}}},{"name":"prompt","kind":"field","ident_start":189,"ident_end":195,"extent_start":189,"extent_end":202,"fully_qualified_name":"RuneBuffer.prompt","ident_utf16":{"start":{"line_number":19,"utf16_col":1},"end":{"line_number":19,"utf16_col":7}},"extent_utf16":{"start":{"line_number":19,"utf16_col":1},"end":{"line_number":19,"utf16_col":14}}},{"name":"w","kind":"field","ident_start":204,"ident_end":205,"extent_start":204,"extent_end":220,"fully_qualified_name":"RuneBuffer.w","ident_utf16":{"start":{"line_number":20,"utf16_col":1},"end":{"line_number":20,"utf16_col":2}},"extent_utf16":{"start":{"line_number":20,"utf16_col":1},"end":{"line_number":20,"utf16_col":17}}},{"name":"hadClean","kind":"field","ident_start":223,"ident_end":231,"extent_start":223,"extent_end":239,"fully_qualified_name":"RuneBuffer.hadClean","ident_utf16":{"start":{"line_number":22,"utf16_col":1},"end":{"line_number":22,"utf16_col":9}},"extent_utf16":{"start":{"line_number":22,"utf16_col":1},"end":{"line_number":22,"utf16_col":17}}},{"name":"interactive","kind":"field","ident_start":241,"ident_end":252,"extent_start":241,"extent_end":257,"fully_qualified_name":"RuneBuffer.interactive","ident_utf16":{"start":{"line_number":23,"utf16_col":1},"end":{"line_number":23,"utf16_col":12}},"extent_utf16":{"start":{"line_number":23,"utf16_col":1},"end":{"line_number":23,"utf16_col":17}}},{"name":"cfg","kind":"field","ident_start":259,"ident_end":262,"extent_start":259,"extent_end":278,"fully_qualified_name":"RuneBuffer.cfg","ident_utf16":{"start":{"line_number":24,"utf16_col":1},"end":{"line_number":24,"utf16_col":4}},"extent_utf16":{"start":{"line_number":24,"utf16_col":1},"end":{"line_number":24,"utf16_col":20}}},{"name":"width","kind":"field","ident_start":281,"ident_end":286,"extent_start":281,"extent_end":290,"fully_qualified_name":"RuneBuffer.width","ident_utf16":{"start":{"line_number":26,"utf16_col":1},"end":{"line_number":26,"utf16_col":6}},"extent_utf16":{"start":{"line_number":26,"utf16_col":1},"end":{"line_number":26,"utf16_col":10}}},{"name":"bck","kind":"field","ident_start":293,"ident_end":296,"extent_start":293,"extent_end":311,"fully_qualified_name":"RuneBuffer.bck","ident_utf16":{"start":{"line_number":28,"utf16_col":1},"end":{"line_number":28,"utf16_col":4}},"extent_utf16":{"start":{"line_number":28,"utf16_col":1},"end":{"line_number":28,"utf16_col":19}}},{"name":"offset","kind":"field","ident_start":314,"ident_end":320,"extent_start":314,"extent_end":327,"fully_qualified_name":"RuneBuffer.offset","ident_utf16":{"start":{"line_number":30,"utf16_col":1},"end":{"line_number":30,"utf16_col":7}},"extent_utf16":{"start":{"line_number":30,"utf16_col":1},"end":{"line_number":30,"utf16_col":14}}},{"name":"lastKill","kind":"field","ident_start":330,"ident_end":338,"extent_start":330,"extent_end":345,"fully_qualified_name":"RuneBuffer.lastKill","ident_utf16":{"start":{"line_number":32,"utf16_col":1},"end":{"line_number":32,"utf16_col":9}},"extent_utf16":{"start":{"line_number":32,"utf16_col":1},"end":{"line_number":32,"utf16_col":16}}},{"name":"pushKill","kind":"method","ident_start":383,"ident_end":391,"extent_start":362,"extent_end":448,"fully_qualified_name":"RuneBuffer.pushKill","ident_utf16":{"start":{"line_number":37,"utf16_col":21},"end":{"line_number":37,"utf16_col":29}},"extent_utf16":{"start":{"line_number":37,"utf16_col":0},"end":{"line_number":39,"utf16_col":1}}},{"name":"OnWidthChange","kind":"method","ident_start":471,"ident_end":484,"extent_start":450,"extent_end":544,"fully_qualified_name":"RuneBuffer.OnWidthChange","ident_utf16":{"start":{"line_number":41,"utf16_col":21},"end":{"line_number":41,"utf16_col":34}},"extent_utf16":{"start":{"line_number":41,"utf16_col":0},"end":{"line_number":45,"utf16_col":1}}},{"name":"Backup","kind":"method","ident_start":567,"ident_end":573,"extent_start":546,"extent_end":639,"fully_qualified_name":"RuneBuffer.Backup","ident_utf16":{"start":{"line_number":47,"utf16_col":21},"end":{"line_number":47,"utf16_col":27}},"extent_utf16":{"start":{"line_number":47,"utf16_col":0},"end":{"line_number":51,"utf16_col":1}}},{"name":"Restore","kind":"method","ident_start":662,"ident_end":669,"extent_start":641,"extent_end":773,"fully_qualified_name":"RuneBuffer.Restore","ident_utf16":{"start":{"line_number":53,"utf16_col":21},"end":{"line_number":53,"utf16_col":28}},"extent_utf16":{"start":{"line_number":53,"utf16_col":0},"end":{"line_number":61,"utf16_col":1}}},{"name":"NewRuneBuffer","kind":"function","ident_start":780,"ident_end":793,"extent_start":775,"extent_end":1014,"fully_qualified_name":"NewRuneBuffer","ident_utf16":{"start":{"line_number":63,"utf16_col":5},"end":{"line_number":63,"utf16_col":18}},"extent_utf16":{"start":{"line_number":63,"utf16_col":0},"end":{"line_number":72,"utf16_col":1}}},{"name":"SetConfig","kind":"method","ident_start":1037,"ident_end":1046,"extent_start":1016,"extent_end":1136,"fully_qualified_name":"RuneBuffer.SetConfig","ident_utf16":{"start":{"line_number":74,"utf16_col":21},"end":{"line_number":74,"utf16_col":30}},"extent_utf16":{"start":{"line_number":74,"utf16_col":0},"end":{"line_number":79,"utf16_col":1}}},{"name":"SetMask","kind":"method","ident_start":1159,"ident_end":1166,"extent_start":1138,"extent_end":1220,"fully_qualified_name":"RuneBuffer.SetMask","ident_utf16":{"start":{"line_number":81,"utf16_col":21},"end":{"line_number":81,"utf16_col":28}},"extent_utf16":{"start":{"line_number":81,"utf16_col":0},"end":{"line_number":85,"utf16_col":1}}},{"name":"CurrentWidth","kind":"method","ident_start":1243,"ident_end":1255,"extent_start":1222,"extent_end":1332,"fully_qualified_name":"RuneBuffer.CurrentWidth","ident_utf16":{"start":{"line_number":87,"utf16_col":21},"end":{"line_number":87,"utf16_col":33}},"extent_utf16":{"start":{"line_number":87,"utf16_col":0},"end":{"line_number":91,"utf16_col":1}}},{"name":"PromptLen","kind":"method","ident_start":1355,"ident_end":1364,"extent_start":1334,"extent_end":1434,"fully_qualified_name":"RuneBuffer.PromptLen","ident_utf16":{"start":{"line_number":93,"utf16_col":21},"end":{"line_number":93,"utf16_col":30}},"extent_utf16":{"start":{"line_number":93,"utf16_col":0},"end":{"line_number":98,"utf16_col":1}}},{"name":"promptLen","kind":"method","ident_start":1457,"ident_end":1466,"extent_start":1436,"extent_end":1528,"fully_qualified_name":"RuneBuffer.promptLen","ident_utf16":{"start":{"line_number":100,"utf16_col":21},"end":{"line_number":100,"utf16_col":30}},"extent_utf16":{"start":{"line_number":100,"utf16_col":0},"end":{"line_number":102,"utf16_col":1}}},{"name":"RuneSlice","kind":"method","ident_start":1551,"ident_end":1560,"extent_start":1530,"extent_end":1758,"fully_qualified_name":"RuneBuffer.RuneSlice","ident_utf16":{"start":{"line_number":104,"utf16_col":21},"end":{"line_number":104,"utf16_col":30}},"extent_utf16":{"start":{"line_number":104,"utf16_col":0},"end":{"line_number":116,"utf16_col":1}}},{"name":"Runes","kind":"method","ident_start":1781,"ident_end":1786,"extent_start":1760,"extent_end":1887,"fully_qualified_name":"RuneBuffer.Runes","ident_utf16":{"start":{"line_number":118,"utf16_col":21},"end":{"line_number":118,"utf16_col":26}},"extent_utf16":{"start":{"line_number":118,"utf16_col":0},"end":{"line_number":124,"utf16_col":1}}},{"name":"Pos","kind":"method","ident_start":1910,"ident_end":1913,"extent_start":1889,"extent_end":1965,"fully_qualified_name":"RuneBuffer.Pos","ident_utf16":{"start":{"line_number":126,"utf16_col":21},"end":{"line_number":126,"utf16_col":24}},"extent_utf16":{"start":{"line_number":126,"utf16_col":0},"end":{"line_number":130,"utf16_col":1}}},{"name":"Len","kind":"method","ident_start":1988,"ident_end":1991,"extent_start":1967,"extent_end":2048,"fully_qualified_name":"RuneBuffer.Len","ident_utf16":{"start":{"line_number":132,"utf16_col":21},"end":{"line_number":132,"utf16_col":24}},"extent_utf16":{"start":{"line_number":132,"utf16_col":0},"end":{"line_number":136,"utf16_col":1}}},{"name":"MoveToLineStart","kind":"method","ident_start":2071,"ident_end":2086,"extent_start":2050,"extent_end":2160,"fully_qualified_name":"RuneBuffer.MoveToLineStart","ident_utf16":{"start":{"line_number":138,"utf16_col":21},"end":{"line_number":138,"utf16_col":36}},"extent_utf16":{"start":{"line_number":138,"utf16_col":0},"end":{"line_number":145,"utf16_col":1}}},{"name":"MoveBackward","kind":"method","ident_start":2183,"ident_end":2195,"extent_start":2162,"extent_end":2267,"fully_qualified_name":"RuneBuffer.MoveBackward","ident_utf16":{"start":{"line_number":147,"utf16_col":21},"end":{"line_number":147,"utf16_col":33}},"extent_utf16":{"start":{"line_number":147,"utf16_col":0},"end":{"line_number":154,"utf16_col":1}}},{"name":"WriteString","kind":"method","ident_start":2290,"ident_end":2301,"extent_start":2269,"extent_end":2340,"fully_qualified_name":"RuneBuffer.WriteString","ident_utf16":{"start":{"line_number":156,"utf16_col":21},"end":{"line_number":156,"utf16_col":32}},"extent_utf16":{"start":{"line_number":156,"utf16_col":0},"end":{"line_number":158,"utf16_col":1}}},{"name":"WriteRune","kind":"method","ident_start":2363,"ident_end":2372,"extent_start":2342,"extent_end":2409,"fully_qualified_name":"RuneBuffer.WriteRune","ident_utf16":{"start":{"line_number":160,"utf16_col":21},"end":{"line_number":160,"utf16_col":30}},"extent_utf16":{"start":{"line_number":160,"utf16_col":0},"end":{"line_number":162,"utf16_col":1}}},{"name":"WriteRunes","kind":"method","ident_start":2432,"ident_end":2442,"extent_start":2411,"extent_end":2577,"fully_qualified_name":"RuneBuffer.WriteRunes","ident_utf16":{"start":{"line_number":164,"utf16_col":21},"end":{"line_number":164,"utf16_col":31}},"extent_utf16":{"start":{"line_number":164,"utf16_col":0},"end":{"line_number":170,"utf16_col":1}}},{"name":"MoveForward","kind":"method","ident_start":2600,"ident_end":2611,"extent_start":2579,"extent_end":2692,"fully_qualified_name":"RuneBuffer.MoveForward","ident_utf16":{"start":{"line_number":172,"utf16_col":21},"end":{"line_number":172,"utf16_col":32}},"extent_utf16":{"start":{"line_number":172,"utf16_col":0},"end":{"line_number":179,"utf16_col":1}}},{"name":"IsCursorInEnd","kind":"method","ident_start":2715,"ident_end":2728,"extent_start":2694,"extent_end":2795,"fully_qualified_name":"RuneBuffer.IsCursorInEnd","ident_utf16":{"start":{"line_number":181,"utf16_col":21},"end":{"line_number":181,"utf16_col":34}},"extent_utf16":{"start":{"line_number":181,"utf16_col":0},"end":{"line_number":185,"utf16_col":1}}},{"name":"Replace","kind":"method","ident_start":2818,"ident_end":2825,"extent_start":2797,"extent_end":2882,"fully_qualified_name":"RuneBuffer.Replace","ident_utf16":{"start":{"line_number":187,"utf16_col":21},"end":{"line_number":187,"utf16_col":28}},"extent_utf16":{"start":{"line_number":187,"utf16_col":0},"end":{"line_number":191,"utf16_col":1}}},{"name":"Erase","kind":"method","ident_start":2905,"ident_end":2910,"extent_start":2884,"extent_end":2995,"fully_qualified_name":"RuneBuffer.Erase","ident_utf16":{"start":{"line_number":193,"utf16_col":21},"end":{"line_number":193,"utf16_col":26}},"extent_utf16":{"start":{"line_number":193,"utf16_col":0},"end":{"line_number":199,"utf16_col":1}}},{"name":"Delete","kind":"method","ident_start":3018,"ident_end":3024,"extent_start":2997,"extent_end":3224,"fully_qualified_name":"RuneBuffer.Delete","ident_utf16":{"start":{"line_number":201,"utf16_col":21},"end":{"line_number":201,"utf16_col":27}},"extent_utf16":{"start":{"line_number":201,"utf16_col":0},"end":{"line_number":211,"utf16_col":1}}},{"name":"DeleteWord","kind":"method","ident_start":3247,"ident_end":3257,"extent_start":3226,"extent_end":3619,"fully_qualified_name":"RuneBuffer.DeleteWord","ident_utf16":{"start":{"line_number":213,"utf16_col":21},"end":{"line_number":213,"utf16_col":31}},"extent_utf16":{"start":{"line_number":213,"utf16_col":0},"end":{"line_number":231,"utf16_col":1}}},{"name":"MoveToPrevWord","kind":"method","ident_start":3642,"ident_end":3656,"extent_start":3621,"extent_end":3917,"fully_qualified_name":"RuneBuffer.MoveToPrevWord","ident_utf16":{"start":{"line_number":233,"utf16_col":21},"end":{"line_number":233,"utf16_col":35}},"extent_utf16":{"start":{"line_number":233,"utf16_col":0},"end":{"line_number":250,"utf16_col":1}}},{"name":"KillFront","kind":"method","ident_start":3940,"ident_end":3949,"extent_start":3919,"extent_end":4146,"fully_qualified_name":"RuneBuffer.KillFront","ident_utf16":{"start":{"line_number":252,"utf16_col":21},"end":{"line_number":252,"utf16_col":30}},"extent_utf16":{"start":{"line_number":252,"utf16_col":0},"end":{"line_number":264,"utf16_col":1}}},{"name":"Kill","kind":"method","ident_start":4169,"ident_end":4173,"extent_start":4148,"extent_end":4255,"fully_qualified_name":"RuneBuffer.Kill","ident_utf16":{"start":{"line_number":266,"utf16_col":21},"end":{"line_number":266,"utf16_col":25}},"extent_utf16":{"start":{"line_number":266,"utf16_col":0},"end":{"line_number":271,"utf16_col":1}}},{"name":"Transpose","kind":"method","ident_start":4278,"ident_end":4287,"extent_start":4257,"extent_end":4560,"fully_qualified_name":"RuneBuffer.Transpose","ident_utf16":{"start":{"line_number":273,"utf16_col":21},"end":{"line_number":273,"utf16_col":30}},"extent_utf16":{"start":{"line_number":273,"utf16_col":0},"end":{"line_number":291,"utf16_col":1}}},{"name":"MoveToNextWord","kind":"method","ident_start":4583,"ident_end":4597,"extent_start":4562,"extent_end":4785,"fully_qualified_name":"RuneBuffer.MoveToNextWord","ident_utf16":{"start":{"line_number":293,"utf16_col":21},"end":{"line_number":293,"utf16_col":35}},"extent_utf16":{"start":{"line_number":293,"utf16_col":0},"end":{"line_number":304,"utf16_col":1}}},{"name":"MoveToEndWord","kind":"method","ident_start":4808,"ident_end":4821,"extent_start":4787,"extent_end":5272,"fully_qualified_name":"RuneBuffer.MoveToEndWord","ident_utf16":{"start":{"line_number":306,"utf16_col":21},"end":{"line_number":306,"utf16_col":34}},"extent_utf16":{"start":{"line_number":306,"utf16_col":0},"end":{"line_number":326,"utf16_col":1}}},{"name":"BackEscapeWord","kind":"method","ident_start":5295,"ident_end":5309,"extent_start":5274,"extent_end":5610,"fully_qualified_name":"RuneBuffer.BackEscapeWord","ident_utf16":{"start":{"line_number":328,"utf16_col":21},"end":{"line_number":328,"utf16_col":35}},"extent_utf16":{"start":{"line_number":328,"utf16_col":0},"end":{"line_number":345,"utf16_col":1}}},{"name":"Yank","kind":"method","ident_start":5633,"ident_end":5637,"extent_start":5612,"extent_end":5911,"fully_qualified_name":"RuneBuffer.Yank","ident_utf16":{"start":{"line_number":347,"utf16_col":21},"end":{"line_number":347,"utf16_col":25}},"extent_utf16":{"start":{"line_number":347,"utf16_col":0},"end":{"line_number":359,"utf16_col":1}}},{"name":"Backspace","kind":"method","ident_start":5934,"ident_end":5943,"extent_start":5913,"extent_end":6068,"fully_qualified_name":"RuneBuffer.Backspace","ident_utf16":{"start":{"line_number":361,"utf16_col":21},"end":{"line_number":361,"utf16_col":30}},"extent_utf16":{"start":{"line_number":361,"utf16_col":0},"end":{"line_number":370,"utf16_col":1}}},{"name":"MoveToLineEnd","kind":"method","ident_start":6091,"ident_end":6104,"extent_start":6070,"extent_end":6197,"fully_qualified_name":"RuneBuffer.MoveToLineEnd","ident_utf16":{"start":{"line_number":372,"utf16_col":21},"end":{"line_number":372,"utf16_col":34}},"extent_utf16":{"start":{"line_number":372,"utf16_col":0},"end":{"line_number":380,"utf16_col":1}}},{"name":"LineCount","kind":"method","ident_start":6220,"ident_end":6229,"extent_start":6199,"extent_end":6351,"fully_qualified_name":"RuneBuffer.LineCount","ident_utf16":{"start":{"line_number":382,"utf16_col":21},"end":{"line_number":382,"utf16_col":30}},"extent_utf16":{"start":{"line_number":382,"utf16_col":0},"end":{"line_number":388,"utf16_col":1}}},{"name":"MoveTo","kind":"method","ident_start":6374,"ident_end":6380,"extent_start":6353,"extent_end":6809,"fully_qualified_name":"RuneBuffer.MoveTo","ident_utf16":{"start":{"line_number":390,"utf16_col":21},"end":{"line_number":390,"utf16_col":27}},"extent_utf16":{"start":{"line_number":390,"utf16_col":0},"end":{"line_number":417,"utf16_col":1}}},{"name":"isInLineEdge","kind":"method","ident_start":6832,"ident_end":6844,"extent_start":6811,"extent_end":6952,"fully_qualified_name":"RuneBuffer.isInLineEdge","ident_utf16":{"start":{"line_number":419,"utf16_col":21},"end":{"line_number":419,"utf16_col":33}},"extent_utf16":{"start":{"line_number":419,"utf16_col":0},"end":{"line_number":425,"utf16_col":1}}},{"name":"getSplitByLine","kind":"method","ident_start":6975,"ident_end":6989,"extent_start":6954,"extent_end":7061,"fully_qualified_name":"RuneBuffer.getSplitByLine","ident_utf16":{"start":{"line_number":427,"utf16_col":21},"end":{"line_number":427,"utf16_col":35}},"extent_utf16":{"start":{"line_number":427,"utf16_col":0},"end":{"line_number":429,"utf16_col":1}}},{"name":"IdxLine","kind":"method","ident_start":7084,"ident_end":7091,"extent_start":7063,"extent_end":7163,"fully_qualified_name":"RuneBuffer.IdxLine","ident_utf16":{"start":{"line_number":431,"utf16_col":21},"end":{"line_number":431,"utf16_col":28}},"extent_utf16":{"start":{"line_number":431,"utf16_col":0},"end":{"line_number":435,"utf16_col":1}}},{"name":"idxLine","kind":"method","ident_start":7186,"ident_end":7193,"extent_start":7165,"extent_end":7302,"fully_qualified_name":"RuneBuffer.idxLine","ident_utf16":{"start":{"line_number":437,"utf16_col":21},"end":{"line_number":437,"utf16_col":28}},"extent_utf16":{"start":{"line_number":437,"utf16_col":0},"end":{"line_number":443,"utf16_col":1}}},{"name":"CursorLineCount","kind":"method","ident_start":7325,"ident_end":7340,"extent_start":7304,"extent_end":7400,"fully_qualified_name":"RuneBuffer.CursorLineCount","ident_utf16":{"start":{"line_number":445,"utf16_col":21},"end":{"line_number":445,"utf16_col":36}},"extent_utf16":{"start":{"line_number":445,"utf16_col":0},"end":{"line_number":447,"utf16_col":1}}},{"name":"Refresh","kind":"method","ident_start":7423,"ident_end":7430,"extent_start":7402,"extent_end":7580,"fully_qualified_name":"RuneBuffer.Refresh","ident_utf16":{"start":{"line_number":449,"utf16_col":21},"end":{"line_number":449,"utf16_col":28}},"extent_utf16":{"start":{"line_number":449,"utf16_col":0},"end":{"line_number":465,"utf16_col":1}}},{"name":"SetOffset","kind":"method","ident_start":7603,"ident_end":7612,"extent_start":7582,"extent_end":7672,"fully_qualified_name":"RuneBuffer.SetOffset","ident_utf16":{"start":{"line_number":467,"utf16_col":21},"end":{"line_number":467,"utf16_col":30}},"extent_utf16":{"start":{"line_number":467,"utf16_col":0},"end":{"line_number":471,"utf16_col":1}}},{"name":"print","kind":"method","ident_start":7695,"ident_end":7700,"extent_start":7674,"extent_end":7749,"fully_qualified_name":"RuneBuffer.print","ident_utf16":{"start":{"line_number":473,"utf16_col":21},"end":{"line_number":473,"utf16_col":26}},"extent_utf16":{"start":{"line_number":473,"utf16_col":0},"end":{"line_number":476,"utf16_col":1}}},{"name":"output","kind":"method","ident_start":7772,"ident_end":7778,"extent_start":7751,"extent_end":8504,"fully_qualified_name":"RuneBuffer.output","ident_utf16":{"start":{"line_number":478,"utf16_col":21},"end":{"line_number":478,"utf16_col":27}},"extent_utf16":{"start":{"line_number":478,"utf16_col":0},"end":{"line_number":509,"utf16_col":1}}},{"name":"getBackspaceSequence","kind":"method","ident_start":8527,"ident_end":8547,"extent_start":8506,"extent_end":9039,"fully_qualified_name":"RuneBuffer.getBackspaceSequence","ident_utf16":{"start":{"line_number":511,"utf16_col":21},"end":{"line_number":511,"utf16_col":41}},"extent_utf16":{"start":{"line_number":511,"utf16_col":0},"end":{"line_number":539,"utf16_col":1}}},{"name":"Reset","kind":"method","ident_start":9062,"ident_end":9067,"extent_start":9041,"extent_end":9148,"fully_qualified_name":"RuneBuffer.Reset","ident_utf16":{"start":{"line_number":541,"utf16_col":21},"end":{"line_number":541,"utf16_col":26}},"extent_utf16":{"start":{"line_number":541,"utf16_col":0},"end":{"line_number":546,"utf16_col":1}}},{"name":"calWidth","kind":"method","ident_start":9171,"ident_end":9179,"extent_start":9150,"extent_end":9304,"fully_qualified_name":"RuneBuffer.calWidth","ident_utf16":{"start":{"line_number":548,"utf16_col":21},"end":{"line_number":548,"utf16_col":29}},"extent_utf16":{"start":{"line_number":548,"utf16_col":0},"end":{"line_number":553,"utf16_col":1}}},{"name":"SetStyle","kind":"method","ident_start":9327,"ident_end":9335,"extent_start":9306,"extent_end":9730,"fully_qualified_name":"RuneBuffer.SetStyle","ident_utf16":{"start":{"line_number":555,"utf16_col":21},"end":{"line_number":555,"utf16_col":29}},"extent_utf16":{"start":{"line_number":555,"utf16_col":0},"end":{"line_number":571,"utf16_col":1}}},{"name":"SetWithIdx","kind":"method","ident_start":9753,"ident_end":9763,"extent_start":9732,"extent_end":9840,"fully_qualified_name":"RuneBuffer.SetWithIdx","ident_utf16":{"start":{"line_number":573,"utf16_col":21},"end":{"line_number":573,"utf16_col":31}},"extent_utf16":{"start":{"line_number":573,"utf16_col":0},"end":{"line_number":578,"utf16_col":1}}},{"name":"Set","kind":"method","ident_start":9863,"ident_end":9866,"extent_start":9842,"extent_end":9911,"fully_qualified_name":"RuneBuffer.Set","ident_utf16":{"start":{"line_number":580,"utf16_col":21},"end":{"line_number":580,"utf16_col":24}},"extent_utf16":{"start":{"line_number":580,"utf16_col":0},"end":{"line_number":582,"utf16_col":1}}},{"name":"SetPrompt","kind":"method","ident_start":9934,"ident_end":9943,"extent_start":9913,"extent_end":10011,"fully_qualified_name":"RuneBuffer.SetPrompt","ident_utf16":{"start":{"line_number":584,"utf16_col":21},"end":{"line_number":584,"utf16_col":30}},"extent_utf16":{"start":{"line_number":584,"utf16_col":0},"end":{"line_number":588,"utf16_col":1}}},{"name":"cleanOutput","kind":"method","ident_start":10034,"ident_end":10045,"extent_start":10013,"extent_end":10511,"fully_qualified_name":"RuneBuffer.cleanOutput","ident_utf16":{"start":{"line_number":590,"utf16_col":21},"end":{"line_number":590,"utf16_col":32}},"extent_utf16":{"start":{"line_number":590,"utf16_col":0},"end":{"line_number":610,"utf16_col":1}}},{"name":"Clean","kind":"method","ident_start":10534,"ident_end":10539,"extent_start":10513,"extent_end":10578,"fully_qualified_name":"RuneBuffer.Clean","ident_utf16":{"start":{"line_number":612,"utf16_col":21},"end":{"line_number":612,"utf16_col":26}},"extent_utf16":{"start":{"line_number":612,"utf16_col":0},"end":{"line_number":616,"utf16_col":1}}},{"name":"clean","kind":"method","ident_start":10601,"ident_end":10606,"extent_start":10580,"extent_end":10652,"fully_qualified_name":"RuneBuffer.clean","ident_utf16":{"start":{"line_number":618,"utf16_col":21},"end":{"line_number":618,"utf16_col":26}},"extent_utf16":{"start":{"line_number":618,"utf16_col":0},"end":{"line_number":620,"utf16_col":1}}},{"name":"cleanWithIdxLine","kind":"method","ident_start":10675,"ident_end":10691,"extent_start":10654,"extent_end":10803,"fully_qualified_name":"RuneBuffer.cleanWithIdxLine","ident_utf16":{"start":{"line_number":622,"utf16_col":21},"end":{"line_number":622,"utf16_col":37}},"extent_utf16":{"start":{"line_number":622,"utf16_col":0},"end":{"line_number":628,"utf16_col":1}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/chzyer/readline/branches":{"post":"MBdNwgJ7ww6zmSeEX9DXaxz_UIP4zLhN9-fBxOHSRUigSI-g8q_3r6Y7uCrywWl0ClBdNRVNq3ckR781sDg9zQ"},"/repos/preferences":{"post":"HIB4MrShU3QAyWWECpa7ndmC7tx-O0imREoHPY1IYh2FFSr-HWbNMyGIXn5OuRwnALrbhcUpbRUmri1ayVHBnw"}}},"title":"readline/runebuf.go at v1.5.1 · chzyer/readline","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-1583894afd38.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-67668e8c2caa.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"overview_shared_code_dropdown_button":false,"react_blob_overlay":false,"copilot_conversational_ux_embedding_update":false,"copilot_smell_icebreaker_ux":true,"copilot_workspace":false,"accessible_code_button":true}}}</script> <div data-target="react-app.reactRoot"><style data-styled="true" data-styled-version="5.3.11">.hOfjFo{padding:0;}/*!sc*/ .oDGAe{max-width:100%;margin-left:auto;margin-right:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}/*!sc*/ .kowOcT{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%;}/*!sc*/ .gISSDQ{width:100%;}/*!sc*/ @media screen and (min-width:544px){.gISSDQ{width:100%;}}/*!sc*/ @media screen and (min-width:768px){.gISSDQ{width:auto;}}/*!sc*/ .fLEPlD{display:none;-webkit-order:1;-ms-flex-order:1;order:1;width:100%;margin-left:0;margin-right:0;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-bottom:0;min-width:0;}/*!sc*/ @media screen and (min-width:544px){.fLEPlD{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/ @media screen and (min-width:768px){.fLEPlD{width:auto;margin-top:0 !important;margin-bottom:0 !important;position:-webkit-sticky;position:sticky;top:0px;max-height:100vh !important;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;margin-right:0;height:100vh;}}/*!sc*/ @media print,screen and (max-width:1011px) and (min-width:768px){.fLEPlD{display:none;}}/*!sc*/ .hPvFuC{margin-left:0;margin-right:0;display:none;margin-top:0;}/*!sc*/ @media screen and (min-width:768px){.hPvFuC{margin-left:0 !important;margin-right:0 !important;}}/*!sc*/ .fFSoPl{--pane-min-width:256px;--pane-max-width-diff:511px;--pane-max-width:calc(100vw - var(--pane-max-width-diff));width:100%;padding:0;}/*!sc*/ @media screen and (min-width:544px){}/*!sc*/ @media screen and (min-width:768px){.fFSoPl{width:clamp(var(--pane-min-width),var(--pane-width),var(--pane-max-width));overflow:auto;}}/*!sc*/ @media screen and (min-width:1280px){.fFSoPl{--pane-max-width-diff:959px;}}/*!sc*/ .bTBnTW{height:100%;position:relative;display:none;margin-left:0;}/*!sc*/ .bHLmSv{position:absolute;inset:0 -2px;cursor:col-resize;background-color:transparent;-webkit-transition-delay:0.1s;transition-delay:0.1s;}/*!sc*/ .bHLmSv:hover{background-color:var(--bgColor-neutral-muted,var(--color-neutral-muted,rgba(175,184,193,0.2)));}/*!sc*/ .iKqMNA{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-order:2;-ms-flex-order:2;order:2;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;min-width:1px;margin-right:auto;}/*!sc*/ @media print{.iKqMNA{display:-webkit-box !important;display:-webkit-flex !important;display:-ms-flexbox !important;display:flex !important;}}/*!sc*/ .FxAyp{width:100%;max-width:100%;margin-left:auto;margin-right:auto;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:0;}/*!sc*/ .leYMvG{margin-left:auto;margin-right:auto;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-bottom:40px;max-width:100%;margin-top:0;}/*!sc*/ .KMPzq{display:inherit;}/*!sc*/ .hfKjHv{width:100%;}/*!sc*/ .gZWyZE{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;}/*!sc*/ .dwYKDk{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;gap:8px;}/*!sc*/ .ibcGmb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;min-width:0;}/*!sc*/ .hKaEJF{display:block;margin-right:8px;}/*!sc*/ @media screen and (min-width:1360px){.hKaEJF{display:block;}}/*!sc*/ .XosP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:14px;}/*!sc*/ .gUkoLg{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .hzSPyu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;pointer-events:none;}/*!sc*/ .bZBlpz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;}/*!sc*/ .lhTYNA{margin-right:4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .dbrgmi{font-size:14px;min-width:0;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}/*!sc*/ .dHJiml{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:8px;padding-right:8px;min-width:0;}/*!sc*/ .cEytCf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;font-size:16px;min-width:0;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .fzFXnm{max-width:100%;}/*!sc*/ .iMnkmv{max-width:100%;list-style:none;display:inline-block;}/*!sc*/ .ghzDag{display:inline-block;max-width:100%;}/*!sc*/ .kHuKdh{font-weight:600;}/*!sc*/ .jGhzSQ{font-weight:600;display:inline-block;max-width:100%;font-size:16px;}/*!sc*/ .faNtbn{min-height:32px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;}/*!sc*/ .fmQaBv{margin-left:4px;margin-right:4px;}/*!sc*/ .dJxjrT{margin-left:16px;margin-right:16px;}/*!sc*/ .eFxKDQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ .dzCJzi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:273px;padding:8px;}/*!sc*/ @media screen and (min-width:544px){.dzCJzi{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}/*!sc*/ .ldRxiI{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}/*!sc*/ .fVkfyA{width:100%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;min-width:0;margin-right:0;}/*!sc*/ .gNAmSV{height:40px;padding-left:4px;padding-bottom:16px;}/*!sc*/ .jNEwzY{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .bsDwxw{font-size:12px;-webkit-flex:auto;-ms-flex:auto;flex:auto;padding-right:16px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));min-width:0;}/*!sc*/ .jdLMhu{top:0px;z-index:4;background:var(--bgColor-default,var(--color-canvas-default));position:-webkit-sticky;position:sticky;}/*!sc*/ .tOISc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;position:absolute;}/*!sc*/ .hqwSEx{display:none;min-width:0;padding-top:8px;padding-bottom:8px;}/*!sc*/ .bDVoEr{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden;margin-left:8px;margin-right:8px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;}/*!sc*/ .kYLlPM{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .gYjEmn{margin-left:4px;margin-right:8px;}/*!sc*/ .kGqOLL{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .fHind{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;font-size:14px;min-width:0;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .dnZoUW{font-weight:600;display:inline-block;max-width:100%;font-size:14px;}/*!sc*/ .kTvpNk{padding-left:8px;padding-top:8px;padding-bottom:8px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;background-color:var(--bgColor-muted,var(--color-canvas-subtle,#f6f8fa));border:1px solid var(--borderColor-default,var(--color-border-default));border-radius:6px 6px 0px 0px;}/*!sc*/ .iNMjfP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:0;}/*!sc*/ .fefCSX{display:block;position:relative;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-top:-1px;margin-bottom:-1px;--separator-color:transparent;}/*!sc*/ .fefCSX:not(:last-child){margin-right:1px;}/*!sc*/ .fefCSX:not(:last-child):after{background-color:var(--separator-color);content:"";position:absolute;right:-2px;top:8px;bottom:8px;width:1px;}/*!sc*/ .fefCSX:focus-within:has(:focus-visible){--separator-color:transparent;}/*!sc*/ .fefCSX:first-child{margin-left:-1px;}/*!sc*/ .fefCSX:last-child{margin-right:-1px;}/*!sc*/ .idgUkN{display:block;position:relative;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-top:-1px;margin-bottom:-1px;--separator-color:var(--borderColor-default,var(--color-border-default,#d0d7de));}/*!sc*/ .idgUkN:not(:last-child){margin-right:1px;}/*!sc*/ .idgUkN:not(:last-child):after{background-color:var(--separator-color);content:"";position:absolute;right:-2px;top:8px;bottom:8px;width:1px;}/*!sc*/ .idgUkN:focus-within:has(:focus-visible){--separator-color:transparent;}/*!sc*/ .idgUkN:first-child{margin-left:-1px;}/*!sc*/ .idgUkN:last-child{margin-right:-1px;}/*!sc*/ .kcLCKF{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-right:8px;}/*!sc*/ .kVWtTz{gap:8px;}/*!sc*/ .hGyMdv{border:1px solid;border-top:none;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:0px 0px 6px 6px;min-width:273px;}/*!sc*/ .dceWRL{background-color:var(--bgColor-default,var(--color-canvas-default));border:0px;border-width:0;border-radius:0px 0px 6px 6px;padding:0;min-width:0;margin-top:46px;}/*!sc*/ .dGXHv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;padding-top:8px;padding-bottom:8px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;min-width:0;position:relative;}/*!sc*/ .bpDFns{position:relative;}/*!sc*/ .iJOeCH{-webkit-flex:1;-ms-flex:1;flex:1;position:relative;min-width:0;}/*!sc*/ .jewUnv{tab-size:8;isolation:isolate;position:relative;overflow:auto;max-width:unset;}/*!sc*/ .cJGaMs{margin:1px 8px;position:absolute;z-index:1;}/*!sc*/ .iGLarr{position:absolute;}/*!sc*/ .cCoXib{position:fixed;top:0;right:0;height:100%;width:15px;-webkit-transition:-webkit-transform 0.3s;-webkit-transition:transform 0.3s;transition:transform 0.3s;z-index:1;}/*!sc*/ .cCoXib:hover{-webkit-transform:scaleX(1.5);-ms-transform:scaleX(1.5);transform:scaleX(1.5);}/*!sc*/ data-styled.g1[id="Box-sc-g0xbh4-0"]{content:"hOfjFo,oDGAe,kowOcT,gISSDQ,fLEPlD,hPvFuC,fFSoPl,bTBnTW,bHLmSv,iKqMNA,FxAyp,leYMvG,KMPzq,hfKjHv,gZWyZE,dwYKDk,ibcGmb,hKaEJF,XosP,gUkoLg,hzSPyu,bZBlpz,lhTYNA,dbrgmi,dHJiml,cEytCf,fzFXnm,iMnkmv,ghzDag,kHuKdh,jGhzSQ,faNtbn,fmQaBv,dJxjrT,eFxKDQ,dzCJzi,ldRxiI,fVkfyA,gNAmSV,jNEwzY,bsDwxw,jdLMhu,tOISc,hqwSEx,bDVoEr,kYLlPM,gYjEmn,kGqOLL,fHind,dnZoUW,kTvpNk,iNMjfP,fefCSX,idgUkN,kcLCKF,kVWtTz,hGyMdv,dceWRL,dGXHv,bpDFns,iJOeCH,jewUnv,cJGaMs,iGLarr,cCoXib,"}/*!sc*/ .eMMFM{min-width:0;}/*!sc*/ .eMMFM:where([data-size='small']){font-size:var(--text-body-size-small,0.75rem);line-height:var(--text-body-lineHeight-small,1.6666);}/*!sc*/ .eMMFM:where([data-size='medium']){font-size:var(--text-body-size-medium,0.875rem);line-height:var(--text-body-lineHeight-medium,1.4285);}/*!sc*/ .eMMFM:where([data-size='large']){font-size:var(--text-body-size-large,1rem);line-height:var(--text-body-lineHeight-large,1.5);}/*!sc*/ .eMMFM:where([data-weight='light']){font-weight:var(--base-text-weight-light,300);}/*!sc*/ .eMMFM:where([data-weight='normal']){font-weight:var(--base-text-weight-normal,400);}/*!sc*/ .eMMFM:where([data-weight='medium']){font-weight:var(--base-text-weight-medium,500);}/*!sc*/ .eMMFM:where([data-weight='semibold']){font-weight:var(--base-text-weight-semibold,600);}/*!sc*/ .HlHVj{padding-left:4px;padding-right:4px;font-weight:400;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:16px;}/*!sc*/ .HlHVj:where([data-size='small']){font-size:var(--text-body-size-small,0.75rem);line-height:var(--text-body-lineHeight-small,1.6666);}/*!sc*/ .HlHVj:where([data-size='medium']){font-size:var(--text-body-size-medium,0.875rem);line-height:var(--text-body-lineHeight-medium,1.4285);}/*!sc*/ .HlHVj:where([data-size='large']){font-size:var(--text-body-size-large,1rem);line-height:var(--text-body-lineHeight-large,1.5);}/*!sc*/ .HlHVj:where([data-weight='light']){font-weight:var(--base-text-weight-light,300);}/*!sc*/ .HlHVj:where([data-weight='normal']){font-weight:var(--base-text-weight-normal,400);}/*!sc*/ .HlHVj:where([data-weight='medium']){font-weight:var(--base-text-weight-medium,500);}/*!sc*/ .HlHVj:where([data-weight='semibold']){font-weight:var(--base-text-weight-semibold,600);}/*!sc*/ .lauzFl{padding-left:4px;padding-right:4px;font-weight:400;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:14px;}/*!sc*/ .lauzFl:where([data-size='small']){font-size:var(--text-body-size-small,0.75rem);line-height:var(--text-body-lineHeight-small,1.6666);}/*!sc*/ .lauzFl:where([data-size='medium']){font-size:var(--text-body-size-medium,0.875rem);line-height:var(--text-body-lineHeight-medium,1.4285);}/*!sc*/ .lauzFl:where([data-size='large']){font-size:var(--text-body-size-large,1rem);line-height:var(--text-body-lineHeight-large,1.5);}/*!sc*/ .lauzFl:where([data-weight='light']){font-weight:var(--base-text-weight-light,300);}/*!sc*/ .lauzFl:where([data-weight='normal']){font-weight:var(--base-text-weight-normal,400);}/*!sc*/ .lauzFl:where([data-weight='medium']){font-weight:var(--base-text-weight-medium,500);}/*!sc*/ .lauzFl:where([data-weight='semibold']){font-weight:var(--base-text-weight-semibold,600);}/*!sc*/ data-styled.g3[id="Text__StyledText-sc-17v1xeu-0"]{content:"eMMFM,HlHVj,lauzFl,"}/*!sc*/ .gwqFqs{font-size:14px;line-height:20px;color:var(--fgColor-default,var(--color-fg-default,#1F2328));vertical-align:middle;background-color:var(--bgColor-default,var(--color-canvas-default,#ffffff));border:1px solid var(--control-borderColor-rest,var(--borderColor-default,var(--color-border-default,#d0d7de)));border-radius:6px;outline:none;box-shadow:var(--shadow-inset,var(--color-primer-shadow-inset,inset 0 1px 0 rgba(208,215,222,0.2)));display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;min-height:32px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:160px;}/*!sc*/ .gwqFqs input,.gwqFqs textarea{cursor:text;}/*!sc*/ .gwqFqs select{cursor:pointer;}/*!sc*/ .gwqFqs input::-webkit-input-placeholder,.gwqFqs textarea::-webkit-input-placeholder,.gwqFqs select::-webkit-input-placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .gwqFqs input::-moz-placeholder,.gwqFqs textarea::-moz-placeholder,.gwqFqs select::-moz-placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .gwqFqs input:-ms-input-placeholder,.gwqFqs textarea:-ms-input-placeholder,.gwqFqs select:-ms-input-placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .gwqFqs input::placeholder,.gwqFqs textarea::placeholder,.gwqFqs select::placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .gwqFqs:focus-within{border-color:var(--fgColor-accent,var(--color-accent-fg,#0969da));outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-1px;}/*!sc*/ .gwqFqs > textarea{padding:12px;}/*!sc*/ @media (min-width:768px){.gwqFqs{font-size:14px;}}/*!sc*/ data-styled.g9[id="TextInputWrapper__TextInputBaseWrapper-sc-1mqhpbi-0"]{content:"gwqFqs,"}/*!sc*/ .decvaq{background-repeat:no-repeat;background-position:right 8px center;padding-left:12px;padding-right:12px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:160px;}/*!sc*/ .decvaq > :not(:last-child){margin-right:8px;}/*!sc*/ .decvaq .TextInput-icon,.decvaq .TextInput-action{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}/*!sc*/ .decvaq > input,.decvaq > select{padding-left:0;padding-right:0;}/*!sc*/ data-styled.g10[id="TextInputWrapper-sc-1mqhpbi-1"]{content:"decvaq,"}/*!sc*/ .kBQCgV{border-radius:6px;border:1px solid;border-color:transparent;font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));background-color:transparent;box-shadow:none;}/*!sc*/ .kBQCgV:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .kBQCgV:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .kBQCgV:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .kBQCgV[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .kBQCgV[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .kBQCgV:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .kBQCgV:active{-webkit-transition:none;transition:none;}/*!sc*/ .kBQCgV[data-inactive]{cursor:auto;}/*!sc*/ .kBQCgV:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));background-color:var(--button-invisible-bgColor-disabled,transparent);}/*!sc*/ .kBQCgV:disabled [data-component=ButtonCounter],.kBQCgV:disabled [data-component="leadingVisual"],.kBQCgV:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/ @media (forced-colors:active){.kBQCgV:focus{outline:solid 1px transparent;}}/*!sc*/ .kBQCgV [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .kBQCgV[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .kBQCgV[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .kBQCgV[data-size="small"] [data-component="text"]{line-height:1.6666667;}/*!sc*/ .kBQCgV[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .kBQCgV[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .kBQCgV[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .kBQCgV[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .kBQCgV[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .kBQCgV[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .kBQCgV[data-block="block"]{width:100%;}/*!sc*/ .kBQCgV[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .kBQCgV[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .kBQCgV[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .kBQCgV[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .kBQCgV[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .kBQCgV[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .kBQCgV[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .kBQCgV[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .kBQCgV[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .kBQCgV [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .kBQCgV [data-component="text"]{grid-area:text;line-height:1.4285714;white-space:nowrap;}/*!sc*/ .kBQCgV [data-component="trailingVisual"]{grid-area:trailingVisual;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .kBQCgV [data-component="trailingAction"]{margin-right:-4px;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .kBQCgV [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .kBQCgV [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .kBQCgV [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .kBQCgV [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .kBQCgV:hover:not([disabled]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));}/*!sc*/ .kBQCgV:active:not([disabled]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));}/*!sc*/ .kBQCgV[aria-expanded=true]{background-color:var(--control-transparent-bgColor-selected,var(--color-action-list-item-default-selected-bg,rgba(208,215,222,0.24)));}/*!sc*/ .kBQCgV[data-component="IconButton"][data-no-visuals]{color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .kBQCgV[data-no-visuals]{color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));}/*!sc*/ .kBQCgV:has([data-component="ButtonCounter"]){color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));}/*!sc*/ .kBQCgV:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .kBQCgV:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/ .kBQCgV[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));padding-left:8px;padding-right:8px;display:none;}/*!sc*/ @media screen and (max-width:768px){.kBQCgV[data-size="medium"]{display:block;}}/*!sc*/ .dPmZyJ{border-radius:6px;border:1px solid;border-color:transparent;font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));background-color:transparent;box-shadow:none;}/*!sc*/ .dPmZyJ:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .dPmZyJ:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .dPmZyJ:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .dPmZyJ[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .dPmZyJ[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .dPmZyJ:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .dPmZyJ:active{-webkit-transition:none;transition:none;}/*!sc*/ .dPmZyJ[data-inactive]{cursor:auto;}/*!sc*/ .dPmZyJ:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));background-color:var(--button-invisible-bgColor-disabled,transparent);}/*!sc*/ .dPmZyJ:disabled [data-component=ButtonCounter],.dPmZyJ:disabled [data-component="leadingVisual"],.dPmZyJ:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/ @media (forced-colors:active){.dPmZyJ:focus{outline:solid 1px transparent;}}/*!sc*/ .dPmZyJ [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .dPmZyJ[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .dPmZyJ[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .dPmZyJ[data-size="small"] [data-component="text"]{line-height:1.6666667;}/*!sc*/ .dPmZyJ[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .dPmZyJ[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .dPmZyJ[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .dPmZyJ[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .dPmZyJ[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .dPmZyJ[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .dPmZyJ[data-block="block"]{width:100%;}/*!sc*/ .dPmZyJ[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .dPmZyJ[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .dPmZyJ[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .dPmZyJ[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .dPmZyJ[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .dPmZyJ[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .dPmZyJ[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .dPmZyJ[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .dPmZyJ[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .dPmZyJ [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .dPmZyJ [data-component="text"]{grid-area:text;line-height:1.4285714;white-space:nowrap;}/*!sc*/ .dPmZyJ [data-component="trailingVisual"]{grid-area:trailingVisual;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .dPmZyJ [data-component="trailingAction"]{margin-right:-4px;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .dPmZyJ [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .dPmZyJ [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .dPmZyJ [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .dPmZyJ [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .dPmZyJ:hover:not([disabled]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));}/*!sc*/ .dPmZyJ:active:not([disabled]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));}/*!sc*/ .dPmZyJ[aria-expanded=true]{background-color:var(--control-transparent-bgColor-selected,var(--color-action-list-item-default-selected-bg,rgba(208,215,222,0.24)));}/*!sc*/ .dPmZyJ[data-component="IconButton"][data-no-visuals]{color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .dPmZyJ[data-no-visuals]{color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));}/*!sc*/ .dPmZyJ:has([data-component="ButtonCounter"]){color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));}/*!sc*/ .dPmZyJ:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .dPmZyJ:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/ .iQGjqs{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .iQGjqs:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .iQGjqs:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .iQGjqs:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .iQGjqs[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .iQGjqs[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .iQGjqs:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .iQGjqs:active{-webkit-transition:none;transition:none;}/*!sc*/ .iQGjqs[data-inactive]{cursor:auto;}/*!sc*/ .iQGjqs:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .iQGjqs:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.iQGjqs:focus{outline:solid 1px transparent;}}/*!sc*/ .iQGjqs [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .iQGjqs[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .iQGjqs[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .iQGjqs[data-size="small"] [data-component="text"]{line-height:1.6666667;}/*!sc*/ .iQGjqs[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .iQGjqs[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .iQGjqs[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .iQGjqs[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .iQGjqs[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .iQGjqs[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .iQGjqs[data-block="block"]{width:100%;}/*!sc*/ .iQGjqs[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .iQGjqs[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .iQGjqs[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .iQGjqs[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .iQGjqs[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .iQGjqs[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .iQGjqs[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .iQGjqs[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .iQGjqs[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .iQGjqs [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .iQGjqs [data-component="text"]{grid-area:text;line-height:1.4285714;white-space:nowrap;}/*!sc*/ .iQGjqs [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .iQGjqs [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .iQGjqs [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .iQGjqs [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .iQGjqs [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .iQGjqs [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .iQGjqs:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .iQGjqs:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .iQGjqs[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .iQGjqs [data-component="leadingVisual"],.iQGjqs [data-component="trailingVisual"],.iQGjqs [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .iQGjqs[data-component="IconButton"][data-no-visuals]:not(:disabled){color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .iQGjqs[data-size="medium"]{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .iQGjqs[data-size="medium"] svg{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .iQGjqs[data-size="medium"] > span{width:inherit;}/*!sc*/ .iLfocZ{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .iLfocZ:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .iLfocZ:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .iLfocZ:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .iLfocZ[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .iLfocZ[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .iLfocZ:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .iLfocZ:active{-webkit-transition:none;transition:none;}/*!sc*/ .iLfocZ[data-inactive]{cursor:auto;}/*!sc*/ .iLfocZ:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .iLfocZ:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.iLfocZ:focus{outline:solid 1px transparent;}}/*!sc*/ .iLfocZ [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .iLfocZ[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .iLfocZ[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .iLfocZ[data-size="small"] [data-component="text"]{line-height:1.6666667;}/*!sc*/ .iLfocZ[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .iLfocZ[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .iLfocZ[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .iLfocZ[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .iLfocZ[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .iLfocZ[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .iLfocZ[data-block="block"]{width:100%;}/*!sc*/ .iLfocZ[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .iLfocZ[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .iLfocZ[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .iLfocZ[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .iLfocZ[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .iLfocZ[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .iLfocZ[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .iLfocZ[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .iLfocZ[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .iLfocZ [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .iLfocZ [data-component="text"]{grid-area:text;line-height:1.4285714;white-space:nowrap;}/*!sc*/ .iLfocZ [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .iLfocZ [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .iLfocZ [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .iLfocZ [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .iLfocZ [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .iLfocZ [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .iLfocZ:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .iLfocZ:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .iLfocZ[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .iLfocZ [data-component="leadingVisual"],.iLfocZ [data-component="trailingVisual"],.iLfocZ [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .iLfocZ[data-component="IconButton"][data-no-visuals]:not(:disabled){color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .iLfocZ[data-size="medium"][data-no-visuals]{border-top-left-radius:0;border-bottom-left-radius:0;display:none;}/*!sc*/ .JVsBq{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .JVsBq:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .JVsBq:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .JVsBq:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .JVsBq[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .JVsBq[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .JVsBq:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .JVsBq:active{-webkit-transition:none;transition:none;}/*!sc*/ .JVsBq[data-inactive]{cursor:auto;}/*!sc*/ .JVsBq:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .JVsBq:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.JVsBq:focus{outline:solid 1px transparent;}}/*!sc*/ .JVsBq [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .JVsBq[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .JVsBq[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .JVsBq[data-size="small"] [data-component="text"]{line-height:1.6666667;}/*!sc*/ .JVsBq[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .JVsBq[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .JVsBq[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .JVsBq[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .JVsBq[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .JVsBq[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .JVsBq[data-block="block"]{width:100%;}/*!sc*/ .JVsBq[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .JVsBq[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .JVsBq[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .JVsBq[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .JVsBq[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .JVsBq[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .JVsBq[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .JVsBq[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .JVsBq[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .JVsBq [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .JVsBq [data-component="text"]{grid-area:text;line-height:1.4285714;white-space:nowrap;}/*!sc*/ .JVsBq [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .JVsBq [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .JVsBq [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .JVsBq [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .JVsBq [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .JVsBq [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .JVsBq:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .JVsBq:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .JVsBq[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .JVsBq [data-component="leadingVisual"],.JVsBq [data-component="trailingVisual"],.JVsBq [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .JVsBq[data-component="IconButton"][data-no-visuals]:not(:disabled){color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .JVsBq[data-size="medium"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .fwExmK{border-radius:6px;border:1px solid;border-color:transparent;font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));background-color:transparent;box-shadow:none;}/*!sc*/ .fwExmK:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .fwExmK:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .fwExmK:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .fwExmK[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .fwExmK[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .fwExmK:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .fwExmK:active{-webkit-transition:none;transition:none;}/*!sc*/ .fwExmK[data-inactive]{cursor:auto;}/*!sc*/ .fwExmK:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));background-color:var(--button-invisible-bgColor-disabled,transparent);}/*!sc*/ .fwExmK:disabled [data-component=ButtonCounter],.fwExmK:disabled [data-component="leadingVisual"],.fwExmK:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/ @media (forced-colors:active){.fwExmK:focus{outline:solid 1px transparent;}}/*!sc*/ .fwExmK [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .fwExmK[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .fwExmK[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;color:var(--fgColor-default,var(--color-fg-default,#1F2328));margin-left:8px;}/*!sc*/ .fwExmK[data-size="small"] [data-component="text"]{line-height:1.6666667;}/*!sc*/ .fwExmK[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .fwExmK[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .fwExmK[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .fwExmK[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .fwExmK[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .fwExmK[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .fwExmK[data-block="block"]{width:100%;}/*!sc*/ .fwExmK[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .fwExmK[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .fwExmK[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .fwExmK[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .fwExmK[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .fwExmK[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .fwExmK[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .fwExmK[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .fwExmK[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .fwExmK [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .fwExmK [data-component="text"]{grid-area:text;line-height:1.4285714;white-space:nowrap;}/*!sc*/ .fwExmK [data-component="trailingVisual"]{grid-area:trailingVisual;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .fwExmK [data-component="trailingAction"]{margin-right:-4px;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .fwExmK [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .fwExmK [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .fwExmK [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .fwExmK [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .fwExmK:hover:not([disabled]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));}/*!sc*/ .fwExmK:active:not([disabled]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));}/*!sc*/ .fwExmK[aria-expanded=true]{background-color:var(--control-transparent-bgColor-selected,var(--color-action-list-item-default-selected-bg,rgba(208,215,222,0.24)));}/*!sc*/ .fwExmK[data-component="IconButton"][data-no-visuals]{color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .fwExmK[data-no-visuals]{color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));}/*!sc*/ .fwExmK:has([data-component="ButtonCounter"]){color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));}/*!sc*/ .fwExmK:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .fwExmK:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/ .ifVXZX{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));padding-left:8px;padding-right:8px;}/*!sc*/ .ifVXZX:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .ifVXZX:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .ifVXZX:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .ifVXZX[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .ifVXZX[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .ifVXZX:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .ifVXZX:active{-webkit-transition:none;transition:none;}/*!sc*/ .ifVXZX[data-inactive]{cursor:auto;}/*!sc*/ .ifVXZX:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .ifVXZX:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.ifVXZX:focus{outline:solid 1px transparent;}}/*!sc*/ .ifVXZX [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .ifVXZX[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .ifVXZX[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .ifVXZX[data-size="small"] [data-component="text"]{line-height:1.6666667;}/*!sc*/ .ifVXZX[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .ifVXZX[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .ifVXZX[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .ifVXZX[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .ifVXZX[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .ifVXZX[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .ifVXZX[data-block="block"]{width:100%;}/*!sc*/ .ifVXZX[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .ifVXZX[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .ifVXZX[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .ifVXZX[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .ifVXZX[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .ifVXZX[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .ifVXZX[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .ifVXZX[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .ifVXZX[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .ifVXZX [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .ifVXZX [data-component="text"]{grid-area:text;line-height:1.4285714;white-space:nowrap;}/*!sc*/ .ifVXZX [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .ifVXZX [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .ifVXZX [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .ifVXZX [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .ifVXZX [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .ifVXZX [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .ifVXZX:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .ifVXZX:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .ifVXZX[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .ifVXZX [data-component="leadingVisual"],.ifVXZX [data-component="trailingVisual"],.ifVXZX [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .ifVXZX[data-component="IconButton"][data-no-visuals]:not(:disabled){color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .ifVXZX linkButtonSx:hover:not([disabled]){-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .ifVXZX linkButtonSx:focus:not([disabled]){-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .ifVXZX linkButtonSx:active:not([disabled]){-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .gGdPyq{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .gGdPyq:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .gGdPyq:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .gGdPyq:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .gGdPyq[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .gGdPyq[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .gGdPyq:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .gGdPyq:active{-webkit-transition:none;transition:none;}/*!sc*/ .gGdPyq[data-inactive]{cursor:auto;}/*!sc*/ .gGdPyq:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .gGdPyq:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.gGdPyq:focus{outline:solid 1px transparent;}}/*!sc*/ .gGdPyq [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .gGdPyq[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .gGdPyq[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .gGdPyq[data-size="small"] [data-component="text"]{line-height:1.6666667;}/*!sc*/ .gGdPyq[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .gGdPyq[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .gGdPyq[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .gGdPyq[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .gGdPyq[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .gGdPyq[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .gGdPyq[data-block="block"]{width:100%;}/*!sc*/ .gGdPyq[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .gGdPyq[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .gGdPyq[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .gGdPyq[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .gGdPyq[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .gGdPyq[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .gGdPyq[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .gGdPyq[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .gGdPyq[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .gGdPyq [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .gGdPyq [data-component="text"]{grid-area:text;line-height:1.4285714;white-space:nowrap;}/*!sc*/ .gGdPyq [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .gGdPyq [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .gGdPyq [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .gGdPyq [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .gGdPyq [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .gGdPyq [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .gGdPyq:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .gGdPyq:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .gGdPyq[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .gGdPyq [data-component="leadingVisual"],.gGdPyq [data-component="trailingVisual"],.gGdPyq [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .gGdPyq[data-component="IconButton"][data-no-visuals]:not(:disabled){color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .dOuZvu{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .dOuZvu:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .dOuZvu:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .dOuZvu:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .dOuZvu[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .dOuZvu[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .dOuZvu:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .dOuZvu:active{-webkit-transition:none;transition:none;}/*!sc*/ .dOuZvu[data-inactive]{cursor:auto;}/*!sc*/ .dOuZvu:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .dOuZvu:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.dOuZvu:focus{outline:solid 1px transparent;}}/*!sc*/ .dOuZvu [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .dOuZvu[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .dOuZvu[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .dOuZvu[data-size="small"] [data-component="text"]{line-height:1.6666667;}/*!sc*/ .dOuZvu[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .dOuZvu[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .dOuZvu[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .dOuZvu[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .dOuZvu[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .dOuZvu[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .dOuZvu[data-block="block"]{width:100%;}/*!sc*/ .dOuZvu[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .dOuZvu[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .dOuZvu[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .dOuZvu[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .dOuZvu[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .dOuZvu[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .dOuZvu[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .dOuZvu[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .dOuZvu[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .dOuZvu [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .dOuZvu [data-component="text"]{grid-area:text;line-height:1.4285714;white-space:nowrap;}/*!sc*/ .dOuZvu [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .dOuZvu [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .dOuZvu [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .dOuZvu [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .dOuZvu [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .dOuZvu [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .dOuZvu:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .dOuZvu:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .dOuZvu[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .dOuZvu [data-component="leadingVisual"],.dOuZvu [data-component="trailingVisual"],.dOuZvu [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .dOuZvu[data-component="IconButton"][data-no-visuals]:not(:disabled){color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .dOuZvu[data-size="small"][data-no-visuals]{border-top-left-radius:0;border-bottom-left-radius:0;}/*!sc*/ .iZkvjn{border-radius:6px;border:1px solid;border-color:transparent;font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));background-color:transparent;box-shadow:none;}/*!sc*/ .iZkvjn:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .iZkvjn:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .iZkvjn:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .iZkvjn[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .iZkvjn[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .iZkvjn:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .iZkvjn:active{-webkit-transition:none;transition:none;}/*!sc*/ .iZkvjn[data-inactive]{cursor:auto;}/*!sc*/ .iZkvjn:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));background-color:var(--button-invisible-bgColor-disabled,transparent);}/*!sc*/ .iZkvjn:disabled [data-component=ButtonCounter],.iZkvjn:disabled [data-component="leadingVisual"],.iZkvjn:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/ @media (forced-colors:active){.iZkvjn:focus{outline:solid 1px transparent;}}/*!sc*/ .iZkvjn [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .iZkvjn[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .iZkvjn[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .iZkvjn[data-size="small"] [data-component="text"]{line-height:1.6666667;}/*!sc*/ .iZkvjn[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .iZkvjn[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .iZkvjn[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .iZkvjn[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .iZkvjn[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .iZkvjn[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .iZkvjn[data-block="block"]{width:100%;}/*!sc*/ .iZkvjn[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .iZkvjn[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .iZkvjn[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .iZkvjn[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .iZkvjn[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .iZkvjn[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .iZkvjn[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .iZkvjn[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .iZkvjn[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .iZkvjn [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .iZkvjn [data-component="text"]{grid-area:text;line-height:1.4285714;white-space:nowrap;}/*!sc*/ .iZkvjn [data-component="trailingVisual"]{grid-area:trailingVisual;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .iZkvjn [data-component="trailingAction"]{margin-right:-4px;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .iZkvjn [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .iZkvjn [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .iZkvjn [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .iZkvjn [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .iZkvjn:hover:not([disabled]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));}/*!sc*/ .iZkvjn:active:not([disabled]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));}/*!sc*/ .iZkvjn[aria-expanded=true]{background-color:var(--control-transparent-bgColor-selected,var(--color-action-list-item-default-selected-bg,rgba(208,215,222,0.24)));}/*!sc*/ .iZkvjn[data-component="IconButton"][data-no-visuals]{color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .iZkvjn[data-no-visuals]{color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));}/*!sc*/ .iZkvjn:has([data-component="ButtonCounter"]){color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));}/*!sc*/ .iZkvjn:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .iZkvjn:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/ .iZkvjn[data-size="small"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));position:relative;}/*!sc*/ .ggSvLP{border-radius:6px;border:1px solid;border-color:transparent;font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));background-color:transparent;box-shadow:none;}/*!sc*/ .ggSvLP:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .ggSvLP:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .ggSvLP:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .ggSvLP[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .ggSvLP[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .ggSvLP:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .ggSvLP:active{-webkit-transition:none;transition:none;}/*!sc*/ .ggSvLP[data-inactive]{cursor:auto;}/*!sc*/ .ggSvLP:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));background-color:var(--button-invisible-bgColor-disabled,transparent);}/*!sc*/ .ggSvLP:disabled [data-component=ButtonCounter],.ggSvLP:disabled [data-component="leadingVisual"],.ggSvLP:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/ @media (forced-colors:active){.ggSvLP:focus{outline:solid 1px transparent;}}/*!sc*/ .ggSvLP [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .ggSvLP[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .ggSvLP[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .ggSvLP[data-size="small"] [data-component="text"]{line-height:1.6666667;}/*!sc*/ .ggSvLP[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .ggSvLP[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .ggSvLP[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .ggSvLP[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .ggSvLP[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .ggSvLP[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .ggSvLP[data-block="block"]{width:100%;}/*!sc*/ .ggSvLP[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .ggSvLP[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .ggSvLP[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .ggSvLP[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .ggSvLP[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .ggSvLP[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .ggSvLP[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .ggSvLP[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .ggSvLP[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .ggSvLP [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .ggSvLP [data-component="text"]{grid-area:text;line-height:1.4285714;white-space:nowrap;}/*!sc*/ .ggSvLP [data-component="trailingVisual"]{grid-area:trailingVisual;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .ggSvLP [data-component="trailingAction"]{margin-right:-4px;color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .ggSvLP [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .ggSvLP [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .ggSvLP [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .ggSvLP [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .ggSvLP:hover:not([disabled]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));}/*!sc*/ .ggSvLP:active:not([disabled]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));}/*!sc*/ .ggSvLP[aria-expanded=true]{background-color:var(--control-transparent-bgColor-selected,var(--color-action-list-item-default-selected-bg,rgba(208,215,222,0.24)));}/*!sc*/ .ggSvLP[data-component="IconButton"][data-no-visuals]{color:var(--button-invisible-iconColor-rest,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .ggSvLP[data-no-visuals]{color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));}/*!sc*/ .ggSvLP:has([data-component="ButtonCounter"]){color:var(--button-invisible-fgColor-rest,var(--button-default-fgColor-rest,var(--color-btn-text,#24292f)));}/*!sc*/ .ggSvLP:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .ggSvLP:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/ .ggSvLP[data-size="small"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ data-styled.g11[id="types__StyledButton-sc-ws60qy-0"]{content:"kBQCgV,dPmZyJ,iQGjqs,iLfocZ,JVsBq,fwExmK,ifVXZX,gGdPyq,dOuZvu,iZkvjn,ggSvLP,"}/*!sc*/ .hWlpPn{position:relative;display:inline-block;}/*!sc*/ .hWlpPn::after{position:absolute;z-index:1000000;display:none;padding:0.5em 0.75em;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:subpixel-antialiased;color:var(--tooltip-fgColor,var(--fgColor-onEmphasis,var(--color-fg-on-emphasis,#ffffff)));text-align:center;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;-webkit-letter-spacing:normal;-moz-letter-spacing:normal;-ms-letter-spacing:normal;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:var(--tooltip-bgColor,var(--bgColor-emphasis,var(--color-neutral-emphasis-plus,#24292f)));border-radius:6px;opacity:0;}/*!sc*/ @-webkit-keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ @keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ .hWlpPn:hover::after,.hWlpPn:active::after,.hWlpPn:focus::after,.hWlpPn:focus-within::after{display:inline-block;-webkit-text-decoration:none;text-decoration:none;-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-no-delay:hover::after,.hWlpPn.tooltipped-no-delay:active::after,.hWlpPn.tooltipped-no-delay:focus::after,.hWlpPn.tooltipped-no-delay:focus-within::after{-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-multiline:hover::after,.hWlpPn.tooltipped-multiline:active::after,.hWlpPn.tooltipped-multiline:focus::after,.hWlpPn.tooltipped-multiline:focus-within::after{display:table-cell;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-se::after,.hWlpPn.tooltipped-sw::after{top:100%;right:50%;margin-top:6px;}/*!sc*/ .hWlpPn.tooltipped-se::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-sw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-n::after,.hWlpPn.tooltipped-ne::after,.hWlpPn.tooltipped-nw::after{right:50%;bottom:100%;margin-bottom:6px;}/*!sc*/ .hWlpPn.tooltipped-ne::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-nw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-n::after{-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);}/*!sc*/ .hWlpPn.tooltipped-w::after{right:100%;bottom:50%;margin-right:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-e::after{bottom:50%;left:100%;margin-left:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-multiline::after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-wrap:break-word;white-space:pre-line;border-collapse:separate;}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-s::after,.hWlpPn.tooltipped-multiline.tooltipped-n::after{right:auto;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-w::after,.hWlpPn.tooltipped-multiline.tooltipped-e::after{right:100%;}/*!sc*/ .hWlpPn.tooltipped-align-right-2::after{right:0;margin-right:0;}/*!sc*/ .hWlpPn.tooltipped-align-left-2::after{left:0;margin-left:0;}/*!sc*/ data-styled.g14[id="Tooltip__TooltipBase-sc-17tf59c-0"]{content:"hWlpPn,"}/*!sc*/ .kbCLEG{border:0;font-size:inherit;font-family:inherit;background-color:transparent;-webkit-appearance:none;color:inherit;width:100%;}/*!sc*/ .kbCLEG:focus{outline:0;}/*!sc*/ data-styled.g15[id="UnstyledTextInput-sc-14ypya-0"]{content:"kbCLEG,"}/*!sc*/ .eAtkQz{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;max-width:125px;max-width:100%;}/*!sc*/ data-styled.g17[id="Truncate__StyledTruncate-sc-23o1d2-0"]{content:"eAtkQz,"}/*!sc*/ body[data-page-layout-dragging="true"]{cursor:col-resize;}/*!sc*/ body[data-page-layout-dragging="true"] *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}/*!sc*/ data-styled.g99[id="sc-global-gbKrvU1"]{content:"sc-global-gbKrvU1,"}/*!sc*/ .lirRhW{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle;isolation:isolate;}/*!sc*/ .lirRhW.lirRhW > *:not([data-loading-wrapper]){margin-inline-end:-1px;position:relative;border-radius:0;}/*!sc*/ .lirRhW.lirRhW > *:not([data-loading-wrapper]):first-child{border-top-left-radius:6px;border-bottom-left-radius:6px;}/*!sc*/ .lirRhW.lirRhW > *:not([data-loading-wrapper]):last-child{border-top-right-radius:6px;border-bottom-right-radius:6px;}/*!sc*/ .lirRhW.lirRhW > *:not([data-loading-wrapper]):focus,.lirRhW.lirRhW > *:not([data-loading-wrapper]):active,.lirRhW.lirRhW > *:not([data-loading-wrapper]):hover{z-index:1;}/*!sc*/ .lirRhW [data-loading-wrapper]:first-child button,.lirRhW [data-loading-wrapper]:first-child a{border-top-left-radius:6px;border-bottom-left-radius:6px;}/*!sc*/ .lirRhW [data-loading-wrapper]:last-child button,.lirRhW [data-loading-wrapper]:last-child a{border-top-right-radius:6px;border-bottom-right-radius:6px;}/*!sc*/ .lirRhW [data-loading-wrapper] > *{margin-inline-end:-1px;position:relative;border-radius:0;}/*!sc*/ .lirRhW [data-loading-wrapper] > *:focus,.lirRhW [data-loading-wrapper] > *:active,.lirRhW [data-loading-wrapper] > *:hover{z-index:1;}/*!sc*/ data-styled.g104[id="ButtonGroup__StyledButtonGroup-sc-1gxhls1-0"]{content:"lirRhW,"}/*!sc*/ .dbGjOi{--segmented-control-button-inner-padding:12px;--segmented-control-button-bg-inset:4px;--segmented-control-outer-radius:6px;background-color:transparent;border-color:transparent;border-radius:var(--segmented-control-outer-radius);border-width:0;color:currentColor;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:600;padding:0;height:100%;width:100%;}/*!sc*/ .dbGjOi:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-1px;}/*!sc*/ .dbGjOi:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .dbGjOi:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-1px;}/*!sc*/ .dbGjOi .segmentedControl-content{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--controlKnob-bgColor-rest,var(--color-segmented-control-button-bg,#ffffff));border-color:var(--controlKnob-borderColor-rest,var(--color-segmented-control-button-hover-active-selected-border,#8c959f));border-style:solid;border-width:1px;border-radius:var(--segmented-control-outer-radius);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:var(--segmented-control-button-inner-padding);padding-right:var(--segmented-control-button-inner-padding);}/*!sc*/ .dbGjOi svg{fill:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .dbGjOi:focus:focus-visible:not(:last-child):after{width:0;}/*!sc*/ .dbGjOi .segmentedControl-text:after{content:"Code";display:block;font-weight:600;height:0;overflow:hidden;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;visibility:hidden;}/*!sc*/ @media (pointer:coarse){.dbGjOi:before{content:"";position:absolute;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);top:50%;min-height:44px;}}/*!sc*/ .bHmvop{--segmented-control-button-inner-padding:12px;--segmented-control-button-bg-inset:4px;--segmented-control-outer-radius:6px;background-color:transparent;border-color:transparent;border-radius:var(--segmented-control-outer-radius);border-width:0;color:currentColor;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:400;padding:var(--segmented-control-button-bg-inset);height:100%;width:100%;}/*!sc*/ .bHmvop:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-1px;}/*!sc*/ .bHmvop:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .bHmvop:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-1px;}/*!sc*/ .bHmvop .segmentedControl-content{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;border-color:transparent;border-style:solid;border-width:1px;border-radius:calc(var(--segmented-control-outer-radius) - var(--segmented-control-button-bg-inset) / 2);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:calc(var(--segmented-control-button-inner-padding) - var(--segmented-control-button-bg-inset));padding-right:calc(var(--segmented-control-button-inner-padding) - var(--segmented-control-button-bg-inset));}/*!sc*/ .bHmvop svg{fill:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .bHmvop:hover .segmentedControl-content{background-color:var(--controlTrack-bgColor-hover,var(--color-segmented-control-button-hover-bg,rgba(175,184,193,0.2)));}/*!sc*/ .bHmvop:active .segmentedControl-content{background-color:var(--controlTrack-bgColor-active,var(--color-segmented-control-button-hover-active-bg,rgba(175,184,193,0.4)));}/*!sc*/ .bHmvop:focus:focus-visible:not(:last-child):after{width:0;}/*!sc*/ .bHmvop .segmentedControl-text:after{content:"Blame";display:block;font-weight:600;height:0;overflow:hidden;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;visibility:hidden;}/*!sc*/ @media (pointer:coarse){.bHmvop:before{content:"";position:absolute;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);top:50%;min-height:44px;}}/*!sc*/ data-styled.g106[id="SegmentedControlButton__SegmentedControlButtonStyled-sc-8lkgxl-0"]{content:"dbGjOi,bHmvop,"}/*!sc*/ .lawgDG{background-color:var(--controlTrack-bgColor-rest,var(--color-segmented-control-bg,#eaeef2));border-radius:6px;border:1px solid;border-color:var(--controlTrack-borderColor-rest,transparent);display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:14px;height:28px;margin:0;padding:0;}/*!sc*/ data-styled.g108[id="SegmentedControl__SegmentedControlList-sc-1rzig82-0"]{content:"lawgDG,"}/*!sc*/ </style><meta data-hydrostats="publish"/> <!-- --> <!-- --> <button hidden="" data-testid="header-permalink-button" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><div><div style="--sticky-pane-height:100vh" class="Box-sc-g0xbh4-0 hOfjFo"><div class="Box-sc-g0xbh4-0 oDGAe"><div class="Box-sc-g0xbh4-0 kowOcT"><div tabindex="0" class="Box-sc-g0xbh4-0 gISSDQ"><div class="Box-sc-g0xbh4-0 fLEPlD"><div class="Box-sc-g0xbh4-0 hPvFuC"></div><div style="--pane-width:320px" class="Box-sc-g0xbh4-0 fFSoPl"></div><div class="Box-sc-g0xbh4-0 bTBnTW"><div role="slider" aria-label="Draggable pane splitter" aria-valuemin="0" aria-valuemax="0" aria-valuenow="0" aria-valuetext="Pane width 0 pixels" tabindex="0" class="Box-sc-g0xbh4-0 bHLmSv"></div></div></div></div><div class="Box-sc-g0xbh4-0 iKqMNA"><div class="Box-sc-g0xbh4-0"></div><div class="Box-sc-g0xbh4-0 FxAyp"><div data-selector="repos-split-pane-content" tabindex="0" class="Box-sc-g0xbh4-0 leYMvG"><div class="Box-sc-g0xbh4-0 KMPzq"><div class="Box-sc-g0xbh4-0 hfKjHv container"><div class="px-3 pt-3 pb-0" id="StickyHeader"><div class="Box-sc-g0xbh4-0 gZWyZE"><div class="Box-sc-g0xbh4-0 dwYKDk"><div class="Box-sc-g0xbh4-0 ibcGmb react-code-view-header-wrap--narrow"><div class="Box-sc-g0xbh4-0 hKaEJF"><h2 class="Box-sc-g0xbh4-0 XosP prc-Heading-Heading-6CmGO"><button style="--button-color:fg.muted" type="button" aria-label="Expand file tree" data-testid="expand-file-tree-button-mobile" class="types__StyledButton-sc-ws60qy-0 kBQCgV" data-loading="false" data-size="medium" aria-describedby=":Rld9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg"><span data-component="leadingVisual" class="Box-sc-g0xbh4-0 hzSPyu"><svg aria-hidden="true" focusable="false" class="octicon octicon-arrow-left" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z"></path></svg></span><span data-component="text">Files</span></span></button><span role="tooltip" aria-label="Expand file tree" id="expand-button-file-tree-button" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-se"><button data-component="IconButton" type="button" data-testid="expand-file-tree-button" aria-controls="repos-file-tree" class="types__StyledButton-sc-ws60qy-0 dPmZyJ position-relative ExpandFileTreeButton-module__expandButton--gL4is ExpandFileTreeButton-module__filesButtonBreakpoint--WfX9t fgColor-muted prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" aria-describedby=":R35d9lab:-loading-announcement" aria-labelledby="expand-button-file-tree-button"><svg aria-hidden="true" focusable="false" class="octicon octicon-sidebar-collapse" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M6.823 7.823a.25.25 0 0 1 0 .354l-2.396 2.396A.25.25 0 0 1 4 10.396V5.604a.25.25 0 0 1 .427-.177Z"></path><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25H9.5v-13H1.75a.25.25 0 0 0-.25.25ZM11 14.5h3.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11Z"></path></svg></button></span><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button></h2></div><div class="react-code-view-header-mb--narrow mr-2"><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="v1.5.1 tag" data-testid="anchor-button" class="types__StyledButton-sc-ws60qy-0 iQGjqs ref-selector-class" data-loading="false" data-size="medium" aria-describedby="branch-picker-repos-header-ref-selector-wide-loading-announcement" id="branch-picker-repos-header-ref-selector-wide"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg"><span data-component="text"><div class="Box-sc-g0xbh4-0 bZBlpz"><div class="Box-sc-g0xbh4-0 lhTYNA"><svg aria-hidden="true" focusable="false" class="octicon octicon-tag" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path></svg></div><div class="Box-sc-g0xbh4-0 dbrgmi ref-selector-button-text-container"><span class="Text__StyledText-sc-17v1xeu-0 eMMFM"> <!-- -->v1.5.1</span></div></div></span><span data-component="trailingVisual" class="Box-sc-g0xbh4-0 hzSPyu"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><button hidden="" data-hotkey-scope="read-only-cursor-text-area"></button></div><div class="Box-sc-g0xbh4-0 dHJiml react-code-view-header-mb--narrow"><div class="Box-sc-g0xbh4-0 cEytCf"><nav data-testid="breadcrumbs" aria-labelledby="repos-header-breadcrumb-heading" id="repos-header-breadcrumb" class="Box-sc-g0xbh4-0 fzFXnm"><h2 class="sr-only prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading" id="repos-header-breadcrumb-heading">Breadcrumbs</h2><ol class="Box-sc-g0xbh4-0 iMnkmv"><li class="Box-sc-g0xbh4-0 ghzDag"><a class="Box-sc-g0xbh4-0 kHuKdh prc-Link-Link-85e08" sx="[object Object]" data-testid="breadcrumbs-repo-link" href="/chzyer/readline/tree/v1.5.1">readline</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Box-sc-g0xbh4-0 ghzDag"><span class="Text__StyledText-sc-17v1xeu-0 HlHVj" aria-hidden="true">/</span><h1 class="Box-sc-g0xbh4-0 jGhzSQ prc-Heading-Heading-6CmGO" tabindex="-1" id="file-name-id">runebuf.go</h1></div><div aria-describedby=":R1td9lab:"><button data-component="IconButton" type="button" aria-label="Copy path" tabindex="0" class="types__StyledButton-sc-ws60qy-0 dPmZyJ prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" aria-describedby=":R7td9lab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button></div></div></div></div><div class="react-code-view-header-element--wide"><div class="Box-sc-g0xbh4-0 faNtbn"><div class="d-flex gap-2"> <div><div class="Box-sc-g0xbh4-0 fmQaBv"><span class="TextInputWrapper__TextInputBaseWrapper-sc-1mqhpbi-0 TextInputWrapper-sc-1mqhpbi-1 gwqFqs decvaq TextInput-wrapper" aria-busy="false"><span class="TextInput-icon" id=":R5j6d9lab:" aria-hidden="true"><svg aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></span><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellcheck="false" placeholder="Go to file" aria-describedby=":R5j6d9lab: :R5j6d9labH1:" data-component="input" class="UnstyledTextInput-sc-14ypya-0 kbCLEG" value=""/><span class="TextInput-icon" id=":R5j6d9labH1:" aria-hidden="true"></span></span></div><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button></div><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><button type="button" class="types__StyledButton-sc-ws60qy-0 iLfocZ" data-loading="false" data-no-visuals="true" data-size="medium" aria-describedby=":R2l6d9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg"><span data-component="text">Blame</span></span></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button data-component="IconButton" type="button" aria-label="More file actions" title="More file actions" data-testid="more-file-actions-button-nav-menu-wide" aria-haspopup="true" aria-expanded="false" tabindex="0" class="types__StyledButton-sc-ws60qy-0 JVsBq js-blob-dropdown-click prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" aria-describedby=":R156d9lab:-loading-announcement" id=":R156d9lab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button> </div></div></div><div class="react-code-view-header-element--narrow"><div class="Box-sc-g0xbh4-0 faNtbn"><div class="d-flex gap-2"> <button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><button type="button" class="types__StyledButton-sc-ws60qy-0 iLfocZ" data-loading="false" data-no-visuals="true" data-size="medium" aria-describedby=":R2l7d9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg"><span data-component="text">Blame</span></span></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button data-component="IconButton" type="button" aria-label="More file actions" title="More file actions" data-testid="more-file-actions-button-nav-menu-narrow" aria-haspopup="true" aria-expanded="false" tabindex="0" class="types__StyledButton-sc-ws60qy-0 JVsBq js-blob-dropdown-click prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" aria-describedby=":R157d9lab:-loading-announcement" id=":R157d9lab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button> </div></div></div></div></div></div></div></div><div class="Box-sc-g0xbh4-0 dJxjrT react-code-view-bottom-padding"> <div class="Box-sc-g0xbh4-0 eFxKDQ"></div> <!-- --> <!-- --> </div><div class="Box-sc-g0xbh4-0 dJxjrT"> <!-- --> <!-- --> <button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><div class="d-flex flex-column border rounded-2 mb-3 pl-1"><div class="Box-sc-g0xbh4-0 dzCJzi"><h2 class="sr-only prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">Latest commit</h2><div style="width:120px" class="Skeleton Skeleton--text" data-testid="loading"> </div><div class="d-flex flex-shrink-0 gap-2"><div data-testid="latest-commit-details" class="d-none d-sm-flex flex-items-center"></div><div class="d-flex gap-2"><h2 class="sr-only prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">History</h2><a href="/chzyer/readline/commits/v1.5.1/runebuf.go" class="types__StyledButton-sc-ws60qy-0 dPmZyJ d-none d-lg-flex LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" aria-describedby=":R5dlal9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg"><span data-component="leadingVisual" class="Box-sc-g0xbh4-0 hzSPyu"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span><span data-component="text"><span class="fgColor-default">History</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><span role="tooltip" aria-label="History" id="history-icon-button-tooltip" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-n"><a href="/chzyer/readline/commits/v1.5.1/runebuf.go" class="types__StyledButton-sc-ws60qy-0 dPmZyJ LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" aria-describedby=":Rpdlal9lab:-loading-announcement history-icon-button-tooltip"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg"><span data-component="leadingVisual" class="Box-sc-g0xbh4-0 hzSPyu"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span></span></a></span></div></div></div></div></div><div class="Box-sc-g0xbh4-0 ldRxiI"><div class="Box-sc-g0xbh4-0 fVkfyA container"><div class="Box-sc-g0xbh4-0 gNAmSV react-code-size-details-banner"><div class="Box-sc-g0xbh4-0 jNEwzY react-code-size-details-banner"><div class="Box-sc-g0xbh4-0 bsDwxw text-mono"><div title="10.6 KB" data-testid="blob-size" class="Truncate__StyledTruncate-sc-23o1d2-0 eAtkQz"><span>629 lines (543 loc) · 10.6 KB</span></div></div></div></div><div class="Box-sc-g0xbh4-0 jdLMhu react-blob-view-header-sticky" id="repos-sticky-header"><div class="Box-sc-g0xbh4-0 tOISc"><div class="react-blob-sticky-header"><div class="Box-sc-g0xbh4-0 hqwSEx"><div class="Box-sc-g0xbh4-0 bDVoEr"><div class="Box-sc-g0xbh4-0 kYLlPM"><div class="Box-sc-g0xbh4-0 gYjEmn"><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="v1.5.1 tag" data-testid="anchor-button" class="types__StyledButton-sc-ws60qy-0 iQGjqs ref-selector-class" data-loading="false" data-size="medium" aria-describedby="branch-picker-repos-header-ref-selector-loading-announcement" id="branch-picker-repos-header-ref-selector"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg"><span data-component="text"><div class="Box-sc-g0xbh4-0 bZBlpz"><div class="Box-sc-g0xbh4-0 lhTYNA"><svg aria-hidden="true" focusable="false" class="octicon octicon-tag" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path></svg></div><div class="Box-sc-g0xbh4-0 dbrgmi ref-selector-button-text-container"><span class="Text__StyledText-sc-17v1xeu-0 eMMFM"> <!-- -->v1.5.1</span></div></div></span><span data-component="trailingVisual" class="Box-sc-g0xbh4-0 hzSPyu"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><button hidden="" data-hotkey-scope="read-only-cursor-text-area"></button></div><div class="Box-sc-g0xbh4-0 kGqOLL"><div class="Box-sc-g0xbh4-0 fHind"><nav data-testid="breadcrumbs" aria-labelledby="sticky-breadcrumb-heading" id="sticky-breadcrumb" class="Box-sc-g0xbh4-0 fzFXnm"><h2 class="sr-only prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading" id="sticky-breadcrumb-heading">Breadcrumbs</h2><ol class="Box-sc-g0xbh4-0 iMnkmv"><li class="Box-sc-g0xbh4-0 ghzDag"><a class="Box-sc-g0xbh4-0 kHuKdh prc-Link-Link-85e08" sx="[object Object]" data-testid="breadcrumbs-repo-link" href="/chzyer/readline/tree/v1.5.1">readline</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Box-sc-g0xbh4-0 ghzDag"><span class="Text__StyledText-sc-17v1xeu-0 lauzFl" aria-hidden="true">/</span><h1 class="Box-sc-g0xbh4-0 dnZoUW prc-Heading-Heading-6CmGO" tabindex="-1" id="sticky-file-name-id">runebuf.go</h1></div></div></div></div><button style="--button-color:fg.default" type="button" class="types__StyledButton-sc-ws60qy-0 fwExmK" data-loading="false" data-size="small" aria-describedby=":Riptal9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg"><span data-component="leadingVisual" class="Box-sc-g0xbh4-0 hzSPyu"><svg aria-hidden="true" focusable="false" class="octicon octicon-arrow-up" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M3.47 7.78a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0l4.25 4.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L9 4.81v7.44a.75.75 0 0 1-1.5 0V4.81L4.53 7.78a.75.75 0 0 1-1.06 0Z"></path></svg></span><span data-component="text">Top</span></span></button></div></div></div><div class="Box-sc-g0xbh4-0 kTvpNk"><h2 class="sr-only prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">File metadata and controls</h2><div class="Box-sc-g0xbh4-0 iNMjfP"><ul aria-label="File view" class="SegmentedControl__SegmentedControlList-sc-1rzig82-0 lawgDG"><li class="Box-sc-g0xbh4-0 fefCSX"><button aria-current="true" type="button" class="SegmentedControlButton__SegmentedControlButtonStyled-sc-8lkgxl-0 dbGjOi"><span class="segmentedControl-content"><div class="Box-sc-g0xbh4-0 segmentedControl-text">Code</div></span></button></li><li class="Box-sc-g0xbh4-0 idgUkN"><button aria-current="false" type="button" class="SegmentedControlButton__SegmentedControlButtonStyled-sc-8lkgxl-0 bHmvop"><span class="segmentedControl-content"><div class="Box-sc-g0xbh4-0 segmentedControl-text">Blame</div></span></button></li></ul><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><div class="Box-sc-g0xbh4-0 jNEwzY react-code-size-details-in-header"><div class="Box-sc-g0xbh4-0 bsDwxw text-mono"><div title="10.6 KB" data-testid="blob-size" class="Truncate__StyledTruncate-sc-23o1d2-0 eAtkQz"><span>629 lines (543 loc) · 10.6 KB</span></div></div></div></div><div class="Box-sc-g0xbh4-0 kcLCKF"><div class="Box-sc-g0xbh4-0 kVWtTz react-blob-header-edit-and-raw-actions"><div class="ButtonGroup__StyledButtonGroup-sc-1gxhls1-0 lirRhW"><a href="https://github.com/chzyer/readline/raw/refs/tags/v1.5.1/runebuf.go" data-testid="raw-button" class="types__StyledButton-sc-ws60qy-0 ifVXZX" data-loading="false" data-no-visuals="true" data-size="small" aria-describedby=":R5csptal9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg"><span data-component="text">Raw</span></span></a><button data-component="IconButton" type="button" aria-label="Copy raw content" data-testid="copy-raw-button" class="types__StyledButton-sc-ws60qy-0 gGdPyq prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" aria-describedby=":Rpcsptal9lab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span role="tooltip" aria-label="Download raw file" id=":Rdcsptal9lab:" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-n"><button data-component="IconButton" type="button" aria-label="Download raw content" data-testid="download-raw-button" class="types__StyledButton-sc-ws60qy-0 dOuZvu prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" aria-describedby=":Rtcsptal9lab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg></button></span></div><button hidden="" data-testid="raw-button-shortcut" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden="" data-testid="copy-raw-button-shortcut" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden="" data-testid="download-raw-button-shortcut" data-hotkey-scope="read-only-cursor-text-area"></button></div><span role="tooltip" aria-label="Open symbols panel" id=":R5sptal9lab:" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-nw"><button data-component="IconButton" type="button" aria-label="Symbols" aria-pressed="false" aria-expanded="false" aria-controls="symbols-pane" data-testid="symbols-button" class="types__StyledButton-sc-ws60qy-0 iZkvjn prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" aria-describedby="symbols-button-loading-announcement" id="symbols-button"><svg aria-hidden="true" focusable="false" class="octicon octicon-code-square" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg></button></span><div class="react-blob-header-edit-and-raw-actions-combined"><button data-component="IconButton" type="button" aria-label="Edit and raw actions" title="More file actions" data-testid="more-file-actions-button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="types__StyledButton-sc-ws60qy-0 ggSvLP js-blob-dropdown-click prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" aria-describedby=":Rnsptal9lab:-loading-announcement" id=":Rnsptal9lab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button></div></div></div></div><div></div></div><div class="Box-sc-g0xbh4-0 hGyMdv"><section aria-labelledby="file-name-id-wide file-name-id-mobile" class="Box-sc-g0xbh4-0 dceWRL"><div class="Box-sc-g0xbh4-0 dGXHv"><div id="highlighted-line-menu-positioner" class="position-relative"><div id="copilot-button-positioner" class="Box-sc-g0xbh4-0 bpDFns"><div class="Box-sc-g0xbh4-0 iJOeCH"><div class="Box-sc-g0xbh4-0 jewUnv react-code-file-contents" role="presentation" aria-hidden="true" data-tab-size="8" data-paste-markdown-skip="true" data-hpc="true"><div class="react-line-numbers" style="pointer-events:auto"><div data-line-number="1" class="react-line-number react-code-text" style="padding-right:16px">1</div><div data-line-number="2" class="react-line-number react-code-text" style="padding-right:16px">2</div><div data-line-number="3" class="react-line-number react-code-text" style="padding-right:16px">3</div><div data-line-number="4" class="react-line-number react-code-text" style="padding-right:16px">4</div><div data-line-number="5" class="react-line-number react-code-text" style="padding-right:16px">5</div><div data-line-number="6" class="react-line-number react-code-text" style="padding-right:16px">6</div><div data-line-number="7" class="react-line-number react-code-text" style="padding-right:16px">7</div><div data-line-number="8" class="react-line-number react-code-text" style="padding-right:16px">8</div><div data-line-number="9" class="react-line-number react-code-text" style="padding-right:16px">9</div><div data-line-number="10" class="react-line-number react-code-text" style="padding-right:16px">10</div><div data-line-number="11" class="react-line-number react-code-text" style="padding-right:16px">11</div><div data-line-number="12" class="react-line-number react-code-text" style="padding-right:16px">12</div><div data-line-number="13" class="react-line-number react-code-text" style="padding-right:16px">13</div><div data-line-number="14" class="react-line-number react-code-text" style="padding-right:16px">14</div><div data-line-number="15" class="react-line-number react-code-text" style="padding-right:16px">15</div><div data-line-number="16" class="react-line-number react-code-text" style="padding-right:16px">16</div><div data-line-number="17" class="react-line-number react-code-text" style="padding-right:16px">17<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="18" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">18</div><div data-line-number="19" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">19</div><div data-line-number="20" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">20</div><div data-line-number="21" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">21</div><div data-line-number="22" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">22</div><div data-line-number="23" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">23</div><div data-line-number="24" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">24</div><div data-line-number="25" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">25</div><div data-line-number="26" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">26</div><div data-line-number="27" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">27</div><div data-line-number="28" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">28</div><div data-line-number="29" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">29</div><div data-line-number="30" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">30</div><div data-line-number="31" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">31</div><div data-line-number="32" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">32</div><div data-line-number="33" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">33</div><div data-line-number="34" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">34</div><div data-line-number="35" class="child-of-line-16 react-line-number react-code-text" style="padding-right:16px">35</div><div data-line-number="36" class="react-line-number react-code-text" style="padding-right:16px">36</div><div data-line-number="37" class="react-line-number react-code-text" style="padding-right:16px">37</div><div data-line-number="38" class="react-line-number react-code-text" style="padding-right:16px">38</div><div data-line-number="39" class="react-line-number react-code-text" style="padding-right:16px">39</div><div data-line-number="40" class="react-line-number react-code-text" style="padding-right:16px">40</div><div data-line-number="41" class="react-line-number react-code-text" style="padding-right:16px">41</div><div data-line-number="42" class="react-line-number react-code-text" style="padding-right:16px">42<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="43" class="child-of-line-41 react-line-number react-code-text" style="padding-right:16px">43</div><div data-line-number="44" class="child-of-line-41 react-line-number react-code-text" style="padding-right:16px">44</div><div data-line-number="45" class="child-of-line-41 react-line-number react-code-text" style="padding-right:16px">45</div><div data-line-number="46" class="react-line-number react-code-text" style="padding-right:16px">46</div><div data-line-number="47" class="react-line-number react-code-text" style="padding-right:16px">47</div><div data-line-number="48" class="react-line-number react-code-text" style="padding-right:16px">48<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="49" class="child-of-line-47 react-line-number react-code-text" style="padding-right:16px">49</div><div data-line-number="50" class="child-of-line-47 react-line-number react-code-text" style="padding-right:16px">50</div><div data-line-number="51" class="child-of-line-47 react-line-number react-code-text" style="padding-right:16px">51</div><div data-line-number="52" class="react-line-number react-code-text" style="padding-right:16px">52</div><div data-line-number="53" class="react-line-number react-code-text" style="padding-right:16px">53</div><div data-line-number="54" class="react-line-number react-code-text" style="padding-right:16px">54<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="55" class="child-of-line-53 react-line-number react-code-text" style="padding-right:16px">55</div><div data-line-number="56" class="child-of-line-53 react-line-number react-code-text" style="padding-right:16px">56</div><div data-line-number="57" class="child-of-line-53 react-line-number react-code-text" style="padding-right:16px">57</div><div data-line-number="58" class="child-of-line-53 react-line-number react-code-text" style="padding-right:16px">58</div><div data-line-number="59" class="child-of-line-53 react-line-number react-code-text" style="padding-right:16px">59</div><div data-line-number="60" class="child-of-line-53 react-line-number react-code-text" style="padding-right:16px">60</div><div data-line-number="61" class="child-of-line-53 react-line-number react-code-text" style="padding-right:16px">61</div><div data-line-number="62" class="react-line-number react-code-text" style="padding-right:16px">62</div><div data-line-number="63" class="react-line-number react-code-text" style="padding-right:16px">63</div><div data-line-number="64" class="react-line-number react-code-text" style="padding-right:16px">64<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="65" class="child-of-line-63 react-line-number react-code-text" style="padding-right:16px">65</div><div data-line-number="66" class="child-of-line-63 react-line-number react-code-text" style="padding-right:16px">66</div><div data-line-number="67" class="child-of-line-63 react-line-number react-code-text" style="padding-right:16px">67</div><div data-line-number="68" class="child-of-line-63 react-line-number react-code-text" style="padding-right:16px">68</div><div data-line-number="69" class="child-of-line-63 react-line-number react-code-text" style="padding-right:16px">69</div><div data-line-number="70" class="child-of-line-63 react-line-number react-code-text" style="padding-right:16px">70</div><div data-line-number="71" class="child-of-line-63 react-line-number react-code-text" style="padding-right:16px">71</div><div data-line-number="72" class="child-of-line-63 react-line-number react-code-text" style="padding-right:16px">72</div><div data-line-number="73" class="react-line-number react-code-text" style="padding-right:16px">73</div><div data-line-number="74" class="react-line-number react-code-text" style="padding-right:16px">74</div><div data-line-number="75" class="react-line-number react-code-text" style="padding-right:16px">75<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="76" class="child-of-line-74 react-line-number react-code-text" style="padding-right:16px">76</div><div data-line-number="77" class="child-of-line-74 react-line-number react-code-text" style="padding-right:16px">77</div><div data-line-number="78" class="child-of-line-74 react-line-number react-code-text" style="padding-right:16px">78</div><div data-line-number="79" class="child-of-line-74 react-line-number react-code-text" style="padding-right:16px">79</div><div data-line-number="80" class="react-line-number react-code-text" style="padding-right:16px">80</div><div data-line-number="81" class="react-line-number react-code-text" style="padding-right:16px">81</div><div data-line-number="82" class="react-line-number react-code-text" style="padding-right:16px">82<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="83" class="child-of-line-81 react-line-number react-code-text" style="padding-right:16px">83</div><div data-line-number="84" class="child-of-line-81 react-line-number react-code-text" style="padding-right:16px">84</div><div data-line-number="85" class="child-of-line-81 react-line-number react-code-text" style="padding-right:16px">85</div><div data-line-number="86" class="react-line-number react-code-text" style="padding-right:16px">86</div><div data-line-number="87" class="react-line-number react-code-text" style="padding-right:16px">87</div><div data-line-number="88" class="react-line-number react-code-text" style="padding-right:16px">88<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="89" class="child-of-line-87 react-line-number react-code-text" style="padding-right:16px">89</div><div data-line-number="90" class="child-of-line-87 react-line-number react-code-text" style="padding-right:16px">90</div><div data-line-number="91" class="child-of-line-87 react-line-number react-code-text" style="padding-right:16px">91</div><div data-line-number="92" class="react-line-number react-code-text" style="padding-right:16px">92</div><div data-line-number="93" class="react-line-number react-code-text" style="padding-right:16px">93</div><div data-line-number="94" class="react-line-number react-code-text" style="padding-right:16px">94<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="95" class="child-of-line-93 react-line-number react-code-text" style="padding-right:16px">95</div><div data-line-number="96" class="child-of-line-93 react-line-number react-code-text" style="padding-right:16px">96</div><div data-line-number="97" class="child-of-line-93 react-line-number react-code-text" style="padding-right:16px">97</div><div data-line-number="98" class="child-of-line-93 react-line-number react-code-text" style="padding-right:16px">98</div><div data-line-number="99" class="react-line-number react-code-text" style="padding-right:16px">99</div><div data-line-number="100" class="react-line-number react-code-text" style="padding-right:16px">100</div><div data-line-number="101" class="react-line-number react-code-text" style="padding-right:16px">101</div><div data-line-number="102" class="react-line-number react-code-text" style="padding-right:16px">102</div><div data-line-number="103" class="react-line-number react-code-text" style="padding-right:16px">103</div><div data-line-number="104" class="react-line-number react-code-text" style="padding-right:16px">104</div><div data-line-number="105" class="react-line-number react-code-text" style="padding-right:16px">105<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="106" class="child-of-line-104 react-line-number react-code-text" style="padding-right:16px">106</div><div data-line-number="107" class="child-of-line-104 react-line-number react-code-text" style="padding-right:16px">107</div><div data-line-number="108" class="child-of-line-104 react-line-number react-code-text" style="padding-right:16px">108</div><div data-line-number="109" class="child-of-line-104 react-line-number react-code-text" style="padding-right:16px">109</div><div data-line-number="110" class="child-of-line-104 react-line-number react-code-text" style="padding-right:16px">110</div><div data-line-number="111" class="child-of-line-104 react-line-number react-code-text" style="padding-right:16px">111</div><div data-line-number="112" class="child-of-line-104 react-line-number react-code-text" style="padding-right:16px">112</div><div data-line-number="113" class="child-of-line-104 react-line-number react-code-text" style="padding-right:16px">113</div><div data-line-number="114" class="child-of-line-104 react-line-number react-code-text" style="padding-right:16px">114</div><div data-line-number="115" class="child-of-line-104 react-line-number react-code-text" style="padding-right:16px">115</div><div data-line-number="116" class="child-of-line-104 react-line-number react-code-text" style="padding-right:16px">116</div><div data-line-number="117" class="react-line-number react-code-text" style="padding-right:16px">117</div><div data-line-number="118" class="react-line-number react-code-text" style="padding-right:16px">118</div><div data-line-number="119" class="react-line-number react-code-text" style="padding-right:16px">119<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="120" class="child-of-line-118 react-line-number react-code-text" style="padding-right:16px">120</div><div data-line-number="121" class="child-of-line-118 react-line-number react-code-text" style="padding-right:16px">121</div><div data-line-number="122" class="child-of-line-118 react-line-number react-code-text" style="padding-right:16px">122</div><div data-line-number="123" class="child-of-line-118 react-line-number react-code-text" style="padding-right:16px">123</div><div data-line-number="124" class="child-of-line-118 react-line-number react-code-text" style="padding-right:16px">124</div><div data-line-number="125" class="react-line-number react-code-text" style="padding-right:16px">125</div><div data-line-number="126" class="react-line-number react-code-text" style="padding-right:16px">126</div><div data-line-number="127" class="react-line-number react-code-text" style="padding-right:16px">127<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="128" class="child-of-line-126 react-line-number react-code-text" style="padding-right:16px">128</div><div data-line-number="129" class="child-of-line-126 react-line-number react-code-text" style="padding-right:16px">129</div><div data-line-number="130" class="child-of-line-126 react-line-number react-code-text" style="padding-right:16px">130</div><div data-line-number="131" class="react-line-number react-code-text" style="padding-right:16px">131</div><div data-line-number="132" class="react-line-number react-code-text" style="padding-right:16px">132</div><div data-line-number="133" class="react-line-number react-code-text" style="padding-right:16px">133<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="134" class="child-of-line-132 react-line-number react-code-text" style="padding-right:16px">134</div><div data-line-number="135" class="child-of-line-132 react-line-number react-code-text" style="padding-right:16px">135</div><div data-line-number="136" class="child-of-line-132 react-line-number react-code-text" style="padding-right:16px">136</div><div data-line-number="137" class="react-line-number react-code-text" style="padding-right:16px">137</div><div data-line-number="138" class="react-line-number react-code-text" style="padding-right:16px">138</div><div data-line-number="139" class="react-line-number react-code-text" style="padding-right:16px">139<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="140" class="child-of-line-138 react-line-number react-code-text" style="padding-right:16px">140</div><div data-line-number="141" class="child-of-line-138 react-line-number react-code-text" style="padding-right:16px">141</div><div data-line-number="142" class="child-of-line-138 react-line-number react-code-text" style="padding-right:16px">142</div><div data-line-number="143" class="child-of-line-138 react-line-number react-code-text" style="padding-right:16px">143</div><div data-line-number="144" class="child-of-line-138 react-line-number react-code-text" style="padding-right:16px">144</div><div data-line-number="145" class="child-of-line-138 react-line-number react-code-text" style="padding-right:16px">145</div><div data-line-number="146" class="react-line-number react-code-text" style="padding-right:16px">146</div><div data-line-number="147" class="react-line-number react-code-text" style="padding-right:16px">147</div><div data-line-number="148" class="react-line-number react-code-text" style="padding-right:16px">148<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="149" class="child-of-line-147 react-line-number react-code-text" style="padding-right:16px">149</div><div data-line-number="150" class="child-of-line-147 react-line-number react-code-text" style="padding-right:16px">150</div><div data-line-number="151" class="child-of-line-147 react-line-number react-code-text" style="padding-right:16px">151</div><div data-line-number="152" class="child-of-line-147 react-line-number react-code-text" style="padding-right:16px">152</div><div data-line-number="153" class="child-of-line-147 react-line-number react-code-text" style="padding-right:16px">153</div><div data-line-number="154" class="child-of-line-147 react-line-number react-code-text" style="padding-right:16px">154</div><div data-line-number="155" class="react-line-number react-code-text" style="padding-right:16px">155</div><div data-line-number="156" class="react-line-number react-code-text" style="padding-right:16px">156</div><div data-line-number="157" class="react-line-number react-code-text" style="padding-right:16px">157</div><div data-line-number="158" class="react-line-number react-code-text" style="padding-right:16px">158</div><div data-line-number="159" class="react-line-number react-code-text" style="padding-right:16px">159</div><div data-line-number="160" class="react-line-number react-code-text" style="padding-right:16px">160</div><div data-line-number="161" class="react-line-number react-code-text" style="padding-right:16px">161</div><div data-line-number="162" class="react-line-number react-code-text" style="padding-right:16px">162</div><div data-line-number="163" class="react-line-number react-code-text" style="padding-right:16px">163</div><div data-line-number="164" class="react-line-number react-code-text" style="padding-right:16px">164</div><div data-line-number="165" class="react-line-number react-code-text" style="padding-right:16px">165<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="166" class="child-of-line-164 react-line-number react-code-text" style="padding-right:16px">166</div><div data-line-number="167" class="child-of-line-164 react-line-number react-code-text" style="padding-right:16px">167</div><div data-line-number="168" class="child-of-line-164 react-line-number react-code-text" style="padding-right:16px">168</div><div data-line-number="169" class="child-of-line-164 react-line-number react-code-text" style="padding-right:16px">169</div><div data-line-number="170" class="child-of-line-164 react-line-number react-code-text" style="padding-right:16px">170</div><div data-line-number="171" class="react-line-number react-code-text" style="padding-right:16px">171</div><div data-line-number="172" class="react-line-number react-code-text" style="padding-right:16px">172</div><div data-line-number="173" class="react-line-number react-code-text" style="padding-right:16px">173<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="174" class="child-of-line-172 react-line-number react-code-text" style="padding-right:16px">174</div><div data-line-number="175" class="child-of-line-172 react-line-number react-code-text" style="padding-right:16px">175</div><div data-line-number="176" class="child-of-line-172 react-line-number react-code-text" style="padding-right:16px">176</div><div data-line-number="177" class="child-of-line-172 react-line-number react-code-text" style="padding-right:16px">177</div><div data-line-number="178" class="child-of-line-172 react-line-number react-code-text" style="padding-right:16px">178</div><div data-line-number="179" class="child-of-line-172 react-line-number react-code-text" style="padding-right:16px">179</div><div data-line-number="180" class="react-line-number react-code-text" style="padding-right:16px">180</div><div data-line-number="181" class="react-line-number react-code-text" style="padding-right:16px">181</div><div data-line-number="182" class="react-line-number react-code-text" style="padding-right:16px">182<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="183" class="child-of-line-181 react-line-number react-code-text" style="padding-right:16px">183</div><div data-line-number="184" class="child-of-line-181 react-line-number react-code-text" style="padding-right:16px">184</div><div data-line-number="185" class="child-of-line-181 react-line-number react-code-text" style="padding-right:16px">185</div><div data-line-number="186" class="react-line-number react-code-text" style="padding-right:16px">186</div><div data-line-number="187" class="react-line-number react-code-text" style="padding-right:16px">187</div><div data-line-number="188" class="react-line-number react-code-text" style="padding-right:16px">188<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="189" class="child-of-line-187 react-line-number react-code-text" style="padding-right:16px">189</div><div data-line-number="190" class="child-of-line-187 react-line-number react-code-text" style="padding-right:16px">190</div><div data-line-number="191" class="child-of-line-187 react-line-number react-code-text" style="padding-right:16px">191</div><div data-line-number="192" class="react-line-number react-code-text" style="padding-right:16px">192</div><div data-line-number="193" class="react-line-number react-code-text" style="padding-right:16px">193</div><div data-line-number="194" class="react-line-number react-code-text" style="padding-right:16px">194<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="195" class="child-of-line-193 react-line-number react-code-text" style="padding-right:16px">195</div><div data-line-number="196" class="child-of-line-193 react-line-number react-code-text" style="padding-right:16px">196</div><div data-line-number="197" class="child-of-line-193 react-line-number react-code-text" style="padding-right:16px">197</div><div data-line-number="198" class="child-of-line-193 react-line-number react-code-text" style="padding-right:16px">198</div><div data-line-number="199" class="child-of-line-193 react-line-number react-code-text" style="padding-right:16px">199</div><div data-line-number="200" class="react-line-number react-code-text" style="padding-right:16px">200</div><div data-line-number="201" class="react-line-number react-code-text" style="padding-right:16px">201</div><div data-line-number="202" class="react-line-number react-code-text" style="padding-right:16px">202<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="203" class="child-of-line-201 react-line-number react-code-text" style="padding-right:16px">203</div><div data-line-number="204" class="child-of-line-201 react-line-number react-code-text" style="padding-right:16px">204</div><div data-line-number="205" class="child-of-line-201 react-line-number react-code-text" style="padding-right:16px">205</div><div data-line-number="206" class="child-of-line-201 react-line-number react-code-text" style="padding-right:16px">206</div><div data-line-number="207" class="child-of-line-201 react-line-number react-code-text" style="padding-right:16px">207</div><div data-line-number="208" class="child-of-line-201 react-line-number react-code-text" style="padding-right:16px">208</div><div data-line-number="209" class="child-of-line-201 react-line-number react-code-text" style="padding-right:16px">209</div><div data-line-number="210" class="child-of-line-201 react-line-number react-code-text" style="padding-right:16px">210</div><div data-line-number="211" class="child-of-line-201 react-line-number react-code-text" style="padding-right:16px">211</div><div data-line-number="212" class="react-line-number react-code-text" style="padding-right:16px">212</div><div data-line-number="213" class="react-line-number react-code-text" style="padding-right:16px">213</div><div data-line-number="214" class="react-line-number react-code-text" style="padding-right:16px">214<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="215" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">215</div><div data-line-number="216" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">216</div><div data-line-number="217" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">217</div><div data-line-number="218" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">218</div><div data-line-number="219" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">219</div><div data-line-number="220" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">220</div><div data-line-number="221" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">221</div><div data-line-number="222" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">222</div><div data-line-number="223" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">223</div><div data-line-number="224" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">224</div><div data-line-number="225" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">225</div><div data-line-number="226" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">226</div><div data-line-number="227" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">227</div><div data-line-number="228" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">228</div><div data-line-number="229" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">229</div><div data-line-number="230" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">230</div><div data-line-number="231" class="child-of-line-213 react-line-number react-code-text" style="padding-right:16px">231</div><div data-line-number="232" class="react-line-number react-code-text" style="padding-right:16px">232</div><div data-line-number="233" class="react-line-number react-code-text" style="padding-right:16px">233</div><div data-line-number="234" class="react-line-number react-code-text" style="padding-right:16px">234<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="235" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">235</div><div data-line-number="236" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">236</div><div data-line-number="237" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">237</div><div data-line-number="238" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">238</div><div data-line-number="239" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">239</div><div data-line-number="240" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">240</div><div data-line-number="241" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">241</div><div data-line-number="242" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">242</div><div data-line-number="243" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">243</div><div data-line-number="244" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">244</div><div data-line-number="245" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">245</div><div data-line-number="246" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">246</div><div data-line-number="247" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">247</div><div data-line-number="248" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">248</div><div data-line-number="249" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">249</div><div data-line-number="250" class="child-of-line-233 react-line-number react-code-text" style="padding-right:16px">250</div><div data-line-number="251" class="react-line-number react-code-text" style="padding-right:16px">251</div><div data-line-number="252" class="react-line-number react-code-text" style="padding-right:16px">252</div><div data-line-number="253" class="react-line-number react-code-text" style="padding-right:16px">253<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="254" class="child-of-line-252 react-line-number react-code-text" style="padding-right:16px">254</div><div data-line-number="255" class="child-of-line-252 react-line-number react-code-text" style="padding-right:16px">255</div><div data-line-number="256" class="child-of-line-252 react-line-number react-code-text" style="padding-right:16px">256</div><div data-line-number="257" class="child-of-line-252 react-line-number react-code-text" style="padding-right:16px">257</div><div data-line-number="258" class="child-of-line-252 react-line-number react-code-text" style="padding-right:16px">258</div><div data-line-number="259" class="child-of-line-252 react-line-number react-code-text" style="padding-right:16px">259</div><div data-line-number="260" class="child-of-line-252 react-line-number react-code-text" style="padding-right:16px">260</div><div data-line-number="261" class="child-of-line-252 react-line-number react-code-text" style="padding-right:16px">261</div><div data-line-number="262" class="child-of-line-252 react-line-number react-code-text" style="padding-right:16px">262</div><div data-line-number="263" class="child-of-line-252 react-line-number react-code-text" style="padding-right:16px">263</div><div data-line-number="264" class="child-of-line-252 react-line-number react-code-text" style="padding-right:16px">264</div><div data-line-number="265" class="react-line-number react-code-text" style="padding-right:16px">265</div><div data-line-number="266" class="react-line-number react-code-text" style="padding-right:16px">266</div><div data-line-number="267" class="react-line-number react-code-text" style="padding-right:16px">267<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="268" class="child-of-line-266 react-line-number react-code-text" style="padding-right:16px">268</div><div data-line-number="269" class="child-of-line-266 react-line-number react-code-text" style="padding-right:16px">269</div><div data-line-number="270" class="child-of-line-266 react-line-number react-code-text" style="padding-right:16px">270</div><div data-line-number="271" class="child-of-line-266 react-line-number react-code-text" style="padding-right:16px">271</div><div data-line-number="272" class="react-line-number react-code-text" style="padding-right:16px">272</div><div data-line-number="273" class="react-line-number react-code-text" style="padding-right:16px">273</div><div data-line-number="274" class="react-line-number react-code-text" style="padding-right:16px">274<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="275" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">275</div><div data-line-number="276" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">276</div><div data-line-number="277" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">277</div><div data-line-number="278" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">278</div><div data-line-number="279" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">279</div><div data-line-number="280" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">280</div><div data-line-number="281" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">281</div><div data-line-number="282" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">282</div><div data-line-number="283" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">283</div><div data-line-number="284" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">284</div><div data-line-number="285" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">285</div><div data-line-number="286" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">286</div><div data-line-number="287" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">287</div><div data-line-number="288" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">288</div><div data-line-number="289" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">289</div><div data-line-number="290" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">290</div><div data-line-number="291" class="child-of-line-273 react-line-number react-code-text" style="padding-right:16px">291</div><div data-line-number="292" class="react-line-number react-code-text" style="padding-right:16px">292</div><div data-line-number="293" class="react-line-number react-code-text" style="padding-right:16px">293</div><div data-line-number="294" class="react-line-number react-code-text" style="padding-right:16px">294<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="295" class="child-of-line-293 react-line-number react-code-text" style="padding-right:16px">295</div><div data-line-number="296" class="child-of-line-293 react-line-number react-code-text" style="padding-right:16px">296</div><div data-line-number="297" class="child-of-line-293 react-line-number react-code-text" style="padding-right:16px">297</div><div data-line-number="298" class="child-of-line-293 react-line-number react-code-text" style="padding-right:16px">298</div><div data-line-number="299" class="child-of-line-293 react-line-number react-code-text" style="padding-right:16px">299</div><div data-line-number="300" class="child-of-line-293 react-line-number react-code-text" style="padding-right:16px">300</div><div data-line-number="301" class="child-of-line-293 react-line-number react-code-text" style="padding-right:16px">301</div><div data-line-number="302" class="child-of-line-293 react-line-number react-code-text" style="padding-right:16px">302</div><div data-line-number="303" class="child-of-line-293 react-line-number react-code-text" style="padding-right:16px">303</div><div data-line-number="304" class="child-of-line-293 react-line-number react-code-text" style="padding-right:16px">304</div><div data-line-number="305" class="react-line-number react-code-text" style="padding-right:16px">305</div><div data-line-number="306" class="react-line-number react-code-text" style="padding-right:16px">306</div><div data-line-number="307" class="react-line-number react-code-text" style="padding-right:16px">307<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="308" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">308</div><div data-line-number="309" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">309</div><div data-line-number="310" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">310</div><div data-line-number="311" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">311</div><div data-line-number="312" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">312</div><div data-line-number="313" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">313</div><div data-line-number="314" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">314</div><div data-line-number="315" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">315</div><div data-line-number="316" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">316</div><div data-line-number="317" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">317</div><div data-line-number="318" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">318</div><div data-line-number="319" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">319</div><div data-line-number="320" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">320</div><div data-line-number="321" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">321</div><div data-line-number="322" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">322</div><div data-line-number="323" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">323</div><div data-line-number="324" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">324</div><div data-line-number="325" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">325</div><div data-line-number="326" class="child-of-line-306 react-line-number react-code-text" style="padding-right:16px">326</div><div data-line-number="327" class="react-line-number react-code-text" style="padding-right:16px">327</div><div data-line-number="328" class="react-line-number react-code-text" style="padding-right:16px">328</div><div data-line-number="329" class="react-line-number react-code-text" style="padding-right:16px">329<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="330" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">330</div><div data-line-number="331" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">331</div><div data-line-number="332" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">332</div><div data-line-number="333" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">333</div><div data-line-number="334" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">334</div><div data-line-number="335" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">335</div><div data-line-number="336" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">336</div><div data-line-number="337" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">337</div><div data-line-number="338" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">338</div><div data-line-number="339" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">339</div><div data-line-number="340" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">340</div><div data-line-number="341" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">341</div><div data-line-number="342" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">342</div><div data-line-number="343" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">343</div><div data-line-number="344" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">344</div><div data-line-number="345" class="child-of-line-328 react-line-number react-code-text" style="padding-right:16px">345</div><div data-line-number="346" class="react-line-number react-code-text" style="padding-right:16px">346</div><div data-line-number="347" class="react-line-number react-code-text" style="padding-right:16px">347</div><div data-line-number="348" class="react-line-number react-code-text" style="padding-right:16px">348<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="349" class="child-of-line-347 react-line-number react-code-text" style="padding-right:16px">349</div><div data-line-number="350" class="child-of-line-347 react-line-number react-code-text" style="padding-right:16px">350</div><div data-line-number="351" class="child-of-line-347 react-line-number react-code-text" style="padding-right:16px">351</div><div data-line-number="352" class="child-of-line-347 react-line-number react-code-text" style="padding-right:16px">352</div><div data-line-number="353" class="child-of-line-347 react-line-number react-code-text" style="padding-right:16px">353</div><div data-line-number="354" class="child-of-line-347 react-line-number react-code-text" style="padding-right:16px">354</div><div data-line-number="355" class="child-of-line-347 react-line-number react-code-text" style="padding-right:16px">355</div><div data-line-number="356" class="child-of-line-347 react-line-number react-code-text" style="padding-right:16px">356</div><div data-line-number="357" class="child-of-line-347 react-line-number react-code-text" style="padding-right:16px">357</div><div data-line-number="358" class="child-of-line-347 react-line-number react-code-text" style="padding-right:16px">358</div><div data-line-number="359" class="child-of-line-347 react-line-number react-code-text" style="padding-right:16px">359</div><div data-line-number="360" class="react-line-number react-code-text" style="padding-right:16px">360</div><div data-line-number="361" class="react-line-number react-code-text" style="padding-right:16px">361</div><div data-line-number="362" class="react-line-number react-code-text" style="padding-right:16px">362<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="363" class="child-of-line-361 react-line-number react-code-text" style="padding-right:16px">363</div><div data-line-number="364" class="child-of-line-361 react-line-number react-code-text" style="padding-right:16px">364</div><div data-line-number="365" class="child-of-line-361 react-line-number react-code-text" style="padding-right:16px">365</div><div data-line-number="366" class="child-of-line-361 react-line-number react-code-text" style="padding-right:16px">366</div><div data-line-number="367" class="child-of-line-361 react-line-number react-code-text" style="padding-right:16px">367</div><div data-line-number="368" class="child-of-line-361 react-line-number react-code-text" style="padding-right:16px">368</div><div data-line-number="369" class="child-of-line-361 react-line-number react-code-text" style="padding-right:16px">369</div><div data-line-number="370" class="child-of-line-361 react-line-number react-code-text" style="padding-right:16px">370</div><div data-line-number="371" class="react-line-number react-code-text" style="padding-right:16px">371</div><div data-line-number="372" class="react-line-number react-code-text" style="padding-right:16px">372</div><div data-line-number="373" class="react-line-number react-code-text" style="padding-right:16px">373<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="374" class="child-of-line-372 react-line-number react-code-text" style="padding-right:16px">374</div><div data-line-number="375" class="child-of-line-372 react-line-number react-code-text" style="padding-right:16px">375</div><div data-line-number="376" class="child-of-line-372 react-line-number react-code-text" style="padding-right:16px">376</div><div data-line-number="377" class="child-of-line-372 react-line-number react-code-text" style="padding-right:16px">377</div><div data-line-number="378" class="child-of-line-372 react-line-number react-code-text" style="padding-right:16px">378</div><div data-line-number="379" class="child-of-line-372 react-line-number react-code-text" style="padding-right:16px">379</div><div data-line-number="380" class="child-of-line-372 react-line-number react-code-text" style="padding-right:16px">380</div><div data-line-number="381" class="react-line-number react-code-text" style="padding-right:16px">381</div><div data-line-number="382" class="react-line-number react-code-text" style="padding-right:16px">382</div><div data-line-number="383" class="react-line-number react-code-text" style="padding-right:16px">383<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="384" class="child-of-line-382 react-line-number react-code-text" style="padding-right:16px">384</div><div data-line-number="385" class="child-of-line-382 react-line-number react-code-text" style="padding-right:16px">385</div><div data-line-number="386" class="child-of-line-382 react-line-number react-code-text" style="padding-right:16px">386</div><div data-line-number="387" class="child-of-line-382 react-line-number react-code-text" style="padding-right:16px">387</div><div data-line-number="388" class="child-of-line-382 react-line-number react-code-text" style="padding-right:16px">388</div><div data-line-number="389" class="react-line-number react-code-text" style="padding-right:16px">389</div><div data-line-number="390" class="react-line-number react-code-text" style="padding-right:16px">390</div><div data-line-number="391" class="react-line-number react-code-text" style="padding-right:16px">391<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="392" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">392</div><div data-line-number="393" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">393</div><div data-line-number="394" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">394</div><div data-line-number="395" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">395</div><div data-line-number="396" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">396</div><div data-line-number="397" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">397</div><div data-line-number="398" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">398</div><div data-line-number="399" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">399</div><div data-line-number="400" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">400</div><div data-line-number="401" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">401</div><div data-line-number="402" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">402</div><div data-line-number="403" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">403</div><div data-line-number="404" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">404</div><div data-line-number="405" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">405</div><div data-line-number="406" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">406</div><div data-line-number="407" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">407</div><div data-line-number="408" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">408</div><div data-line-number="409" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">409</div><div data-line-number="410" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">410</div><div data-line-number="411" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">411</div><div data-line-number="412" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">412</div><div data-line-number="413" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">413</div><div data-line-number="414" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">414</div><div data-line-number="415" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">415</div><div data-line-number="416" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">416</div><div data-line-number="417" class="child-of-line-390 react-line-number react-code-text" style="padding-right:16px">417</div><div data-line-number="418" class="react-line-number react-code-text" style="padding-right:16px">418</div><div data-line-number="419" class="react-line-number react-code-text" style="padding-right:16px">419</div><div data-line-number="420" class="react-line-number react-code-text" style="padding-right:16px">420<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="421" class="child-of-line-419 react-line-number react-code-text" style="padding-right:16px">421</div><div data-line-number="422" class="child-of-line-419 react-line-number react-code-text" style="padding-right:16px">422</div><div data-line-number="423" class="child-of-line-419 react-line-number react-code-text" style="padding-right:16px">423</div><div data-line-number="424" class="child-of-line-419 react-line-number react-code-text" style="padding-right:16px">424</div><div data-line-number="425" class="child-of-line-419 react-line-number react-code-text" style="padding-right:16px">425</div><div data-line-number="426" class="react-line-number react-code-text" style="padding-right:16px">426</div><div data-line-number="427" class="react-line-number react-code-text" style="padding-right:16px">427</div><div data-line-number="428" class="react-line-number react-code-text" style="padding-right:16px">428</div><div data-line-number="429" class="react-line-number react-code-text" style="padding-right:16px">429</div><div data-line-number="430" class="react-line-number react-code-text" style="padding-right:16px">430</div><div data-line-number="431" class="react-line-number react-code-text" style="padding-right:16px">431</div><div data-line-number="432" class="react-line-number react-code-text" style="padding-right:16px">432<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="433" class="child-of-line-431 react-line-number react-code-text" style="padding-right:16px">433</div><div data-line-number="434" class="child-of-line-431 react-line-number react-code-text" style="padding-right:16px">434</div><div data-line-number="435" class="child-of-line-431 react-line-number react-code-text" style="padding-right:16px">435</div><div data-line-number="436" class="react-line-number react-code-text" style="padding-right:16px">436</div><div data-line-number="437" class="react-line-number react-code-text" style="padding-right:16px">437</div><div data-line-number="438" class="react-line-number react-code-text" style="padding-right:16px">438<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="439" class="child-of-line-437 react-line-number react-code-text" style="padding-right:16px">439</div><div data-line-number="440" class="child-of-line-437 react-line-number react-code-text" style="padding-right:16px">440</div><div data-line-number="441" class="child-of-line-437 react-line-number react-code-text" style="padding-right:16px">441</div><div data-line-number="442" class="child-of-line-437 react-line-number react-code-text" style="padding-right:16px">442</div><div data-line-number="443" class="child-of-line-437 react-line-number react-code-text" style="padding-right:16px">443</div><div data-line-number="444" class="react-line-number react-code-text" style="padding-right:16px">444</div><div data-line-number="445" class="react-line-number react-code-text" style="padding-right:16px">445</div><div data-line-number="446" class="react-line-number react-code-text" style="padding-right:16px">446</div><div data-line-number="447" class="react-line-number react-code-text" style="padding-right:16px">447</div><div data-line-number="448" class="react-line-number react-code-text" style="padding-right:16px">448</div><div data-line-number="449" class="react-line-number react-code-text" style="padding-right:16px">449</div><div data-line-number="450" class="react-line-number react-code-text" style="padding-right:16px">450<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="451" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">451</div><div data-line-number="452" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">452</div><div data-line-number="453" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">453</div><div data-line-number="454" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">454</div><div data-line-number="455" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">455</div><div data-line-number="456" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">456</div><div data-line-number="457" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">457</div><div data-line-number="458" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">458</div><div data-line-number="459" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">459</div><div data-line-number="460" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">460</div><div data-line-number="461" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">461</div><div data-line-number="462" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">462</div><div data-line-number="463" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">463</div><div data-line-number="464" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">464</div><div data-line-number="465" class="child-of-line-449 react-line-number react-code-text" style="padding-right:16px">465</div><div data-line-number="466" class="react-line-number react-code-text" style="padding-right:16px">466</div><div data-line-number="467" class="react-line-number react-code-text" style="padding-right:16px">467</div><div data-line-number="468" class="react-line-number react-code-text" style="padding-right:16px">468<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="469" class="child-of-line-467 react-line-number react-code-text" style="padding-right:16px">469</div><div data-line-number="470" class="child-of-line-467 react-line-number react-code-text" style="padding-right:16px">470</div><div data-line-number="471" class="child-of-line-467 react-line-number react-code-text" style="padding-right:16px">471</div><div data-line-number="472" class="react-line-number react-code-text" style="padding-right:16px">472</div><div data-line-number="473" class="react-line-number react-code-text" style="padding-right:16px">473</div><div data-line-number="474" class="react-line-number react-code-text" style="padding-right:16px">474</div><div data-line-number="475" class="react-line-number react-code-text" style="padding-right:16px">475</div><div data-line-number="476" class="react-line-number react-code-text" style="padding-right:16px">476</div><div data-line-number="477" class="react-line-number react-code-text" style="padding-right:16px">477</div><div data-line-number="478" class="react-line-number react-code-text" style="padding-right:16px">478</div><div data-line-number="479" class="react-line-number react-code-text" style="padding-right:16px">479<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="480" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">480</div><div data-line-number="481" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">481</div><div data-line-number="482" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">482</div><div data-line-number="483" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">483</div><div data-line-number="484" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">484</div><div data-line-number="485" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">485</div><div data-line-number="486" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">486</div><div data-line-number="487" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">487</div><div data-line-number="488" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">488</div><div data-line-number="489" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">489</div><div data-line-number="490" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">490</div><div data-line-number="491" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">491</div><div data-line-number="492" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">492</div><div data-line-number="493" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">493</div><div data-line-number="494" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">494</div><div data-line-number="495" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">495</div><div data-line-number="496" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">496</div><div data-line-number="497" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">497</div><div data-line-number="498" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">498</div><div data-line-number="499" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">499</div><div data-line-number="500" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">500</div><div data-line-number="501" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">501</div><div data-line-number="502" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">502</div><div data-line-number="503" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">503</div><div data-line-number="504" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">504</div><div data-line-number="505" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">505</div><div data-line-number="506" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">506</div><div data-line-number="507" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">507</div><div data-line-number="508" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">508</div><div data-line-number="509" class="child-of-line-478 react-line-number react-code-text" style="padding-right:16px">509</div><div data-line-number="510" class="react-line-number react-code-text" style="padding-right:16px">510</div><div data-line-number="511" class="react-line-number react-code-text" style="padding-right:16px">511</div><div data-line-number="512" class="react-line-number react-code-text" style="padding-right:16px">512<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="513" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">513</div><div data-line-number="514" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">514</div><div data-line-number="515" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">515</div><div data-line-number="516" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">516</div><div data-line-number="517" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">517</div><div data-line-number="518" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">518</div><div data-line-number="519" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">519</div><div data-line-number="520" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">520</div><div data-line-number="521" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">521</div><div data-line-number="522" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">522</div><div data-line-number="523" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">523</div><div data-line-number="524" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">524</div><div data-line-number="525" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">525</div><div data-line-number="526" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">526</div><div data-line-number="527" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">527</div><div data-line-number="528" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">528</div><div data-line-number="529" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">529</div><div data-line-number="530" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">530</div><div data-line-number="531" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">531</div><div data-line-number="532" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">532</div><div data-line-number="533" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">533</div><div data-line-number="534" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">534</div><div data-line-number="535" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">535</div><div data-line-number="536" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">536</div><div data-line-number="537" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">537</div><div data-line-number="538" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">538</div><div data-line-number="539" class="child-of-line-511 react-line-number react-code-text" style="padding-right:16px">539</div><div data-line-number="540" class="react-line-number react-code-text" style="padding-right:16px">540</div><div data-line-number="541" class="react-line-number react-code-text" style="padding-right:16px">541</div><div data-line-number="542" class="react-line-number react-code-text" style="padding-right:16px">542<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="543" class="child-of-line-541 react-line-number react-code-text" style="padding-right:16px">543</div><div data-line-number="544" class="child-of-line-541 react-line-number react-code-text" style="padding-right:16px">544</div><div data-line-number="545" class="child-of-line-541 react-line-number react-code-text" style="padding-right:16px">545</div><div data-line-number="546" class="child-of-line-541 react-line-number react-code-text" style="padding-right:16px">546</div><div data-line-number="547" class="react-line-number react-code-text" style="padding-right:16px">547</div><div data-line-number="548" class="react-line-number react-code-text" style="padding-right:16px">548</div><div data-line-number="549" class="react-line-number react-code-text" style="padding-right:16px">549<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="550" class="child-of-line-548 react-line-number react-code-text" style="padding-right:16px">550</div><div data-line-number="551" class="child-of-line-548 react-line-number react-code-text" style="padding-right:16px">551</div><div data-line-number="552" class="child-of-line-548 react-line-number react-code-text" style="padding-right:16px">552</div><div data-line-number="553" class="child-of-line-548 react-line-number react-code-text" style="padding-right:16px">553</div><div data-line-number="554" class="react-line-number react-code-text" style="padding-right:16px">554</div><div data-line-number="555" class="react-line-number react-code-text" style="padding-right:16px">555</div><div data-line-number="556" class="react-line-number react-code-text" style="padding-right:16px">556<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="557" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">557</div><div data-line-number="558" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">558</div><div data-line-number="559" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">559</div><div data-line-number="560" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">560</div><div data-line-number="561" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">561</div><div data-line-number="562" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">562</div><div data-line-number="563" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">563</div><div data-line-number="564" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">564</div><div data-line-number="565" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">565</div><div data-line-number="566" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">566</div><div data-line-number="567" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">567</div><div data-line-number="568" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">568</div><div data-line-number="569" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">569</div><div data-line-number="570" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">570</div><div data-line-number="571" class="child-of-line-555 react-line-number react-code-text" style="padding-right:16px">571</div><div data-line-number="572" class="react-line-number react-code-text" style="padding-right:16px">572</div><div data-line-number="573" class="react-line-number react-code-text" style="padding-right:16px">573</div><div data-line-number="574" class="react-line-number react-code-text" style="padding-right:16px">574<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="575" class="child-of-line-573 react-line-number react-code-text" style="padding-right:16px">575</div><div data-line-number="576" class="child-of-line-573 react-line-number react-code-text" style="padding-right:16px">576</div><div data-line-number="577" class="child-of-line-573 react-line-number react-code-text" style="padding-right:16px">577</div><div data-line-number="578" class="child-of-line-573 react-line-number react-code-text" style="padding-right:16px">578</div><div data-line-number="579" class="react-line-number react-code-text" style="padding-right:16px">579</div><div data-line-number="580" class="react-line-number react-code-text" style="padding-right:16px">580</div><div data-line-number="581" class="react-line-number react-code-text" style="padding-right:16px">581</div><div data-line-number="582" class="react-line-number react-code-text" style="padding-right:16px">582</div><div data-line-number="583" class="react-line-number react-code-text" style="padding-right:16px">583</div><div data-line-number="584" class="react-line-number react-code-text" style="padding-right:16px">584</div><div data-line-number="585" class="react-line-number react-code-text" style="padding-right:16px">585<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="586" class="child-of-line-584 react-line-number react-code-text" style="padding-right:16px">586</div><div data-line-number="587" class="child-of-line-584 react-line-number react-code-text" style="padding-right:16px">587</div><div data-line-number="588" class="child-of-line-584 react-line-number react-code-text" style="padding-right:16px">588</div><div data-line-number="589" class="react-line-number react-code-text" style="padding-right:16px">589</div><div data-line-number="590" class="react-line-number react-code-text" style="padding-right:16px">590</div><div data-line-number="591" class="react-line-number react-code-text" style="padding-right:16px">591<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="592" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">592</div><div data-line-number="593" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">593</div><div data-line-number="594" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">594</div><div data-line-number="595" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">595</div><div data-line-number="596" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">596</div><div data-line-number="597" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">597</div><div data-line-number="598" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">598</div><div data-line-number="599" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">599</div><div data-line-number="600" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">600</div><div data-line-number="601" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">601</div><div data-line-number="602" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">602</div><div data-line-number="603" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">603</div><div data-line-number="604" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">604</div><div data-line-number="605" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">605</div><div data-line-number="606" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">606</div><div data-line-number="607" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">607</div><div data-line-number="608" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">608</div><div data-line-number="609" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">609</div><div data-line-number="610" class="child-of-line-590 react-line-number react-code-text" style="padding-right:16px">610</div><div data-line-number="611" class="react-line-number react-code-text" style="padding-right:16px">611</div><div data-line-number="612" class="react-line-number react-code-text" style="padding-right:16px">612</div><div data-line-number="613" class="react-line-number react-code-text" style="padding-right:16px">613<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="614" class="child-of-line-612 react-line-number react-code-text" style="padding-right:16px">614</div><div data-line-number="615" class="child-of-line-612 react-line-number react-code-text" style="padding-right:16px">615</div><div data-line-number="616" class="child-of-line-612 react-line-number react-code-text" style="padding-right:16px">616</div><div data-line-number="617" class="react-line-number react-code-text" style="padding-right:16px">617</div><div data-line-number="618" class="react-line-number react-code-text" style="padding-right:16px">618</div><div data-line-number="619" class="react-line-number react-code-text" style="padding-right:16px">619</div><div data-line-number="620" class="react-line-number react-code-text" style="padding-right:16px">620</div><div data-line-number="621" class="react-line-number react-code-text" style="padding-right:16px">621</div><div data-line-number="622" class="react-line-number react-code-text" style="padding-right:16px">622</div><div data-line-number="623" class="react-line-number react-code-text" style="padding-right:16px">623<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></div></span></div><div data-line-number="624" class="child-of-line-622 react-line-number react-code-text" style="padding-right:16px">624</div><div data-line-number="625" class="child-of-line-622 react-line-number react-code-text" style="padding-right:16px">625</div><div data-line-number="626" class="child-of-line-622 react-line-number react-code-text" style="padding-right:16px">626</div><div data-line-number="627" class="child-of-line-622 react-line-number react-code-text" style="padding-right:16px">627</div><div data-line-number="628" class="child-of-line-622 react-line-number react-code-text" style="padding-right:16px">628</div><div data-line-number="629" class="react-line-number react-code-text" style="padding-right:16px">629</div></div><div class="react-code-lines"><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC1" class="react-file-line html-div" data-testid="code-cell" data-line-number="1" style="position:relative"><span class="pl-k">package</span> readline</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC2" class="react-file-line html-div" data-testid="code-cell" data-line-number="2" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC3" class="react-file-line html-div" data-testid="code-cell" data-line-number="3" style="position:relative"><span class="pl-k">import</span> (</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC4" class="react-file-line html-div" data-testid="code-cell" data-line-number="4" style="position:relative"> <span class="pl-s">&quot;bufio&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC5" class="react-file-line html-div" data-testid="code-cell" data-line-number="5" style="position:relative"> <span class="pl-s">&quot;bytes&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC6" class="react-file-line html-div" data-testid="code-cell" data-line-number="6" style="position:relative"> <span class="pl-s">&quot;io&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC7" class="react-file-line html-div" data-testid="code-cell" data-line-number="7" style="position:relative"> <span class="pl-s">&quot;strconv&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC8" class="react-file-line html-div" data-testid="code-cell" data-line-number="8" style="position:relative"> <span class="pl-s">&quot;strings&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC9" class="react-file-line html-div" data-testid="code-cell" data-line-number="9" style="position:relative"> <span class="pl-s">&quot;sync&quot;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC10" class="react-file-line html-div" data-testid="code-cell" data-line-number="10" style="position:relative">)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC11" class="react-file-line html-div" data-testid="code-cell" data-line-number="11" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC12" class="react-file-line html-div" data-testid="code-cell" data-line-number="12" style="position:relative"><span class="pl-k">type</span> <span class="pl-smi">runeBufferBck</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC13" class="react-file-line html-div" data-testid="code-cell" data-line-number="13" style="position:relative"> <span class="pl-c1">buf</span> []<span class="pl-smi">rune</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC14" class="react-file-line html-div" data-testid="code-cell" data-line-number="14" style="position:relative"> <span class="pl-c1">idx</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC15" class="react-file-line html-div" data-testid="code-cell" data-line-number="15" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC16" class="react-file-line html-div" data-testid="code-cell" data-line-number="16" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC17" class="react-file-line html-div" data-testid="code-cell" data-line-number="17" style="position:relative"><span class="pl-k">type</span> <span class="pl-smi">RuneBuffer</span> <span class="pl-k">struct</span> {</div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC18" class="react-file-line html-div" data-testid="code-cell" data-line-number="18" style="position:relative"> <span class="pl-c1">buf</span> []<span class="pl-smi">rune</span></div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC19" class="react-file-line html-div" data-testid="code-cell" data-line-number="19" style="position:relative"> <span class="pl-c1">idx</span> <span class="pl-smi">int</span></div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC20" class="react-file-line html-div" data-testid="code-cell" data-line-number="20" style="position:relative"> <span class="pl-c1">prompt</span> []<span class="pl-smi">rune</span></div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC21" class="react-file-line html-div" data-testid="code-cell" data-line-number="21" style="position:relative"> <span class="pl-c1">w</span> io.<span class="pl-smi">Writer</span></div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC22" class="react-file-line html-div" data-testid="code-cell" data-line-number="22" style="position:relative"> </div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC23" class="react-file-line html-div" data-testid="code-cell" data-line-number="23" style="position:relative"> <span class="pl-c1">hadClean</span> <span class="pl-smi">bool</span></div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC24" class="react-file-line html-div" data-testid="code-cell" data-line-number="24" style="position:relative"> <span class="pl-c1">interactive</span> <span class="pl-smi">bool</span></div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC25" class="react-file-line html-div" data-testid="code-cell" data-line-number="25" style="position:relative"> <span class="pl-c1">cfg</span> <span class="pl-c1">*</span><span class="pl-smi">Config</span></div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC26" class="react-file-line html-div" data-testid="code-cell" data-line-number="26" style="position:relative"> </div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC27" class="react-file-line html-div" data-testid="code-cell" data-line-number="27" style="position:relative"> <span class="pl-c1">width</span> <span class="pl-smi">int</span></div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC28" class="react-file-line html-div" data-testid="code-cell" data-line-number="28" style="position:relative"> </div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC29" class="react-file-line html-div" data-testid="code-cell" data-line-number="29" style="position:relative"> <span class="pl-c1">bck</span> <span class="pl-c1">*</span><span class="pl-smi">runeBufferBck</span></div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC30" class="react-file-line html-div" data-testid="code-cell" data-line-number="30" style="position:relative"> </div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC31" class="react-file-line html-div" data-testid="code-cell" data-line-number="31" style="position:relative"> <span class="pl-c1">offset</span> <span class="pl-smi">string</span></div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC32" class="react-file-line html-div" data-testid="code-cell" data-line-number="32" style="position:relative"> </div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC33" class="react-file-line html-div" data-testid="code-cell" data-line-number="33" style="position:relative"> <span class="pl-c1">lastKill</span> []<span class="pl-smi">rune</span></div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC34" class="react-file-line html-div" data-testid="code-cell" data-line-number="34" style="position:relative"> </div></div></div><div class="child-of-line-16 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC35" class="react-file-line html-div" data-testid="code-cell" data-line-number="35" style="position:relative"> sync.<span class="pl-smi">Mutex</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC36" class="react-file-line html-div" data-testid="code-cell" data-line-number="36" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC37" class="react-file-line html-div" data-testid="code-cell" data-line-number="37" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC38" class="react-file-line html-div" data-testid="code-cell" data-line-number="38" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">pushKill</span>(<span class="pl-s1">text</span> []<span class="pl-smi">rune</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC39" class="react-file-line html-div" data-testid="code-cell" data-line-number="39" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">lastKill</span> <span class="pl-c1">=</span> <span class="pl-en">append</span>([]<span class="pl-smi">rune</span>{}, <span class="pl-s1">text</span><span class="pl-c1">...</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC40" class="react-file-line html-div" data-testid="code-cell" data-line-number="40" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC41" class="react-file-line html-div" data-testid="code-cell" data-line-number="41" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC42" class="react-file-line html-div" data-testid="code-cell" data-line-number="42" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">OnWidthChange</span>(<span class="pl-s1">newWidth</span> <span class="pl-smi">int</span>) {</div></div></div><div class="child-of-line-41 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC43" class="react-file-line html-div" data-testid="code-cell" data-line-number="43" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-41 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC44" class="react-file-line html-div" data-testid="code-cell" data-line-number="44" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">width</span> <span class="pl-c1">=</span> <span class="pl-s1">newWidth</span></div></div></div><div class="child-of-line-41 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC45" class="react-file-line html-div" data-testid="code-cell" data-line-number="45" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC46" class="react-file-line html-div" data-testid="code-cell" data-line-number="46" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC47" class="react-file-line html-div" data-testid="code-cell" data-line-number="47" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC48" class="react-file-line html-div" data-testid="code-cell" data-line-number="48" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Backup</span>() {</div></div></div><div class="child-of-line-47 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC49" class="react-file-line html-div" data-testid="code-cell" data-line-number="49" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-47 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC50" class="react-file-line html-div" data-testid="code-cell" data-line-number="50" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">bck</span> <span class="pl-c1">=</span> <span class="pl-c1">&amp;</span><span class="pl-smi">runeBufferBck</span>{<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>, <span class="pl-s1">r</span>.<span class="pl-c1">idx</span>}</div></div></div><div class="child-of-line-47 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC51" class="react-file-line html-div" data-testid="code-cell" data-line-number="51" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC52" class="react-file-line html-div" data-testid="code-cell" data-line-number="52" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC53" class="react-file-line html-div" data-testid="code-cell" data-line-number="53" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC54" class="react-file-line html-div" data-testid="code-cell" data-line-number="54" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Restore</span>() {</div></div></div><div class="child-of-line-53 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC55" class="react-file-line html-div" data-testid="code-cell" data-line-number="55" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-53 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC56" class="react-file-line html-div" data-testid="code-cell" data-line-number="56" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">bck</span> <span class="pl-c1">==</span> <span class="pl-c1">nil</span> {</div></div></div><div class="child-of-line-53 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC57" class="react-file-line html-div" data-testid="code-cell" data-line-number="57" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-53 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC58" class="react-file-line html-div" data-testid="code-cell" data-line-number="58" style="position:relative"> }</div></div></div><div class="child-of-line-53 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC59" class="react-file-line html-div" data-testid="code-cell" data-line-number="59" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-s1">r</span>.<span class="pl-c1">bck</span>.<span class="pl-c1">buf</span></div></div></div><div class="child-of-line-53 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC60" class="react-file-line html-div" data-testid="code-cell" data-line-number="60" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-s1">r</span>.<span class="pl-c1">bck</span>.<span class="pl-c1">idx</span></div></div></div><div class="child-of-line-53 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC61" class="react-file-line html-div" data-testid="code-cell" data-line-number="61" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC62" class="react-file-line html-div" data-testid="code-cell" data-line-number="62" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC63" class="react-file-line html-div" data-testid="code-cell" data-line-number="63" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC64" class="react-file-line html-div" data-testid="code-cell" data-line-number="64" style="position:relative"><span class="pl-k">func</span> <span class="pl-en">NewRuneBuffer</span>(<span class="pl-s1">w</span> io.<span class="pl-smi">Writer</span>, <span class="pl-s1">prompt</span> <span class="pl-smi">string</span>, <span class="pl-s1">cfg</span> <span class="pl-c1">*</span><span class="pl-smi">Config</span>, <span class="pl-s1">width</span> <span class="pl-smi">int</span>) <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span> {</div></div></div><div class="child-of-line-63 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC65" class="react-file-line html-div" data-testid="code-cell" data-line-number="65" style="position:relative"> <span class="pl-s1">rb</span> <span class="pl-c1">:=</span> <span class="pl-c1">&amp;</span><span class="pl-smi">RuneBuffer</span>{</div></div></div><div class="child-of-line-63 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC66" class="react-file-line html-div" data-testid="code-cell" data-line-number="66" style="position:relative"> <span class="pl-s1">w</span>: <span class="pl-s1">w</span>,</div></div></div><div class="child-of-line-63 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC67" class="react-file-line html-div" data-testid="code-cell" data-line-number="67" style="position:relative"> <span class="pl-s1">interactive</span>: <span class="pl-s1">cfg</span>.<span class="pl-en">useInteractive</span>(),</div></div></div><div class="child-of-line-63 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC68" class="react-file-line html-div" data-testid="code-cell" data-line-number="68" style="position:relative"> <span class="pl-s1">cfg</span>: <span class="pl-s1">cfg</span>,</div></div></div><div class="child-of-line-63 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC69" class="react-file-line html-div" data-testid="code-cell" data-line-number="69" style="position:relative"> <span class="pl-s1">width</span>: <span class="pl-s1">width</span>,</div></div></div><div class="child-of-line-63 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC70" class="react-file-line html-div" data-testid="code-cell" data-line-number="70" style="position:relative"> }</div></div></div><div class="child-of-line-63 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC71" class="react-file-line html-div" data-testid="code-cell" data-line-number="71" style="position:relative"> <span class="pl-s1">rb</span>.<span class="pl-en">SetPrompt</span>(<span class="pl-s1">prompt</span>)</div></div></div><div class="child-of-line-63 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC72" class="react-file-line html-div" data-testid="code-cell" data-line-number="72" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">rb</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC73" class="react-file-line html-div" data-testid="code-cell" data-line-number="73" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC74" class="react-file-line html-div" data-testid="code-cell" data-line-number="74" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC75" class="react-file-line html-div" data-testid="code-cell" data-line-number="75" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">SetConfig</span>(<span class="pl-s1">cfg</span> <span class="pl-c1">*</span><span class="pl-smi">Config</span>) {</div></div></div><div class="child-of-line-74 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC76" class="react-file-line html-div" data-testid="code-cell" data-line-number="76" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-74 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC77" class="react-file-line html-div" data-testid="code-cell" data-line-number="77" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">cfg</span> <span class="pl-c1">=</span> <span class="pl-s1">cfg</span></div></div></div><div class="child-of-line-74 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC78" class="react-file-line html-div" data-testid="code-cell" data-line-number="78" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">interactive</span> <span class="pl-c1">=</span> <span class="pl-s1">cfg</span>.<span class="pl-en">useInteractive</span>()</div></div></div><div class="child-of-line-74 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC79" class="react-file-line html-div" data-testid="code-cell" data-line-number="79" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC80" class="react-file-line html-div" data-testid="code-cell" data-line-number="80" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC81" class="react-file-line html-div" data-testid="code-cell" data-line-number="81" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC82" class="react-file-line html-div" data-testid="code-cell" data-line-number="82" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">SetMask</span>(<span class="pl-s1">m</span> <span class="pl-smi">rune</span>) {</div></div></div><div class="child-of-line-81 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC83" class="react-file-line html-div" data-testid="code-cell" data-line-number="83" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-81 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC84" class="react-file-line html-div" data-testid="code-cell" data-line-number="84" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">cfg</span>.<span class="pl-c1">MaskRune</span> <span class="pl-c1">=</span> <span class="pl-s1">m</span></div></div></div><div class="child-of-line-81 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC85" class="react-file-line html-div" data-testid="code-cell" data-line-number="85" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC86" class="react-file-line html-div" data-testid="code-cell" data-line-number="86" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC87" class="react-file-line html-div" data-testid="code-cell" data-line-number="87" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC88" class="react-file-line html-div" data-testid="code-cell" data-line-number="88" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">CurrentWidth</span>(<span class="pl-s1">x</span> <span class="pl-smi">int</span>) <span class="pl-smi">int</span> {</div></div></div><div class="child-of-line-87 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC89" class="react-file-line html-div" data-testid="code-cell" data-line-number="89" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-87 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC90" class="react-file-line html-div" data-testid="code-cell" data-line-number="90" style="position:relative"> <span class="pl-k">defer</span> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="child-of-line-87 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC91" class="react-file-line html-div" data-testid="code-cell" data-line-number="91" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">runes</span>.<span class="pl-en">WidthAll</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-s1">x</span>])</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC92" class="react-file-line html-div" data-testid="code-cell" data-line-number="92" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC93" class="react-file-line html-div" data-testid="code-cell" data-line-number="93" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC94" class="react-file-line html-div" data-testid="code-cell" data-line-number="94" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">PromptLen</span>() <span class="pl-smi">int</span> {</div></div></div><div class="child-of-line-93 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC95" class="react-file-line html-div" data-testid="code-cell" data-line-number="95" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-93 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC96" class="react-file-line html-div" data-testid="code-cell" data-line-number="96" style="position:relative"> <span class="pl-s1">width</span> <span class="pl-c1">:=</span> <span class="pl-s1">r</span>.<span class="pl-en">promptLen</span>()</div></div></div><div class="child-of-line-93 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC97" class="react-file-line html-div" data-testid="code-cell" data-line-number="97" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="child-of-line-93 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC98" class="react-file-line html-div" data-testid="code-cell" data-line-number="98" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">width</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC99" class="react-file-line html-div" data-testid="code-cell" data-line-number="99" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC100" class="react-file-line html-div" data-testid="code-cell" data-line-number="100" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC101" class="react-file-line html-div" data-testid="code-cell" data-line-number="101" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">promptLen</span>() <span class="pl-smi">int</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC102" class="react-file-line html-div" data-testid="code-cell" data-line-number="102" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">runes</span>.<span class="pl-en">WidthAll</span>(<span class="pl-s1">runes</span>.<span class="pl-en">ColorFilter</span>(<span class="pl-s1">r</span>.<span class="pl-c1">prompt</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC103" class="react-file-line html-div" data-testid="code-cell" data-line-number="103" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC104" class="react-file-line html-div" data-testid="code-cell" data-line-number="104" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC105" class="react-file-line html-div" data-testid="code-cell" data-line-number="105" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">RuneSlice</span>(<span class="pl-s1">i</span> <span class="pl-smi">int</span>) []<span class="pl-smi">rune</span> {</div></div></div><div class="child-of-line-104 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC106" class="react-file-line html-div" data-testid="code-cell" data-line-number="106" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-104 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC107" class="react-file-line html-div" data-testid="code-cell" data-line-number="107" style="position:relative"> <span class="pl-k">defer</span> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="child-of-line-104 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC108" class="react-file-line html-div" data-testid="code-cell" data-line-number="108" style="position:relative"> </div></div></div><div class="child-of-line-104 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC109" class="react-file-line html-div" data-testid="code-cell" data-line-number="109" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">i</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-104 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC110" class="react-file-line html-div" data-testid="code-cell" data-line-number="110" style="position:relative"> <span class="pl-s1">rs</span> <span class="pl-c1">:=</span> <span class="pl-en">make</span>([]<span class="pl-smi">rune</span>, <span class="pl-s1">i</span>)</div></div></div><div class="child-of-line-104 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC111" class="react-file-line html-div" data-testid="code-cell" data-line-number="111" style="position:relative"> <span class="pl-en">copy</span>(<span class="pl-s1">rs</span>, <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>:<span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">+</span><span class="pl-s1">i</span>])</div></div></div><div class="child-of-line-104 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC112" class="react-file-line html-div" data-testid="code-cell" data-line-number="112" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">rs</span></div></div></div><div class="child-of-line-104 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC113" class="react-file-line html-div" data-testid="code-cell" data-line-number="113" style="position:relative"> }</div></div></div><div class="child-of-line-104 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC114" class="react-file-line html-div" data-testid="code-cell" data-line-number="114" style="position:relative"> <span class="pl-s1">rs</span> <span class="pl-c1">:=</span> <span class="pl-en">make</span>([]<span class="pl-smi">rune</span>, <span class="pl-c1">-</span><span class="pl-s1">i</span>)</div></div></div><div class="child-of-line-104 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC115" class="react-file-line html-div" data-testid="code-cell" data-line-number="115" style="position:relative"> <span class="pl-en">copy</span>(<span class="pl-s1">rs</span>, <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">+</span><span class="pl-s1">i</span>:<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>])</div></div></div><div class="child-of-line-104 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC116" class="react-file-line html-div" data-testid="code-cell" data-line-number="116" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">rs</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC117" class="react-file-line html-div" data-testid="code-cell" data-line-number="117" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC118" class="react-file-line html-div" data-testid="code-cell" data-line-number="118" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC119" class="react-file-line html-div" data-testid="code-cell" data-line-number="119" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Runes</span>() []<span class="pl-smi">rune</span> {</div></div></div><div class="child-of-line-118 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC120" class="react-file-line html-div" data-testid="code-cell" data-line-number="120" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-118 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC121" class="react-file-line html-div" data-testid="code-cell" data-line-number="121" style="position:relative"> <span class="pl-s1">newr</span> <span class="pl-c1">:=</span> <span class="pl-en">make</span>([]<span class="pl-smi">rune</span>, <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>))</div></div></div><div class="child-of-line-118 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC122" class="react-file-line html-div" data-testid="code-cell" data-line-number="122" style="position:relative"> <span class="pl-en">copy</span>(<span class="pl-s1">newr</span>, <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)</div></div></div><div class="child-of-line-118 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC123" class="react-file-line html-div" data-testid="code-cell" data-line-number="123" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="child-of-line-118 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC124" class="react-file-line html-div" data-testid="code-cell" data-line-number="124" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">newr</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC125" class="react-file-line html-div" data-testid="code-cell" data-line-number="125" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC126" class="react-file-line html-div" data-testid="code-cell" data-line-number="126" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC127" class="react-file-line html-div" data-testid="code-cell" data-line-number="127" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Pos</span>() <span class="pl-smi">int</span> {</div></div></div><div class="child-of-line-126 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC128" class="react-file-line html-div" data-testid="code-cell" data-line-number="128" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-126 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC129" class="react-file-line html-div" data-testid="code-cell" data-line-number="129" style="position:relative"> <span class="pl-k">defer</span> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="child-of-line-126 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC130" class="react-file-line html-div" data-testid="code-cell" data-line-number="130" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC131" class="react-file-line html-div" data-testid="code-cell" data-line-number="131" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC132" class="react-file-line html-div" data-testid="code-cell" data-line-number="132" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC133" class="react-file-line html-div" data-testid="code-cell" data-line-number="133" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Len</span>() <span class="pl-smi">int</span> {</div></div></div><div class="child-of-line-132 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC134" class="react-file-line html-div" data-testid="code-cell" data-line-number="134" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-132 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC135" class="react-file-line html-div" data-testid="code-cell" data-line-number="135" style="position:relative"> <span class="pl-k">defer</span> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="child-of-line-132 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC136" class="react-file-line html-div" data-testid="code-cell" data-line-number="136" style="position:relative"> <span class="pl-k">return</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC137" class="react-file-line html-div" data-testid="code-cell" data-line-number="137" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC138" class="react-file-line html-div" data-testid="code-cell" data-line-number="138" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC139" class="react-file-line html-div" data-testid="code-cell" data-line-number="139" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">MoveToLineStart</span>() {</div></div></div><div class="child-of-line-138 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC140" class="react-file-line html-div" data-testid="code-cell" data-line-number="140" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-138 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC141" class="react-file-line html-div" data-testid="code-cell" data-line-number="141" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-138 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC142" class="react-file-line html-div" data-testid="code-cell" data-line-number="142" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-138 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC143" class="react-file-line html-div" data-testid="code-cell" data-line-number="143" style="position:relative"> }</div></div></div><div class="child-of-line-138 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC144" class="react-file-line html-div" data-testid="code-cell" data-line-number="144" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span></div></div></div><div class="child-of-line-138 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC145" class="react-file-line html-div" data-testid="code-cell" data-line-number="145" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC146" class="react-file-line html-div" data-testid="code-cell" data-line-number="146" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC147" class="react-file-line html-div" data-testid="code-cell" data-line-number="147" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC148" class="react-file-line html-div" data-testid="code-cell" data-line-number="148" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">MoveBackward</span>() {</div></div></div><div class="child-of-line-147 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC149" class="react-file-line html-div" data-testid="code-cell" data-line-number="149" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-147 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC150" class="react-file-line html-div" data-testid="code-cell" data-line-number="150" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-147 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC151" class="react-file-line html-div" data-testid="code-cell" data-line-number="151" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-147 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC152" class="react-file-line html-div" data-testid="code-cell" data-line-number="152" style="position:relative"> }</div></div></div><div class="child-of-line-147 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC153" class="react-file-line html-div" data-testid="code-cell" data-line-number="153" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">--</span></div></div></div><div class="child-of-line-147 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC154" class="react-file-line html-div" data-testid="code-cell" data-line-number="154" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC155" class="react-file-line html-div" data-testid="code-cell" data-line-number="155" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC156" class="react-file-line html-div" data-testid="code-cell" data-line-number="156" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC157" class="react-file-line html-div" data-testid="code-cell" data-line-number="157" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">WriteString</span>(<span class="pl-s1">s</span> <span class="pl-smi">string</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC158" class="react-file-line html-div" data-testid="code-cell" data-line-number="158" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">WriteRunes</span>([]<span class="pl-smi">rune</span>(<span class="pl-s1">s</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC159" class="react-file-line html-div" data-testid="code-cell" data-line-number="159" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC160" class="react-file-line html-div" data-testid="code-cell" data-line-number="160" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC161" class="react-file-line html-div" data-testid="code-cell" data-line-number="161" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">WriteRune</span>(<span class="pl-s1">s</span> <span class="pl-smi">rune</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC162" class="react-file-line html-div" data-testid="code-cell" data-line-number="162" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">WriteRunes</span>([]<span class="pl-smi">rune</span>{<span class="pl-s1">s</span>})</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC163" class="react-file-line html-div" data-testid="code-cell" data-line-number="163" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC164" class="react-file-line html-div" data-testid="code-cell" data-line-number="164" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC165" class="react-file-line html-div" data-testid="code-cell" data-line-number="165" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">WriteRunes</span>(<span class="pl-s1">s</span> []<span class="pl-smi">rune</span>) {</div></div></div><div class="child-of-line-164 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC166" class="react-file-line html-div" data-testid="code-cell" data-line-number="166" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-164 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC167" class="react-file-line html-div" data-testid="code-cell" data-line-number="167" style="position:relative"> <span class="pl-s1">tail</span> <span class="pl-c1">:=</span> <span class="pl-en">append</span>(<span class="pl-s1">s</span>, <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>:]<span class="pl-c1">...</span>)</div></div></div><div class="child-of-line-164 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC168" class="react-file-line html-div" data-testid="code-cell" data-line-number="168" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-en">append</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>], <span class="pl-s1">tail</span><span class="pl-c1">...</span>)</div></div></div><div class="child-of-line-164 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC169" class="react-file-line html-div" data-testid="code-cell" data-line-number="169" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">+=</span> <span class="pl-en">len</span>(<span class="pl-s1">s</span>)</div></div></div><div class="child-of-line-164 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC170" class="react-file-line html-div" data-testid="code-cell" data-line-number="170" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC171" class="react-file-line html-div" data-testid="code-cell" data-line-number="171" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC172" class="react-file-line html-div" data-testid="code-cell" data-line-number="172" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC173" class="react-file-line html-div" data-testid="code-cell" data-line-number="173" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">MoveForward</span>() {</div></div></div><div class="child-of-line-172 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC174" class="react-file-line html-div" data-testid="code-cell" data-line-number="174" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-172 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC175" class="react-file-line html-div" data-testid="code-cell" data-line-number="175" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) {</div></div></div><div class="child-of-line-172 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC176" class="react-file-line html-div" data-testid="code-cell" data-line-number="176" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-172 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC177" class="react-file-line html-div" data-testid="code-cell" data-line-number="177" style="position:relative"> }</div></div></div><div class="child-of-line-172 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC178" class="react-file-line html-div" data-testid="code-cell" data-line-number="178" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">++</span></div></div></div><div class="child-of-line-172 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC179" class="react-file-line html-div" data-testid="code-cell" data-line-number="179" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC180" class="react-file-line html-div" data-testid="code-cell" data-line-number="180" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC181" class="react-file-line html-div" data-testid="code-cell" data-line-number="181" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC182" class="react-file-line html-div" data-testid="code-cell" data-line-number="182" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">IsCursorInEnd</span>() <span class="pl-smi">bool</span> {</div></div></div><div class="child-of-line-181 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC183" class="react-file-line html-div" data-testid="code-cell" data-line-number="183" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-181 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC184" class="react-file-line html-div" data-testid="code-cell" data-line-number="184" style="position:relative"> <span class="pl-k">defer</span> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="child-of-line-181 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC185" class="react-file-line html-div" data-testid="code-cell" data-line-number="185" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC186" class="react-file-line html-div" data-testid="code-cell" data-line-number="186" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC187" class="react-file-line html-div" data-testid="code-cell" data-line-number="187" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC188" class="react-file-line html-div" data-testid="code-cell" data-line-number="188" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Replace</span>(<span class="pl-s1">ch</span> <span class="pl-smi">rune</span>) {</div></div></div><div class="child-of-line-187 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC189" class="react-file-line html-div" data-testid="code-cell" data-line-number="189" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-187 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC190" class="react-file-line html-div" data-testid="code-cell" data-line-number="190" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>] <span class="pl-c1">=</span> <span class="pl-s1">ch</span></div></div></div><div class="child-of-line-187 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC191" class="react-file-line html-div" data-testid="code-cell" data-line-number="191" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC192" class="react-file-line html-div" data-testid="code-cell" data-line-number="192" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC193" class="react-file-line html-div" data-testid="code-cell" data-line-number="193" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC194" class="react-file-line html-div" data-testid="code-cell" data-line-number="194" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Erase</span>() {</div></div></div><div class="child-of-line-193 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC195" class="react-file-line html-div" data-testid="code-cell" data-line-number="195" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-193 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC196" class="react-file-line html-div" data-testid="code-cell" data-line-number="196" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span></div></div></div><div class="child-of-line-193 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC197" class="react-file-line html-div" data-testid="code-cell" data-line-number="197" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">pushKill</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:])</div></div></div><div class="child-of-line-193 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC198" class="react-file-line html-div" data-testid="code-cell" data-line-number="198" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-c1">0</span>]</div></div></div><div class="child-of-line-193 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC199" class="react-file-line html-div" data-testid="code-cell" data-line-number="199" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC200" class="react-file-line html-div" data-testid="code-cell" data-line-number="200" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC201" class="react-file-line html-div" data-testid="code-cell" data-line-number="201" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC202" class="react-file-line html-div" data-testid="code-cell" data-line-number="202" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Delete</span>() (<span class="pl-s1">success</span> <span class="pl-smi">bool</span>) {</div></div></div><div class="child-of-line-201 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC203" class="react-file-line html-div" data-testid="code-cell" data-line-number="203" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-201 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC204" class="react-file-line html-div" data-testid="code-cell" data-line-number="204" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) {</div></div></div><div class="child-of-line-201 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC205" class="react-file-line html-div" data-testid="code-cell" data-line-number="205" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-201 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC206" class="react-file-line html-div" data-testid="code-cell" data-line-number="206" style="position:relative"> }</div></div></div><div class="child-of-line-201 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC207" class="react-file-line html-div" data-testid="code-cell" data-line-number="207" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">pushKill</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span> : <span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">+</span><span class="pl-c1">1</span>])</div></div></div><div class="child-of-line-201 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC208" class="react-file-line html-div" data-testid="code-cell" data-line-number="208" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-en">append</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>], <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">+</span><span class="pl-c1">1</span>:]<span class="pl-c1">...</span>)</div></div></div><div class="child-of-line-201 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC209" class="react-file-line html-div" data-testid="code-cell" data-line-number="209" style="position:relative"> <span class="pl-s1">success</span> <span class="pl-c1">=</span> <span class="pl-c1">true</span></div></div></div><div class="child-of-line-201 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC210" class="react-file-line html-div" data-testid="code-cell" data-line-number="210" style="position:relative"> })</div></div></div><div class="child-of-line-201 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC211" class="react-file-line html-div" data-testid="code-cell" data-line-number="211" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC212" class="react-file-line html-div" data-testid="code-cell" data-line-number="212" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC213" class="react-file-line html-div" data-testid="code-cell" data-line-number="213" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC214" class="react-file-line html-div" data-testid="code-cell" data-line-number="214" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">DeleteWord</span>() {</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC215" class="react-file-line html-div" data-testid="code-cell" data-line-number="215" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) {</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC216" class="react-file-line html-div" data-testid="code-cell" data-line-number="216" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC217" class="react-file-line html-div" data-testid="code-cell" data-line-number="217" style="position:relative"> }</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC218" class="react-file-line html-div" data-testid="code-cell" data-line-number="218" style="position:relative"> <span class="pl-s1">init</span> <span class="pl-c1">:=</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span></div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC219" class="react-file-line html-div" data-testid="code-cell" data-line-number="219" style="position:relative"> <span class="pl-k">for</span> <span class="pl-s1">init</span> <span class="pl-c1">&lt;</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">init</span>]) {</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC220" class="react-file-line html-div" data-testid="code-cell" data-line-number="220" style="position:relative"> <span class="pl-s1">init</span><span class="pl-c1">++</span></div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC221" class="react-file-line html-div" data-testid="code-cell" data-line-number="221" style="position:relative"> }</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC222" class="react-file-line html-div" data-testid="code-cell" data-line-number="222" style="position:relative"> <span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">:=</span> <span class="pl-s1">init</span> <span class="pl-c1">+</span> <span class="pl-c1">1</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>); <span class="pl-s1">i</span><span class="pl-c1">++</span> {</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC223" class="react-file-line html-div" data-testid="code-cell" data-line-number="223" style="position:relative"> <span class="pl-k">if</span> <span class="pl-c1">!</span><span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span>]) <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">1</span>]) {</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC224" class="react-file-line html-div" data-testid="code-cell" data-line-number="224" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">pushKill</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span> : <span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">1</span>])</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC225" class="react-file-line html-div" data-testid="code-cell" data-line-number="225" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC226" class="react-file-line html-div" data-testid="code-cell" data-line-number="226" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-en">append</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>], <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">1</span>:]<span class="pl-c1">...</span>)</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC227" class="react-file-line html-div" data-testid="code-cell" data-line-number="227" style="position:relative"> })</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC228" class="react-file-line html-div" data-testid="code-cell" data-line-number="228" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC229" class="react-file-line html-div" data-testid="code-cell" data-line-number="229" style="position:relative"> }</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC230" class="react-file-line html-div" data-testid="code-cell" data-line-number="230" style="position:relative"> }</div></div></div><div class="child-of-line-213 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC231" class="react-file-line html-div" data-testid="code-cell" data-line-number="231" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Kill</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC232" class="react-file-line html-div" data-testid="code-cell" data-line-number="232" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC233" class="react-file-line html-div" data-testid="code-cell" data-line-number="233" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC234" class="react-file-line html-div" data-testid="code-cell" data-line-number="234" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">MoveToPrevWord</span>() (<span class="pl-s1">success</span> <span class="pl-smi">bool</span>) {</div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC235" class="react-file-line html-div" data-testid="code-cell" data-line-number="235" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC236" class="react-file-line html-div" data-testid="code-cell" data-line-number="236" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC237" class="react-file-line html-div" data-testid="code-cell" data-line-number="237" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC238" class="react-file-line html-div" data-testid="code-cell" data-line-number="238" style="position:relative"> }</div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC239" class="react-file-line html-div" data-testid="code-cell" data-line-number="239" style="position:relative"> </div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC240" class="react-file-line html-div" data-testid="code-cell" data-line-number="240" style="position:relative"> <span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">:=</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>; <span class="pl-s1">i</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span><span class="pl-c1">--</span> {</div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC241" class="react-file-line html-div" data-testid="code-cell" data-line-number="241" style="position:relative"> <span class="pl-k">if</span> <span class="pl-c1">!</span><span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span>]) <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">1</span>]) {</div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC242" class="react-file-line html-div" data-testid="code-cell" data-line-number="242" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-s1">i</span></div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC243" class="react-file-line html-div" data-testid="code-cell" data-line-number="243" style="position:relative"> <span class="pl-s1">success</span> <span class="pl-c1">=</span> <span class="pl-c1">true</span></div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC244" class="react-file-line html-div" data-testid="code-cell" data-line-number="244" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC245" class="react-file-line html-div" data-testid="code-cell" data-line-number="245" style="position:relative"> }</div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC246" class="react-file-line html-div" data-testid="code-cell" data-line-number="246" style="position:relative"> }</div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC247" class="react-file-line html-div" data-testid="code-cell" data-line-number="247" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span></div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC248" class="react-file-line html-div" data-testid="code-cell" data-line-number="248" style="position:relative"> <span class="pl-s1">success</span> <span class="pl-c1">=</span> <span class="pl-c1">true</span></div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC249" class="react-file-line html-div" data-testid="code-cell" data-line-number="249" style="position:relative"> })</div></div></div><div class="child-of-line-233 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC250" class="react-file-line html-div" data-testid="code-cell" data-line-number="250" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC251" class="react-file-line html-div" data-testid="code-cell" data-line-number="251" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC252" class="react-file-line html-div" data-testid="code-cell" data-line-number="252" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC253" class="react-file-line html-div" data-testid="code-cell" data-line-number="253" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">KillFront</span>() {</div></div></div><div class="child-of-line-252 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC254" class="react-file-line html-div" data-testid="code-cell" data-line-number="254" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-252 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC255" class="react-file-line html-div" data-testid="code-cell" data-line-number="255" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-252 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC256" class="react-file-line html-div" data-testid="code-cell" data-line-number="256" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-252 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC257" class="react-file-line html-div" data-testid="code-cell" data-line-number="257" style="position:relative"> }</div></div></div><div class="child-of-line-252 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC258" class="react-file-line html-div" data-testid="code-cell" data-line-number="258" style="position:relative"> </div></div></div><div class="child-of-line-252 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC259" class="react-file-line html-div" data-testid="code-cell" data-line-number="259" style="position:relative"> <span class="pl-s1">length</span> <span class="pl-c1">:=</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) <span class="pl-c1">-</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span></div></div></div><div class="child-of-line-252 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC260" class="react-file-line html-div" data-testid="code-cell" data-line-number="260" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">pushKill</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>])</div></div></div><div class="child-of-line-252 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC261" class="react-file-line html-div" data-testid="code-cell" data-line-number="261" style="position:relative"> <span class="pl-en">copy</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-s1">length</span>], <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>:])</div></div></div><div class="child-of-line-252 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC262" class="react-file-line html-div" data-testid="code-cell" data-line-number="262" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span></div></div></div><div class="child-of-line-252 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC263" class="react-file-line html-div" data-testid="code-cell" data-line-number="263" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-s1">length</span>]</div></div></div><div class="child-of-line-252 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC264" class="react-file-line html-div" data-testid="code-cell" data-line-number="264" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC265" class="react-file-line html-div" data-testid="code-cell" data-line-number="265" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC266" class="react-file-line html-div" data-testid="code-cell" data-line-number="266" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC267" class="react-file-line html-div" data-testid="code-cell" data-line-number="267" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Kill</span>() {</div></div></div><div class="child-of-line-266 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC268" class="react-file-line html-div" data-testid="code-cell" data-line-number="268" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-266 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC269" class="react-file-line html-div" data-testid="code-cell" data-line-number="269" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">pushKill</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>:])</div></div></div><div class="child-of-line-266 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC270" class="react-file-line html-div" data-testid="code-cell" data-line-number="270" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>]</div></div></div><div class="child-of-line-266 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC271" class="react-file-line html-div" data-testid="code-cell" data-line-number="271" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC272" class="react-file-line html-div" data-testid="code-cell" data-line-number="272" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC273" class="react-file-line html-div" data-testid="code-cell" data-line-number="273" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC274" class="react-file-line html-div" data-testid="code-cell" data-line-number="274" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Transpose</span>() {</div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC275" class="react-file-line html-div" data-testid="code-cell" data-line-number="275" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC276" class="react-file-line html-div" data-testid="code-cell" data-line-number="276" style="position:relative"> <span class="pl-k">if</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) <span class="pl-c1">==</span> <span class="pl-c1">1</span> {</div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC277" class="react-file-line html-div" data-testid="code-cell" data-line-number="277" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">++</span></div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC278" class="react-file-line html-div" data-testid="code-cell" data-line-number="278" style="position:relative"> }</div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC279" class="react-file-line html-div" data-testid="code-cell" data-line-number="279" style="position:relative"> </div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC280" class="react-file-line html-div" data-testid="code-cell" data-line-number="280" style="position:relative"> <span class="pl-k">if</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) <span class="pl-c1">&lt;</span> <span class="pl-c1">2</span> {</div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC281" class="react-file-line html-div" data-testid="code-cell" data-line-number="281" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC282" class="react-file-line html-div" data-testid="code-cell" data-line-number="282" style="position:relative"> }</div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC283" class="react-file-line html-div" data-testid="code-cell" data-line-number="283" style="position:relative"> </div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC284" class="react-file-line html-div" data-testid="code-cell" data-line-number="284" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC285" class="react-file-line html-div" data-testid="code-cell" data-line-number="285" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span></div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC286" class="react-file-line html-div" data-testid="code-cell" data-line-number="286" style="position:relative"> } <span class="pl-k">else</span> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">&gt;=</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) {</div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC287" class="react-file-line html-div" data-testid="code-cell" data-line-number="287" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) <span class="pl-c1">-</span> <span class="pl-c1">1</span></div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC288" class="react-file-line html-div" data-testid="code-cell" data-line-number="288" style="position:relative"> }</div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC289" class="react-file-line html-div" data-testid="code-cell" data-line-number="289" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>], <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">-</span><span class="pl-c1">1</span>] <span class="pl-c1">=</span> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">-</span><span class="pl-c1">1</span>], <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>]</div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC290" class="react-file-line html-div" data-testid="code-cell" data-line-number="290" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">++</span></div></div></div><div class="child-of-line-273 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC291" class="react-file-line html-div" data-testid="code-cell" data-line-number="291" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC292" class="react-file-line html-div" data-testid="code-cell" data-line-number="292" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC293" class="react-file-line html-div" data-testid="code-cell" data-line-number="293" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC294" class="react-file-line html-div" data-testid="code-cell" data-line-number="294" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">MoveToNextWord</span>() {</div></div></div><div class="child-of-line-293 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC295" class="react-file-line html-div" data-testid="code-cell" data-line-number="295" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-293 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC296" class="react-file-line html-div" data-testid="code-cell" data-line-number="296" style="position:relative"> <span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">:=</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">+</span> <span class="pl-c1">1</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>); <span class="pl-s1">i</span><span class="pl-c1">++</span> {</div></div></div><div class="child-of-line-293 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC297" class="react-file-line html-div" data-testid="code-cell" data-line-number="297" style="position:relative"> <span class="pl-k">if</span> <span class="pl-c1">!</span><span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span>]) <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">1</span>]) {</div></div></div><div class="child-of-line-293 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC298" class="react-file-line html-div" data-testid="code-cell" data-line-number="298" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-s1">i</span></div></div></div><div class="child-of-line-293 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC299" class="react-file-line html-div" data-testid="code-cell" data-line-number="299" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-293 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC300" class="react-file-line html-div" data-testid="code-cell" data-line-number="300" style="position:relative"> }</div></div></div><div class="child-of-line-293 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC301" class="react-file-line html-div" data-testid="code-cell" data-line-number="301" style="position:relative"> }</div></div></div><div class="child-of-line-293 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC302" class="react-file-line html-div" data-testid="code-cell" data-line-number="302" style="position:relative"> </div></div></div><div class="child-of-line-293 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC303" class="react-file-line html-div" data-testid="code-cell" data-line-number="303" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)</div></div></div><div class="child-of-line-293 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC304" class="react-file-line html-div" data-testid="code-cell" data-line-number="304" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC305" class="react-file-line html-div" data-testid="code-cell" data-line-number="305" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC306" class="react-file-line html-div" data-testid="code-cell" data-line-number="306" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC307" class="react-file-line html-div" data-testid="code-cell" data-line-number="307" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">MoveToEndWord</span>() {</div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC308" class="react-file-line html-div" data-testid="code-cell" data-line-number="308" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC309" class="react-file-line html-div" data-testid="code-cell" data-line-number="309" style="position:relative"> <span class="pl-c">// already at the end, so do nothing</span></div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC310" class="react-file-line html-div" data-testid="code-cell" data-line-number="310" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) {</div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC311" class="react-file-line html-div" data-testid="code-cell" data-line-number="311" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC312" class="react-file-line html-div" data-testid="code-cell" data-line-number="312" style="position:relative"> }</div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC313" class="react-file-line html-div" data-testid="code-cell" data-line-number="313" style="position:relative"> <span class="pl-c">// if we are at the end of a word already, go to next</span></div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC314" class="react-file-line html-div" data-testid="code-cell" data-line-number="314" style="position:relative"> <span class="pl-k">if</span> <span class="pl-c1">!</span><span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>]) <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">+</span><span class="pl-c1">1</span>]) {</div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC315" class="react-file-line html-div" data-testid="code-cell" data-line-number="315" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">++</span></div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC316" class="react-file-line html-div" data-testid="code-cell" data-line-number="316" style="position:relative"> }</div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC317" class="react-file-line html-div" data-testid="code-cell" data-line-number="317" style="position:relative"> </div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC318" class="react-file-line html-div" data-testid="code-cell" data-line-number="318" style="position:relative"> <span class="pl-c">// keep going until at the end of a word</span></div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC319" class="react-file-line html-div" data-testid="code-cell" data-line-number="319" style="position:relative"> <span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">:=</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">+</span> <span class="pl-c1">1</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>); <span class="pl-s1">i</span><span class="pl-c1">++</span> {</div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC320" class="react-file-line html-div" data-testid="code-cell" data-line-number="320" style="position:relative"> <span class="pl-k">if</span> <span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span>]) <span class="pl-c1">&amp;&amp;</span> <span class="pl-c1">!</span><span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">1</span>]) {</div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC321" class="react-file-line html-div" data-testid="code-cell" data-line-number="321" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-s1">i</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span></div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC322" class="react-file-line html-div" data-testid="code-cell" data-line-number="322" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC323" class="react-file-line html-div" data-testid="code-cell" data-line-number="323" style="position:relative"> }</div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC324" class="react-file-line html-div" data-testid="code-cell" data-line-number="324" style="position:relative"> }</div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC325" class="react-file-line html-div" data-testid="code-cell" data-line-number="325" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)</div></div></div><div class="child-of-line-306 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC326" class="react-file-line html-div" data-testid="code-cell" data-line-number="326" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC327" class="react-file-line html-div" data-testid="code-cell" data-line-number="327" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC328" class="react-file-line html-div" data-testid="code-cell" data-line-number="328" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC329" class="react-file-line html-div" data-testid="code-cell" data-line-number="329" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">BackEscapeWord</span>() {</div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC330" class="react-file-line html-div" data-testid="code-cell" data-line-number="330" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC331" class="react-file-line html-div" data-testid="code-cell" data-line-number="331" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC332" class="react-file-line html-div" data-testid="code-cell" data-line-number="332" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC333" class="react-file-line html-div" data-testid="code-cell" data-line-number="333" style="position:relative"> }</div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC334" class="react-file-line html-div" data-testid="code-cell" data-line-number="334" style="position:relative"> <span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">:=</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>; <span class="pl-s1">i</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span><span class="pl-c1">--</span> {</div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC335" class="react-file-line html-div" data-testid="code-cell" data-line-number="335" style="position:relative"> <span class="pl-k">if</span> <span class="pl-c1">!</span><span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span>]) <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">IsWordBreak</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">1</span>]) {</div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC336" class="react-file-line html-div" data-testid="code-cell" data-line-number="336" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">pushKill</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span>:<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>])</div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC337" class="react-file-line html-div" data-testid="code-cell" data-line-number="337" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-en">append</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-s1">i</span>], <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>:]<span class="pl-c1">...</span>)</div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC338" class="react-file-line html-div" data-testid="code-cell" data-line-number="338" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-s1">i</span></div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC339" class="react-file-line html-div" data-testid="code-cell" data-line-number="339" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC340" class="react-file-line html-div" data-testid="code-cell" data-line-number="340" style="position:relative"> }</div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC341" class="react-file-line html-div" data-testid="code-cell" data-line-number="341" style="position:relative"> }</div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC342" class="react-file-line html-div" data-testid="code-cell" data-line-number="342" style="position:relative"> </div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC343" class="react-file-line html-div" data-testid="code-cell" data-line-number="343" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-c1">0</span>]</div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC344" class="react-file-line html-div" data-testid="code-cell" data-line-number="344" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span></div></div></div><div class="child-of-line-328 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC345" class="react-file-line html-div" data-testid="code-cell" data-line-number="345" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC346" class="react-file-line html-div" data-testid="code-cell" data-line-number="346" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC347" class="react-file-line html-div" data-testid="code-cell" data-line-number="347" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC348" class="react-file-line html-div" data-testid="code-cell" data-line-number="348" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Yank</span>() {</div></div></div><div class="child-of-line-347 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC349" class="react-file-line html-div" data-testid="code-cell" data-line-number="349" style="position:relative"> <span class="pl-k">if</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">lastKill</span>) <span class="pl-c1">==</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-347 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC350" class="react-file-line html-div" data-testid="code-cell" data-line-number="350" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-347 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC351" class="react-file-line html-div" data-testid="code-cell" data-line-number="351" style="position:relative"> }</div></div></div><div class="child-of-line-347 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC352" class="react-file-line html-div" data-testid="code-cell" data-line-number="352" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-347 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC353" class="react-file-line html-div" data-testid="code-cell" data-line-number="353" style="position:relative"> <span class="pl-s1">buf</span> <span class="pl-c1">:=</span> <span class="pl-en">make</span>([]<span class="pl-smi">rune</span>, <span class="pl-c1">0</span>, <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)<span class="pl-c1">+</span><span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">lastKill</span>))</div></div></div><div class="child-of-line-347 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC354" class="react-file-line html-div" data-testid="code-cell" data-line-number="354" style="position:relative"> <span class="pl-s1">buf</span> <span class="pl-c1">=</span> <span class="pl-en">append</span>(<span class="pl-s1">buf</span>, <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>]<span class="pl-c1">...</span>)</div></div></div><div class="child-of-line-347 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC355" class="react-file-line html-div" data-testid="code-cell" data-line-number="355" style="position:relative"> <span class="pl-s1">buf</span> <span class="pl-c1">=</span> <span class="pl-en">append</span>(<span class="pl-s1">buf</span>, <span class="pl-s1">r</span>.<span class="pl-c1">lastKill</span><span class="pl-c1">...</span>)</div></div></div><div class="child-of-line-347 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC356" class="react-file-line html-div" data-testid="code-cell" data-line-number="356" style="position:relative"> <span class="pl-s1">buf</span> <span class="pl-c1">=</span> <span class="pl-en">append</span>(<span class="pl-s1">buf</span>, <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>:]<span class="pl-c1">...</span>)</div></div></div><div class="child-of-line-347 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC357" class="react-file-line html-div" data-testid="code-cell" data-line-number="357" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-s1">buf</span></div></div></div><div class="child-of-line-347 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC358" class="react-file-line html-div" data-testid="code-cell" data-line-number="358" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">+=</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">lastKill</span>)</div></div></div><div class="child-of-line-347 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC359" class="react-file-line html-div" data-testid="code-cell" data-line-number="359" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC360" class="react-file-line html-div" data-testid="code-cell" data-line-number="360" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC361" class="react-file-line html-div" data-testid="code-cell" data-line-number="361" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC362" class="react-file-line html-div" data-testid="code-cell" data-line-number="362" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Backspace</span>() {</div></div></div><div class="child-of-line-361 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC363" class="react-file-line html-div" data-testid="code-cell" data-line-number="363" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-361 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC364" class="react-file-line html-div" data-testid="code-cell" data-line-number="364" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-361 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC365" class="react-file-line html-div" data-testid="code-cell" data-line-number="365" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-361 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC366" class="react-file-line html-div" data-testid="code-cell" data-line-number="366" style="position:relative"> }</div></div></div><div class="child-of-line-361 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC367" class="react-file-line html-div" data-testid="code-cell" data-line-number="367" style="position:relative"> </div></div></div><div class="child-of-line-361 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC368" class="react-file-line html-div" data-testid="code-cell" data-line-number="368" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">--</span></div></div></div><div class="child-of-line-361 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC369" class="react-file-line html-div" data-testid="code-cell" data-line-number="369" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-en">append</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>], <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">+</span><span class="pl-c1">1</span>:]<span class="pl-c1">...</span>)</div></div></div><div class="child-of-line-361 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC370" class="react-file-line html-div" data-testid="code-cell" data-line-number="370" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC371" class="react-file-line html-div" data-testid="code-cell" data-line-number="371" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC372" class="react-file-line html-div" data-testid="code-cell" data-line-number="372" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC373" class="react-file-line html-div" data-testid="code-cell" data-line-number="373" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">MoveToLineEnd</span>() {</div></div></div><div class="child-of-line-372 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC374" class="react-file-line html-div" data-testid="code-cell" data-line-number="374" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-372 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC375" class="react-file-line html-div" data-testid="code-cell" data-line-number="375" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">==</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) {</div></div></div><div class="child-of-line-372 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC376" class="react-file-line html-div" data-testid="code-cell" data-line-number="376" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-372 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC377" class="react-file-line html-div" data-testid="code-cell" data-line-number="377" style="position:relative"> }</div></div></div><div class="child-of-line-372 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC378" class="react-file-line html-div" data-testid="code-cell" data-line-number="378" style="position:relative"> </div></div></div><div class="child-of-line-372 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC379" class="react-file-line html-div" data-testid="code-cell" data-line-number="379" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)</div></div></div><div class="child-of-line-372 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC380" class="react-file-line html-div" data-testid="code-cell" data-line-number="380" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC381" class="react-file-line html-div" data-testid="code-cell" data-line-number="381" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC382" class="react-file-line html-div" data-testid="code-cell" data-line-number="382" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC383" class="react-file-line html-div" data-testid="code-cell" data-line-number="383" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">LineCount</span>(<span class="pl-s1">width</span> <span class="pl-smi">int</span>) <span class="pl-smi">int</span> {</div></div></div><div class="child-of-line-382 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC384" class="react-file-line html-div" data-testid="code-cell" data-line-number="384" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">width</span> <span class="pl-c1">==</span> <span class="pl-c1">-</span><span class="pl-c1">1</span> {</div></div></div><div class="child-of-line-382 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC385" class="react-file-line html-div" data-testid="code-cell" data-line-number="385" style="position:relative"> <span class="pl-s1">width</span> <span class="pl-c1">=</span> <span class="pl-s1">r</span>.<span class="pl-c1">width</span></div></div></div><div class="child-of-line-382 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC386" class="react-file-line html-div" data-testid="code-cell" data-line-number="386" style="position:relative"> }</div></div></div><div class="child-of-line-382 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC387" class="react-file-line html-div" data-testid="code-cell" data-line-number="387" style="position:relative"> <span class="pl-k">return</span> <span class="pl-en">LineCount</span>(<span class="pl-s1">width</span>,</div></div></div><div class="child-of-line-382 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC388" class="react-file-line html-div" data-testid="code-cell" data-line-number="388" style="position:relative"> <span class="pl-s1">runes</span>.<span class="pl-en">WidthAll</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)<span class="pl-c1">+</span><span class="pl-s1">r</span>.<span class="pl-en">PromptLen</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC389" class="react-file-line html-div" data-testid="code-cell" data-line-number="389" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC390" class="react-file-line html-div" data-testid="code-cell" data-line-number="390" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC391" class="react-file-line html-div" data-testid="code-cell" data-line-number="391" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">MoveTo</span>(<span class="pl-s1">ch</span> <span class="pl-smi">rune</span>, <span class="pl-s1">prevChar</span>, <span class="pl-s1">reverse</span> <span class="pl-smi">bool</span>) (<span class="pl-s1">success</span> <span class="pl-smi">bool</span>) {</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC392" class="react-file-line html-div" data-testid="code-cell" data-line-number="392" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC393" class="react-file-line html-div" data-testid="code-cell" data-line-number="393" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">reverse</span> {</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC394" class="react-file-line html-div" data-testid="code-cell" data-line-number="394" style="position:relative"> <span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">:=</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>; <span class="pl-s1">i</span> <span class="pl-c1">&gt;=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span><span class="pl-c1">--</span> {</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC395" class="react-file-line html-div" data-testid="code-cell" data-line-number="395" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span>] <span class="pl-c1">==</span> <span class="pl-s1">ch</span> {</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC396" class="react-file-line html-div" data-testid="code-cell" data-line-number="396" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-s1">i</span></div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC397" class="react-file-line html-div" data-testid="code-cell" data-line-number="397" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">prevChar</span> {</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC398" class="react-file-line html-div" data-testid="code-cell" data-line-number="398" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">++</span></div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC399" class="react-file-line html-div" data-testid="code-cell" data-line-number="399" style="position:relative"> }</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC400" class="react-file-line html-div" data-testid="code-cell" data-line-number="400" style="position:relative"> <span class="pl-s1">success</span> <span class="pl-c1">=</span> <span class="pl-c1">true</span></div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC401" class="react-file-line html-div" data-testid="code-cell" data-line-number="401" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC402" class="react-file-line html-div" data-testid="code-cell" data-line-number="402" style="position:relative"> }</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC403" class="react-file-line html-div" data-testid="code-cell" data-line-number="403" style="position:relative"> }</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC404" class="react-file-line html-div" data-testid="code-cell" data-line-number="404" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC405" class="react-file-line html-div" data-testid="code-cell" data-line-number="405" style="position:relative"> }</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC406" class="react-file-line html-div" data-testid="code-cell" data-line-number="406" style="position:relative"> <span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">:=</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">+</span> <span class="pl-c1">1</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>); <span class="pl-s1">i</span><span class="pl-c1">++</span> {</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC407" class="react-file-line html-div" data-testid="code-cell" data-line-number="407" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">i</span>] <span class="pl-c1">==</span> <span class="pl-s1">ch</span> {</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC408" class="react-file-line html-div" data-testid="code-cell" data-line-number="408" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-s1">i</span></div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC409" class="react-file-line html-div" data-testid="code-cell" data-line-number="409" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">prevChar</span> {</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC410" class="react-file-line html-div" data-testid="code-cell" data-line-number="410" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">--</span></div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC411" class="react-file-line html-div" data-testid="code-cell" data-line-number="411" style="position:relative"> }</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC412" class="react-file-line html-div" data-testid="code-cell" data-line-number="412" style="position:relative"> <span class="pl-s1">success</span> <span class="pl-c1">=</span> <span class="pl-c1">true</span></div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC413" class="react-file-line html-div" data-testid="code-cell" data-line-number="413" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC414" class="react-file-line html-div" data-testid="code-cell" data-line-number="414" style="position:relative"> }</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC415" class="react-file-line html-div" data-testid="code-cell" data-line-number="415" style="position:relative"> }</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC416" class="react-file-line html-div" data-testid="code-cell" data-line-number="416" style="position:relative"> })</div></div></div><div class="child-of-line-390 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC417" class="react-file-line html-div" data-testid="code-cell" data-line-number="417" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC418" class="react-file-line html-div" data-testid="code-cell" data-line-number="418" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC419" class="react-file-line html-div" data-testid="code-cell" data-line-number="419" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC420" class="react-file-line html-div" data-testid="code-cell" data-line-number="420" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">isInLineEdge</span>() <span class="pl-smi">bool</span> {</div></div></div><div class="child-of-line-419 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC421" class="react-file-line html-div" data-testid="code-cell" data-line-number="421" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">isWindows</span> {</div></div></div><div class="child-of-line-419 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC422" class="react-file-line html-div" data-testid="code-cell" data-line-number="422" style="position:relative"> <span class="pl-k">return</span> <span class="pl-c1">false</span></div></div></div><div class="child-of-line-419 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC423" class="react-file-line html-div" data-testid="code-cell" data-line-number="423" style="position:relative"> }</div></div></div><div class="child-of-line-419 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC424" class="react-file-line html-div" data-testid="code-cell" data-line-number="424" style="position:relative"> <span class="pl-s1">sp</span> <span class="pl-c1">:=</span> <span class="pl-s1">r</span>.<span class="pl-en">getSplitByLine</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)</div></div></div><div class="child-of-line-419 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC425" class="react-file-line html-div" data-testid="code-cell" data-line-number="425" style="position:relative"> <span class="pl-k">return</span> <span class="pl-en">len</span>(<span class="pl-s1">sp</span>[<span class="pl-en">len</span>(<span class="pl-s1">sp</span>)<span class="pl-c1">-</span><span class="pl-c1">1</span>]) <span class="pl-c1">==</span> <span class="pl-c1">0</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC426" class="react-file-line html-div" data-testid="code-cell" data-line-number="426" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC427" class="react-file-line html-div" data-testid="code-cell" data-line-number="427" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC428" class="react-file-line html-div" data-testid="code-cell" data-line-number="428" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">getSplitByLine</span>(<span class="pl-s1">rs</span> []<span class="pl-smi">rune</span>) []<span class="pl-smi">string</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC429" class="react-file-line html-div" data-testid="code-cell" data-line-number="429" style="position:relative"> <span class="pl-k">return</span> <span class="pl-en">SplitByLine</span>(<span class="pl-s1">r</span>.<span class="pl-en">promptLen</span>(), <span class="pl-s1">r</span>.<span class="pl-c1">width</span>, <span class="pl-s1">rs</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC430" class="react-file-line html-div" data-testid="code-cell" data-line-number="430" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC431" class="react-file-line html-div" data-testid="code-cell" data-line-number="431" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC432" class="react-file-line html-div" data-testid="code-cell" data-line-number="432" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">IdxLine</span>(<span class="pl-s1">width</span> <span class="pl-smi">int</span>) <span class="pl-smi">int</span> {</div></div></div><div class="child-of-line-431 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC433" class="react-file-line html-div" data-testid="code-cell" data-line-number="433" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-431 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC434" class="react-file-line html-div" data-testid="code-cell" data-line-number="434" style="position:relative"> <span class="pl-k">defer</span> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="child-of-line-431 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC435" class="react-file-line html-div" data-testid="code-cell" data-line-number="435" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">r</span>.<span class="pl-en">idxLine</span>(<span class="pl-s1">width</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC436" class="react-file-line html-div" data-testid="code-cell" data-line-number="436" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC437" class="react-file-line html-div" data-testid="code-cell" data-line-number="437" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC438" class="react-file-line html-div" data-testid="code-cell" data-line-number="438" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">idxLine</span>(<span class="pl-s1">width</span> <span class="pl-smi">int</span>) <span class="pl-smi">int</span> {</div></div></div><div class="child-of-line-437 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC439" class="react-file-line html-div" data-testid="code-cell" data-line-number="439" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">width</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-437 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC440" class="react-file-line html-div" data-testid="code-cell" data-line-number="440" style="position:relative"> <span class="pl-k">return</span> <span class="pl-c1">0</span></div></div></div><div class="child-of-line-437 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC441" class="react-file-line html-div" data-testid="code-cell" data-line-number="441" style="position:relative"> }</div></div></div><div class="child-of-line-437 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC442" class="react-file-line html-div" data-testid="code-cell" data-line-number="442" style="position:relative"> <span class="pl-s1">sp</span> <span class="pl-c1">:=</span> <span class="pl-s1">r</span>.<span class="pl-en">getSplitByLine</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-s1">r</span>.<span class="pl-c1">idx</span>])</div></div></div><div class="child-of-line-437 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC443" class="react-file-line html-div" data-testid="code-cell" data-line-number="443" style="position:relative"> <span class="pl-k">return</span> <span class="pl-en">len</span>(<span class="pl-s1">sp</span>) <span class="pl-c1">-</span> <span class="pl-c1">1</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC444" class="react-file-line html-div" data-testid="code-cell" data-line-number="444" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC445" class="react-file-line html-div" data-testid="code-cell" data-line-number="445" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC446" class="react-file-line html-div" data-testid="code-cell" data-line-number="446" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">CursorLineCount</span>() <span class="pl-smi">int</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC447" class="react-file-line html-div" data-testid="code-cell" data-line-number="447" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">r</span>.<span class="pl-en">LineCount</span>(<span class="pl-s1">r</span>.<span class="pl-c1">width</span>) <span class="pl-c1">-</span> <span class="pl-s1">r</span>.<span class="pl-en">IdxLine</span>(<span class="pl-s1">r</span>.<span class="pl-c1">width</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC448" class="react-file-line html-div" data-testid="code-cell" data-line-number="448" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC449" class="react-file-line html-div" data-testid="code-cell" data-line-number="449" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC450" class="react-file-line html-div" data-testid="code-cell" data-line-number="450" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Refresh</span>(<span class="pl-s1">f</span> <span class="pl-k">func</span>()) {</div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC451" class="react-file-line html-div" data-testid="code-cell" data-line-number="451" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC452" class="react-file-line html-div" data-testid="code-cell" data-line-number="452" style="position:relative"> <span class="pl-k">defer</span> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC453" class="react-file-line html-div" data-testid="code-cell" data-line-number="453" style="position:relative"> </div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC454" class="react-file-line html-div" data-testid="code-cell" data-line-number="454" style="position:relative"> <span class="pl-k">if</span> <span class="pl-c1">!</span><span class="pl-s1">r</span>.<span class="pl-c1">interactive</span> {</div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC455" class="react-file-line html-div" data-testid="code-cell" data-line-number="455" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">f</span> <span class="pl-c1">!=</span> <span class="pl-c1">nil</span> {</div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC456" class="react-file-line html-div" data-testid="code-cell" data-line-number="456" style="position:relative"> <span class="pl-en">f</span>()</div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC457" class="react-file-line html-div" data-testid="code-cell" data-line-number="457" style="position:relative"> }</div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC458" class="react-file-line html-div" data-testid="code-cell" data-line-number="458" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC459" class="react-file-line html-div" data-testid="code-cell" data-line-number="459" style="position:relative"> }</div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC460" class="react-file-line html-div" data-testid="code-cell" data-line-number="460" style="position:relative"> </div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC461" class="react-file-line html-div" data-testid="code-cell" data-line-number="461" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">clean</span>()</div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC462" class="react-file-line html-div" data-testid="code-cell" data-line-number="462" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">f</span> <span class="pl-c1">!=</span> <span class="pl-c1">nil</span> {</div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC463" class="react-file-line html-div" data-testid="code-cell" data-line-number="463" style="position:relative"> <span class="pl-en">f</span>()</div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC464" class="react-file-line html-div" data-testid="code-cell" data-line-number="464" style="position:relative"> }</div></div></div><div class="child-of-line-449 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC465" class="react-file-line html-div" data-testid="code-cell" data-line-number="465" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">print</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC466" class="react-file-line html-div" data-testid="code-cell" data-line-number="466" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC467" class="react-file-line html-div" data-testid="code-cell" data-line-number="467" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC468" class="react-file-line html-div" data-testid="code-cell" data-line-number="468" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">SetOffset</span>(<span class="pl-s1">offset</span> <span class="pl-smi">string</span>) {</div></div></div><div class="child-of-line-467 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC469" class="react-file-line html-div" data-testid="code-cell" data-line-number="469" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-467 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC470" class="react-file-line html-div" data-testid="code-cell" data-line-number="470" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">offset</span> <span class="pl-c1">=</span> <span class="pl-s1">offset</span></div></div></div><div class="child-of-line-467 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC471" class="react-file-line html-div" data-testid="code-cell" data-line-number="471" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC472" class="react-file-line html-div" data-testid="code-cell" data-line-number="472" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC473" class="react-file-line html-div" data-testid="code-cell" data-line-number="473" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC474" class="react-file-line html-div" data-testid="code-cell" data-line-number="474" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">print</span>() {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC475" class="react-file-line html-div" data-testid="code-cell" data-line-number="475" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">w</span>.<span class="pl-en">Write</span>(<span class="pl-s1">r</span>.<span class="pl-en">output</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC476" class="react-file-line html-div" data-testid="code-cell" data-line-number="476" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">hadClean</span> <span class="pl-c1">=</span> <span class="pl-c1">false</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC477" class="react-file-line html-div" data-testid="code-cell" data-line-number="477" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC478" class="react-file-line html-div" data-testid="code-cell" data-line-number="478" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC479" class="react-file-line html-div" data-testid="code-cell" data-line-number="479" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">output</span>() []<span class="pl-smi">byte</span> {</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC480" class="react-file-line html-div" data-testid="code-cell" data-line-number="480" style="position:relative"> <span class="pl-s1">buf</span> <span class="pl-c1">:=</span> <span class="pl-s1">bytes</span>.<span class="pl-en">NewBuffer</span>(<span class="pl-c1">nil</span>)</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC481" class="react-file-line html-div" data-testid="code-cell" data-line-number="481" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">WriteString</span>(<span class="pl-en">string</span>(<span class="pl-s1">r</span>.<span class="pl-c1">prompt</span>))</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC482" class="react-file-line html-div" data-testid="code-cell" data-line-number="482" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">cfg</span>.<span class="pl-c1">EnableMask</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC483" class="react-file-line html-div" data-testid="code-cell" data-line-number="483" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">Write</span>([]<span class="pl-smi">byte</span>(<span class="pl-s1">strings</span>.<span class="pl-en">Repeat</span>(<span class="pl-en">string</span>(<span class="pl-s1">r</span>.<span class="pl-c1">cfg</span>.<span class="pl-c1">MaskRune</span>), <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)<span class="pl-c1">-</span><span class="pl-c1">1</span>)))</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC484" class="react-file-line html-div" data-testid="code-cell" data-line-number="484" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)<span class="pl-c1">-</span><span class="pl-c1">1</span>] <span class="pl-c1">==</span> <span class="pl-s">&#039;\n&#039;</span> {</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC485" class="react-file-line html-div" data-testid="code-cell" data-line-number="485" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">Write</span>([]<span class="pl-smi">byte</span>{<span class="pl-s">&#039;\n&#039;</span>})</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC486" class="react-file-line html-div" data-testid="code-cell" data-line-number="486" style="position:relative"> } <span class="pl-k">else</span> {</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC487" class="react-file-line html-div" data-testid="code-cell" data-line-number="487" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">Write</span>([]<span class="pl-smi">byte</span>(<span class="pl-en">string</span>(<span class="pl-s1">r</span>.<span class="pl-c1">cfg</span>.<span class="pl-c1">MaskRune</span>)))</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC488" class="react-file-line html-div" data-testid="code-cell" data-line-number="488" style="position:relative"> }</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC489" class="react-file-line html-div" data-testid="code-cell" data-line-number="489" style="position:relative"> <span class="pl-k">if</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) <span class="pl-c1">&gt;</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> {</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC490" class="react-file-line html-div" data-testid="code-cell" data-line-number="490" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">Write</span>(<span class="pl-s1">r</span>.<span class="pl-en">getBackspaceSequence</span>())</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC491" class="react-file-line html-div" data-testid="code-cell" data-line-number="491" style="position:relative"> }</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC492" class="react-file-line html-div" data-testid="code-cell" data-line-number="492" style="position:relative"> </div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC493" class="react-file-line html-div" data-testid="code-cell" data-line-number="493" style="position:relative"> } <span class="pl-k">else</span> {</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC494" class="react-file-line html-div" data-testid="code-cell" data-line-number="494" style="position:relative"> <span class="pl-k">for</span> <span class="pl-s1">_</span>, <span class="pl-s1">e</span> <span class="pl-c1">:=</span> <span class="pl-k">range</span> <span class="pl-s1">r</span>.<span class="pl-c1">cfg</span>.<span class="pl-c1">Painter</span>.<span class="pl-en">Paint</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>, <span class="pl-s1">r</span>.<span class="pl-c1">idx</span>) {</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC495" class="react-file-line html-div" data-testid="code-cell" data-line-number="495" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">e</span> <span class="pl-c1">==</span> <span class="pl-s">&#039;\t&#039;</span> {</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC496" class="react-file-line html-div" data-testid="code-cell" data-line-number="496" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">WriteString</span>(<span class="pl-s1">strings</span>.<span class="pl-en">Repeat</span>(<span class="pl-s">&quot; &quot;</span>, <span class="pl-s1">TabWidth</span>))</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC497" class="react-file-line html-div" data-testid="code-cell" data-line-number="497" style="position:relative"> } <span class="pl-k">else</span> {</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC498" class="react-file-line html-div" data-testid="code-cell" data-line-number="498" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">WriteRune</span>(<span class="pl-s1">e</span>)</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC499" class="react-file-line html-div" data-testid="code-cell" data-line-number="499" style="position:relative"> }</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC500" class="react-file-line html-div" data-testid="code-cell" data-line-number="500" style="position:relative"> }</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC501" class="react-file-line html-div" data-testid="code-cell" data-line-number="501" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-en">isInLineEdge</span>() {</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC502" class="react-file-line html-div" data-testid="code-cell" data-line-number="502" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">Write</span>([]<span class="pl-smi">byte</span>(<span class="pl-s">&quot; <span class="pl-cce">\b</span>&quot;</span>))</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC503" class="react-file-line html-div" data-testid="code-cell" data-line-number="503" style="position:relative"> }</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC504" class="react-file-line html-div" data-testid="code-cell" data-line-number="504" style="position:relative"> }</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC505" class="react-file-line html-div" data-testid="code-cell" data-line-number="505" style="position:relative"> <span class="pl-c">// cursor position</span></div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC506" class="react-file-line html-div" data-testid="code-cell" data-line-number="506" style="position:relative"> <span class="pl-k">if</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) <span class="pl-c1">&gt;</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> {</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC507" class="react-file-line html-div" data-testid="code-cell" data-line-number="507" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">Write</span>(<span class="pl-s1">r</span>.<span class="pl-en">getBackspaceSequence</span>())</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC508" class="react-file-line html-div" data-testid="code-cell" data-line-number="508" style="position:relative"> }</div></div></div><div class="child-of-line-478 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC509" class="react-file-line html-div" data-testid="code-cell" data-line-number="509" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">buf</span>.<span class="pl-en">Bytes</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC510" class="react-file-line html-div" data-testid="code-cell" data-line-number="510" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC511" class="react-file-line html-div" data-testid="code-cell" data-line-number="511" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC512" class="react-file-line html-div" data-testid="code-cell" data-line-number="512" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">getBackspaceSequence</span>() []<span class="pl-smi">byte</span> {</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC513" class="react-file-line html-div" data-testid="code-cell" data-line-number="513" style="position:relative"> <span class="pl-k">var</span> <span class="pl-s1">sep</span> <span class="pl-c1">=</span> <span class="pl-k">map</span>[<span class="pl-smi">int</span>]<span class="pl-smi">bool</span>{}</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC514" class="react-file-line html-div" data-testid="code-cell" data-line-number="514" style="position:relative"> </div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC515" class="react-file-line html-div" data-testid="code-cell" data-line-number="515" style="position:relative"> <span class="pl-k">var</span> <span class="pl-s1">i</span> <span class="pl-smi">int</span></div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC516" class="react-file-line html-div" data-testid="code-cell" data-line-number="516" style="position:relative"> <span class="pl-k">for</span> {</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC517" class="react-file-line html-div" data-testid="code-cell" data-line-number="517" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">i</span> <span class="pl-c1">&gt;=</span> <span class="pl-s1">runes</span>.<span class="pl-en">WidthAll</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>) {</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC518" class="react-file-line html-div" data-testid="code-cell" data-line-number="518" style="position:relative"> <span class="pl-k">break</span></div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC519" class="react-file-line html-div" data-testid="code-cell" data-line-number="519" style="position:relative"> }</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC520" class="react-file-line html-div" data-testid="code-cell" data-line-number="520" style="position:relative"> </div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC521" class="react-file-line html-div" data-testid="code-cell" data-line-number="521" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">i</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC522" class="react-file-line html-div" data-testid="code-cell" data-line-number="522" style="position:relative"> <span class="pl-s1">i</span> <span class="pl-c1">-=</span> <span class="pl-s1">r</span>.<span class="pl-en">promptLen</span>()</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC523" class="react-file-line html-div" data-testid="code-cell" data-line-number="523" style="position:relative"> }</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC524" class="react-file-line html-div" data-testid="code-cell" data-line-number="524" style="position:relative"> <span class="pl-s1">i</span> <span class="pl-c1">+=</span> <span class="pl-s1">r</span>.<span class="pl-c1">width</span></div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC525" class="react-file-line html-div" data-testid="code-cell" data-line-number="525" style="position:relative"> </div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC526" class="react-file-line html-div" data-testid="code-cell" data-line-number="526" style="position:relative"> <span class="pl-s1">sep</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-c1">true</span></div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC527" class="react-file-line html-div" data-testid="code-cell" data-line-number="527" style="position:relative"> }</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC528" class="react-file-line html-div" data-testid="code-cell" data-line-number="528" style="position:relative"> <span class="pl-k">var</span> <span class="pl-s1">buf</span> []<span class="pl-smi">byte</span></div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC529" class="react-file-line html-div" data-testid="code-cell" data-line-number="529" style="position:relative"> <span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">:=</span> <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>); <span class="pl-s1">i</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span>; <span class="pl-s1">i</span><span class="pl-c1">--</span> {</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC530" class="react-file-line html-div" data-testid="code-cell" data-line-number="530" style="position:relative"> <span class="pl-c">// move input to the left of one</span></div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC531" class="react-file-line html-div" data-testid="code-cell" data-line-number="531" style="position:relative"> <span class="pl-s1">buf</span> <span class="pl-c1">=</span> <span class="pl-en">append</span>(<span class="pl-s1">buf</span>, <span class="pl-s">&#039;\b&#039;</span>)</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC532" class="react-file-line html-div" data-testid="code-cell" data-line-number="532" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">sep</span>[<span class="pl-s1">i</span>] {</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC533" class="react-file-line html-div" data-testid="code-cell" data-line-number="533" style="position:relative"> <span class="pl-c">// up one line, go to the start of the line and move cursor right to the end (r.width)</span></div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC534" class="react-file-line html-div" data-testid="code-cell" data-line-number="534" style="position:relative"> <span class="pl-s1">buf</span> <span class="pl-c1">=</span> <span class="pl-en">append</span>(<span class="pl-s1">buf</span>, <span class="pl-s">&quot;<span class="pl-cce">\033</span>[A<span class="pl-cce">\r</span>&quot;</span><span class="pl-c1">+</span><span class="pl-s">&quot;<span class="pl-cce">\033</span>[&quot;</span><span class="pl-c1">+</span><span class="pl-s1">strconv</span>.<span class="pl-en">Itoa</span>(<span class="pl-s1">r</span>.<span class="pl-c1">width</span>)<span class="pl-c1">+</span><span class="pl-s">&quot;C&quot;</span><span class="pl-c1">...</span>)</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC535" class="react-file-line html-div" data-testid="code-cell" data-line-number="535" style="position:relative"> }</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC536" class="react-file-line html-div" data-testid="code-cell" data-line-number="536" style="position:relative"> }</div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC537" class="react-file-line html-div" data-testid="code-cell" data-line-number="537" style="position:relative"> </div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC538" class="react-file-line html-div" data-testid="code-cell" data-line-number="538" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">buf</span></div></div></div><div class="child-of-line-511 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC539" class="react-file-line html-div" data-testid="code-cell" data-line-number="539" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC540" class="react-file-line html-div" data-testid="code-cell" data-line-number="540" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC541" class="react-file-line html-div" data-testid="code-cell" data-line-number="541" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC542" class="react-file-line html-div" data-testid="code-cell" data-line-number="542" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Reset</span>() []<span class="pl-smi">rune</span> {</div></div></div><div class="child-of-line-541 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC543" class="react-file-line html-div" data-testid="code-cell" data-line-number="543" style="position:relative"> <span class="pl-s1">ret</span> <span class="pl-c1">:=</span> <span class="pl-s1">runes</span>.<span class="pl-en">Copy</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)</div></div></div><div class="child-of-line-541 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC544" class="react-file-line html-div" data-testid="code-cell" data-line-number="544" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[:<span class="pl-c1">0</span>]</div></div></div><div class="child-of-line-541 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC545" class="react-file-line html-div" data-testid="code-cell" data-line-number="545" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span></div></div></div><div class="child-of-line-541 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC546" class="react-file-line html-div" data-testid="code-cell" data-line-number="546" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">ret</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC547" class="react-file-line html-div" data-testid="code-cell" data-line-number="547" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC548" class="react-file-line html-div" data-testid="code-cell" data-line-number="548" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC549" class="react-file-line html-div" data-testid="code-cell" data-line-number="549" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">calWidth</span>(<span class="pl-s1">m</span> <span class="pl-smi">int</span>) <span class="pl-smi">int</span> {</div></div></div><div class="child-of-line-548 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC550" class="react-file-line html-div" data-testid="code-cell" data-line-number="550" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">m</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-548 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC551" class="react-file-line html-div" data-testid="code-cell" data-line-number="551" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">runes</span>.<span class="pl-en">WidthAll</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span> : <span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">+</span><span class="pl-s1">m</span>])</div></div></div><div class="child-of-line-548 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC552" class="react-file-line html-div" data-testid="code-cell" data-line-number="552" style="position:relative"> }</div></div></div><div class="child-of-line-548 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC553" class="react-file-line html-div" data-testid="code-cell" data-line-number="553" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">runes</span>.<span class="pl-en">WidthAll</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">+</span><span class="pl-s1">m</span> : <span class="pl-s1">r</span>.<span class="pl-c1">idx</span>])</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC554" class="react-file-line html-div" data-testid="code-cell" data-line-number="554" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC555" class="react-file-line html-div" data-testid="code-cell" data-line-number="555" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC556" class="react-file-line html-div" data-testid="code-cell" data-line-number="556" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">SetStyle</span>(<span class="pl-s1">start</span>, <span class="pl-s1">end</span> <span class="pl-smi">int</span>, <span class="pl-s1">style</span> <span class="pl-smi">string</span>) {</div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC557" class="react-file-line html-div" data-testid="code-cell" data-line-number="557" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">end</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">start</span> {</div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC558" class="react-file-line html-div" data-testid="code-cell" data-line-number="558" style="position:relative"> <span class="pl-en">panic</span>(<span class="pl-s">&quot;end &lt; start&quot;</span>)</div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC559" class="react-file-line html-div" data-testid="code-cell" data-line-number="559" style="position:relative"> }</div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC560" class="react-file-line html-div" data-testid="code-cell" data-line-number="560" style="position:relative"> </div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC561" class="react-file-line html-div" data-testid="code-cell" data-line-number="561" style="position:relative"> <span class="pl-c">// goto start</span></div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC562" class="react-file-line html-div" data-testid="code-cell" data-line-number="562" style="position:relative"> <span class="pl-s1">move</span> <span class="pl-c1">:=</span> <span class="pl-s1">start</span> <span class="pl-c1">-</span> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span></div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC563" class="react-file-line html-div" data-testid="code-cell" data-line-number="563" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">move</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC564" class="react-file-line html-div" data-testid="code-cell" data-line-number="564" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">w</span>.<span class="pl-en">Write</span>([]<span class="pl-smi">byte</span>(<span class="pl-en">string</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">r</span>.<span class="pl-c1">idx</span> : <span class="pl-s1">r</span>.<span class="pl-c1">idx</span><span class="pl-c1">+</span><span class="pl-s1">move</span>])))</div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC565" class="react-file-line html-div" data-testid="code-cell" data-line-number="565" style="position:relative"> } <span class="pl-k">else</span> {</div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC566" class="react-file-line html-div" data-testid="code-cell" data-line-number="566" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">w</span>.<span class="pl-en">Write</span>(<span class="pl-s1">bytes</span>.<span class="pl-en">Repeat</span>([]<span class="pl-smi">byte</span>(<span class="pl-s">&quot;<span class="pl-cce">\b</span>&quot;</span>), <span class="pl-s1">r</span>.<span class="pl-en">calWidth</span>(<span class="pl-s1">move</span>)))</div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC567" class="react-file-line html-div" data-testid="code-cell" data-line-number="567" style="position:relative"> }</div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC568" class="react-file-line html-div" data-testid="code-cell" data-line-number="568" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">w</span>.<span class="pl-en">Write</span>([]<span class="pl-smi">byte</span>(<span class="pl-s">&quot;<span class="pl-cce">\033</span>[&quot;</span> <span class="pl-c1">+</span> <span class="pl-s1">style</span> <span class="pl-c1">+</span> <span class="pl-s">&quot;m&quot;</span>))</div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC569" class="react-file-line html-div" data-testid="code-cell" data-line-number="569" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">w</span>.<span class="pl-en">Write</span>([]<span class="pl-smi">byte</span>(<span class="pl-en">string</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>[<span class="pl-s1">start</span>:<span class="pl-s1">end</span>])))</div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC570" class="react-file-line html-div" data-testid="code-cell" data-line-number="570" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">w</span>.<span class="pl-en">Write</span>([]<span class="pl-smi">byte</span>(<span class="pl-s">&quot;<span class="pl-cce">\033</span>[0m&quot;</span>))</div></div></div><div class="child-of-line-555 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC571" class="react-file-line html-div" data-testid="code-cell" data-line-number="571" style="position:relative"> <span class="pl-c">// TODO: move back</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC572" class="react-file-line html-div" data-testid="code-cell" data-line-number="572" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC573" class="react-file-line html-div" data-testid="code-cell" data-line-number="573" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC574" class="react-file-line html-div" data-testid="code-cell" data-line-number="574" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">SetWithIdx</span>(<span class="pl-s1">idx</span> <span class="pl-smi">int</span>, <span class="pl-s1">buf</span> []<span class="pl-smi">rune</span>) {</div></div></div><div class="child-of-line-573 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC575" class="react-file-line html-div" data-testid="code-cell" data-line-number="575" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Refresh</span>(<span class="pl-k">func</span>() {</div></div></div><div class="child-of-line-573 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC576" class="react-file-line html-div" data-testid="code-cell" data-line-number="576" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">buf</span> <span class="pl-c1">=</span> <span class="pl-s1">buf</span></div></div></div><div class="child-of-line-573 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC577" class="react-file-line html-div" data-testid="code-cell" data-line-number="577" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">idx</span> <span class="pl-c1">=</span> <span class="pl-s1">idx</span></div></div></div><div class="child-of-line-573 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC578" class="react-file-line html-div" data-testid="code-cell" data-line-number="578" style="position:relative"> })</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC579" class="react-file-line html-div" data-testid="code-cell" data-line-number="579" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC580" class="react-file-line html-div" data-testid="code-cell" data-line-number="580" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC581" class="react-file-line html-div" data-testid="code-cell" data-line-number="581" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Set</span>(<span class="pl-s1">buf</span> []<span class="pl-smi">rune</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC582" class="react-file-line html-div" data-testid="code-cell" data-line-number="582" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">SetWithIdx</span>(<span class="pl-en">len</span>(<span class="pl-s1">buf</span>), <span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC583" class="react-file-line html-div" data-testid="code-cell" data-line-number="583" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC584" class="react-file-line html-div" data-testid="code-cell" data-line-number="584" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC585" class="react-file-line html-div" data-testid="code-cell" data-line-number="585" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">SetPrompt</span>(<span class="pl-s1">prompt</span> <span class="pl-smi">string</span>) {</div></div></div><div class="child-of-line-584 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC586" class="react-file-line html-div" data-testid="code-cell" data-line-number="586" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-584 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC587" class="react-file-line html-div" data-testid="code-cell" data-line-number="587" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">prompt</span> <span class="pl-c1">=</span> []<span class="pl-smi">rune</span>(<span class="pl-s1">prompt</span>)</div></div></div><div class="child-of-line-584 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC588" class="react-file-line html-div" data-testid="code-cell" data-line-number="588" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC589" class="react-file-line html-div" data-testid="code-cell" data-line-number="589" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC590" class="react-file-line html-div" data-testid="code-cell" data-line-number="590" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC591" class="react-file-line html-div" data-testid="code-cell" data-line-number="591" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">cleanOutput</span>(<span class="pl-s1">w</span> io.<span class="pl-smi">Writer</span>, <span class="pl-s1">idxLine</span> <span class="pl-smi">int</span>) {</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC592" class="react-file-line html-div" data-testid="code-cell" data-line-number="592" style="position:relative"> <span class="pl-s1">buf</span> <span class="pl-c1">:=</span> <span class="pl-s1">bufio</span>.<span class="pl-en">NewWriter</span>(<span class="pl-s1">w</span>)</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC593" class="react-file-line html-div" data-testid="code-cell" data-line-number="593" style="position:relative"> </div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC594" class="react-file-line html-div" data-testid="code-cell" data-line-number="594" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">width</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC595" class="react-file-line html-div" data-testid="code-cell" data-line-number="595" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">WriteString</span>(<span class="pl-s1">strings</span>.<span class="pl-en">Repeat</span>(<span class="pl-s">&quot;<span class="pl-cce">\r</span><span class="pl-cce">\b</span>&quot;</span>, <span class="pl-en">len</span>(<span class="pl-s1">r</span>.<span class="pl-c1">buf</span>)<span class="pl-c1">+</span><span class="pl-s1">r</span>.<span class="pl-en">promptLen</span>()))</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC596" class="react-file-line html-div" data-testid="code-cell" data-line-number="596" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">Write</span>([]<span class="pl-smi">byte</span>(<span class="pl-s">&quot;<span class="pl-cce">\033</span>[J&quot;</span>))</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC597" class="react-file-line html-div" data-testid="code-cell" data-line-number="597" style="position:relative"> } <span class="pl-k">else</span> {</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC598" class="react-file-line html-div" data-testid="code-cell" data-line-number="598" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">Write</span>([]<span class="pl-smi">byte</span>(<span class="pl-s">&quot;<span class="pl-cce">\033</span>[J&quot;</span>)) <span class="pl-c">// just like ^k :)</span></div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC599" class="react-file-line html-div" data-testid="code-cell" data-line-number="599" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">idxLine</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> {</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC600" class="react-file-line html-div" data-testid="code-cell" data-line-number="600" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">WriteString</span>(<span class="pl-s">&quot;<span class="pl-cce">\033</span>[2K&quot;</span>)</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC601" class="react-file-line html-div" data-testid="code-cell" data-line-number="601" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">WriteString</span>(<span class="pl-s">&quot;<span class="pl-cce">\r</span>&quot;</span>)</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC602" class="react-file-line html-div" data-testid="code-cell" data-line-number="602" style="position:relative"> } <span class="pl-k">else</span> {</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC603" class="react-file-line html-div" data-testid="code-cell" data-line-number="603" style="position:relative"> <span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">:=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">idxLine</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span> {</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC604" class="react-file-line html-div" data-testid="code-cell" data-line-number="604" style="position:relative"> <span class="pl-s1">io</span>.<span class="pl-en">WriteString</span>(<span class="pl-s1">buf</span>, <span class="pl-s">&quot;<span class="pl-cce">\033</span>[2K<span class="pl-cce">\r</span><span class="pl-cce">\033</span>[A&quot;</span>)</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC605" class="react-file-line html-div" data-testid="code-cell" data-line-number="605" style="position:relative"> }</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC606" class="react-file-line html-div" data-testid="code-cell" data-line-number="606" style="position:relative"> <span class="pl-s1">io</span>.<span class="pl-en">WriteString</span>(<span class="pl-s1">buf</span>, <span class="pl-s">&quot;<span class="pl-cce">\033</span>[2K<span class="pl-cce">\r</span>&quot;</span>)</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC607" class="react-file-line html-div" data-testid="code-cell" data-line-number="607" style="position:relative"> }</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC608" class="react-file-line html-div" data-testid="code-cell" data-line-number="608" style="position:relative"> }</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC609" class="react-file-line html-div" data-testid="code-cell" data-line-number="609" style="position:relative"> <span class="pl-s1">buf</span>.<span class="pl-en">Flush</span>()</div></div></div><div class="child-of-line-590 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC610" class="react-file-line html-div" data-testid="code-cell" data-line-number="610" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC611" class="react-file-line html-div" data-testid="code-cell" data-line-number="611" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC612" class="react-file-line html-div" data-testid="code-cell" data-line-number="612" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC613" class="react-file-line html-div" data-testid="code-cell" data-line-number="613" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">Clean</span>() {</div></div></div><div class="child-of-line-612 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC614" class="react-file-line html-div" data-testid="code-cell" data-line-number="614" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Lock</span>()</div></div></div><div class="child-of-line-612 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC615" class="react-file-line html-div" data-testid="code-cell" data-line-number="615" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">clean</span>()</div></div></div><div class="child-of-line-612 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC616" class="react-file-line html-div" data-testid="code-cell" data-line-number="616" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">Unlock</span>()</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC617" class="react-file-line html-div" data-testid="code-cell" data-line-number="617" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC618" class="react-file-line html-div" data-testid="code-cell" data-line-number="618" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC619" class="react-file-line html-div" data-testid="code-cell" data-line-number="619" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">clean</span>() {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC620" class="react-file-line html-div" data-testid="code-cell" data-line-number="620" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">cleanWithIdxLine</span>(<span class="pl-s1">r</span>.<span class="pl-en">idxLine</span>(<span class="pl-s1">r</span>.<span class="pl-c1">width</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC621" class="react-file-line html-div" data-testid="code-cell" data-line-number="621" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC622" class="react-file-line html-div" data-testid="code-cell" data-line-number="622" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC623" class="react-file-line html-div" data-testid="code-cell" data-line-number="623" style="position:relative"><span class="pl-k">func</span> (<span class="pl-s1">r</span> <span class="pl-c1">*</span><span class="pl-smi">RuneBuffer</span>) <span class="pl-en">cleanWithIdxLine</span>(<span class="pl-s1">idxLine</span> <span class="pl-smi">int</span>) {</div></div></div><div class="child-of-line-622 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC624" class="react-file-line html-div" data-testid="code-cell" data-line-number="624" style="position:relative"> <span class="pl-k">if</span> <span class="pl-s1">r</span>.<span class="pl-c1">hadClean</span> <span class="pl-c1">||</span> <span class="pl-c1">!</span><span class="pl-s1">r</span>.<span class="pl-c1">interactive</span> {</div></div></div><div class="child-of-line-622 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC625" class="react-file-line html-div" data-testid="code-cell" data-line-number="625" style="position:relative"> <span class="pl-k">return</span></div></div></div><div class="child-of-line-622 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC626" class="react-file-line html-div" data-testid="code-cell" data-line-number="626" style="position:relative"> }</div></div></div><div class="child-of-line-622 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC627" class="react-file-line html-div" data-testid="code-cell" data-line-number="627" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-c1">hadClean</span> <span class="pl-c1">=</span> <span class="pl-c1">true</span></div></div></div><div class="child-of-line-622 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC628" class="react-file-line html-div" data-testid="code-cell" data-line-number="628" style="position:relative"> <span class="pl-s1">r</span>.<span class="pl-en">cleanOutput</span>(<span class="pl-s1">r</span>.<span class="pl-c1">w</span>, <span class="pl-s1">idxLine</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC629" class="react-file-line html-div" data-testid="code-cell" data-line-number="629" style="position:relative">}</div></div></div></div></div></div><div id="copilot-button-container"></div></div><div id="highlighted-line-menu-container"></div></div></div><button hidden="" data-testid="hotkey-button" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button></section></div></div></div> <!-- --> <!-- --> </div></div></div><div class="Box-sc-g0xbh4-0"></div></div></div></div></div><div id="find-result-marks-container" class="Box-sc-g0xbh4-0 cCoXib"></div><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button></div> <!-- --> <!-- --> <script type="application/json" id="__PRIMER_DATA_:R0:__">{"resolvedServerColorMode":"day"}</script></div> </react-app> </turbo-frame> </div> </turbo-frame> </main> </div> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> </a> <span> &copy; 2024 GitHub,&nbsp;Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10