amethyst/quartz/src/androidTest/assets/github_amethyst.html

7869 wiersze
817 KiB
HTML
Czysty Wina Historia

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html
data-a11y-animated-images="system"
data-a11y-link-underlines="true" data-color-mode="auto" data-dark-theme="dark"
data-light-theme="light" lang="en"
>
<head>
<meta charset="utf-8">
<link href="https://github.githubassets.com" rel="dns-prefetch">
<link href="https://avatars.githubusercontent.com" rel="dns-prefetch">
<link href="https://github-cloud.s3.amazonaws.com" rel="dns-prefetch">
<link href="https://user-images.githubusercontent.com/" rel="dns-prefetch">
<link crossorigin href="https://github.githubassets.com" rel="preconnect">
<link href="https://avatars.githubusercontent.com" rel="preconnect">
<link crossorigin="anonymous"
href="https://github.githubassets.com/assets/light-0eace2597ca3.css" media="all"
rel="stylesheet"/>
<link crossorigin="anonymous"
href="https://github.githubassets.com/assets/dark-a167e256da9c.css" media="all"
rel="stylesheet"/>
<link crossorigin="anonymous" data-color-theme="dark_dimmed"
data-href="https://github.githubassets.com/assets/dark_dimmed-d11f2cf8009b.css"
media="all"
rel="stylesheet"/>
<link crossorigin="anonymous" data-color-theme="dark_high_contrast"
data-href="https://github.githubassets.com/assets/dark_high_contrast-ea7373db06c8.css"
media="all"
rel="stylesheet"/>
<link crossorigin="anonymous" data-color-theme="dark_colorblind"
data-href="https://github.githubassets.com/assets/dark_colorblind-afa99dcf40f7.css"
media="all"
rel="stylesheet"/>
<link crossorigin="anonymous" data-color-theme="light_colorblind"
data-href="https://github.githubassets.com/assets/light_colorblind-af6c685139ba.css"
media="all"
rel="stylesheet"/>
<link crossorigin="anonymous" data-color-theme="light_high_contrast"
data-href="https://github.githubassets.com/assets/light_high_contrast-578cdbc8a5a9.css"
media="all"
rel="stylesheet"/>
<link crossorigin="anonymous" data-color-theme="light_tritanopia"
data-href="https://github.githubassets.com/assets/light_tritanopia-5cb699a7e247.css"
media="all"
rel="stylesheet"/>
<link crossorigin="anonymous" data-color-theme="dark_tritanopia"
data-href="https://github.githubassets.com/assets/dark_tritanopia-9b32204967c6.css"
media="all"
rel="stylesheet"/>
<link crossorigin="anonymous"
href="https://github.githubassets.com/assets/primer-primitives-366b5c973fad.css"
media="all"
rel="stylesheet"/>
<link crossorigin="anonymous"
href="https://github.githubassets.com/assets/primer-f3607eccaaae.css" media="all"
rel="stylesheet"/>
<link crossorigin="anonymous"
href="https://github.githubassets.com/assets/global-1e8b6cfe1b6c.css" media="all"
rel="stylesheet"/>
<link crossorigin="anonymous"
href="https://github.githubassets.com/assets/github-19c85be4af9c.css" media="all"
rel="stylesheet"/>
<link crossorigin="anonymous"
href="https://github.githubassets.com/assets/repository-6247ca238fd4.css" media="all"
rel="stylesheet"/>
<link crossorigin="anonymous"
href="https://github.githubassets.com/assets/code-ad2fce00d003.css" media="all"
rel="stylesheet"/>
<script id="client-env" type="application/json">{
"locale": "en",
"featureFlags": [
"code_vulnerability_scanning",
"copilot_conversational_ux_history_refs",
"copilot_smell_icebreaker_ux",
"copilot_implicit_context",
"failbot_handle_non_errors",
"geojson_azure_maps",
"image_metric_tracking",
"marketing_forms_api_integration_contact_request",
"marketing_pages_search_explore_provider",
"turbo_experiment_risky",
"sample_network_conn_type",
"no_character_key_shortcuts_in_inputs",
"react_start_transition_for_navigations",
"custom_inp",
"remove_child_patch",
"site_features_copilot_cli_ga",
"copilot_code_chat_diff_header_button"
]
}</script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/wp-runtime-1ad3a407ce56.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_js-6890e890956f.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_stacktrace-parser_dist_stack-trace-parser_esm_js-node_modules_github_bro-a4c183-79f9611c275b.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-7bd350d761f4.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-5bd9ba639cc0.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/environment-27057bd9ed0b.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-9f960d9b217c.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_focus-zone_js-086f7a27bac0.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-c76945c5961a.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_combobox-nav_dist_index_js-node_modules_github_markdown-toolbar-e-820fc0-bc8f02b96749.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_auto-complete-element-81d69b-d1813ba335d8.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-8a621df59e80.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b7d8f4-654130b7cde5.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-3959a9-68b3d6c8feb2.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/github-elements-369bd99876f6.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/element-registry-fb4b8d40f206.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_alive-client_dist-bf5aa2-5a0e291a0298.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-5b376145beff.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_morphdom_dist_morphdom-esm_js-5bff297a06de.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-c91f4ad18b62.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_scroll-anchoring_dist_scro-52dc4b-4fecca2d00e4.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-72c9fbde5ad4.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_dimensions_js-node_modules_github_jtml_lib_index_js-95b84ee6bc34.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_paste-markdown_dist_index_esm_js-node_modules_github_quote-select-cbac5f-c7885f4526c5.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/app_assets_modules_github_updatable-content_ts-ee3fc84d7fb0.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_onfocus_ts-app_ass-421cec-9de4213015af.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-94209c43e6af.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-467754-244ee9d9ed77.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-9285faa0e011.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/behaviors-4e25e265ef84.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-d0256ebff5cd.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/notifications-global-352d84c6cc82.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_virtualized-list_es_index_js-node_modules_github_template-parts_lib_index_js-878844713bc9.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-c537341-b93616e2fc14.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/app_assets_modules_github_ref-selector_ts-b593b93f23f5.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/codespaces-1a8626dd714a.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_github_remote-form_-01f9fa-075cdbe1c5e3.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_github_filter--b2311f-4c891ec4eeb9.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/repositories-704cd44e52d3.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/code-menu-614feb194539.js"
type="application/javascript"></script>
<title>GitHub - vitorpamplona/amethyst: Nostr client for Android</title>
<meta content="/:user_id/:repository" data-turbo-transient name="route-pattern">
<meta content="files" data-turbo-transient name="route-controller">
<meta content="disambiguate" data-turbo-transient name="route-action">
<meta content="82c569b93da5c18ed649ebd4c2c79437db4611a6a1373e805a3cb001c64130b7"
name="current-catalog-service-hash">
<meta content="D866:1BB4DF:1BD61AA:1DCFA81:6602436D" data-pjax-transient="true"
name="request-id"/>
<meta content="22d7790bee5b9e1b0797b0add505f94d8e2f5cc413749e9cba83cdad5b9d91c2"
data-pjax-transient="true"
name="html-safe-nonce"/>
<meta content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEODY2OjFCQjRERjoxQkQ2MUFBOjFEQ0ZBODE6NjYwMjQzNkQiLCJ2aXNpdG9yX2lkIjoiNzU4MjcxNDA5NTA3MDIzMzQ1MyIsInJlZ2lvbl9lZGdlIjoiamFwYW5lYXN0IiwicmVnaW9uX3JlbmRlciI6ImphcGFuZWFzdCJ9"
data-pjax-transient="true"
name="visitor-payload"/>
<meta content="f4fc41b7f4c5526dc3287862bd1a8351d5f7889c0f0cc337fd954f4340a32cef"
data-pjax-transient="true"
name="visitor-hmac"/>
<meta content="repository:587850619" data-turbo-transient name="hovercard-subject-tag">
<meta content="repository,copilot" data-turbo-transient="true"
name="github-keyboard-shortcuts"/>
<meta data-turbo-transient name="selected-link" value="repo_source">
<link href="https://github.githubassets.com/" rel="assets">
<meta content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY" name="google-site-verification">
<meta content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU" name="google-site-verification">
<meta content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA" name="google-site-verification">
<meta content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc" name="google-site-verification">
<meta content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I" name="google-site-verification">
<meta content="https://collector.github.com/github/collect" name="octolytics-url"/>
<meta content="/&lt;user-name&gt;/&lt;repo-name&gt;" data-turbo-transient="true"
name="analytics-location"/>
<meta content="" name="user-login">
<meta content="width=device-width" name="viewport">
<meta content="Nostr client for Android. Contribute to vitorpamplona/amethyst development by creating an account on GitHub."
name="description">
<link href="/opensearch.xml" rel="search" title="GitHub"
type="application/opensearchdescription+xml">
<link href="https://github.com/fluidicon.png" rel="fluid-icon" title="GitHub">
<meta content="1401488693436528" property="fb:app_id">
<meta content="app-id=1477376905, app-argument=https://github.com/vitorpamplona/amethyst"
name="apple-itunes-app"/>
<meta content="https://opengraph.githubassets.com/ca101062b838a7c4d1ece4627587219a96a51f33d82e6bd25b584038e280b4c4/vitorpamplona/amethyst"
name="twitter:image:src"/>
<meta content="@github" name="twitter:site"/>
<meta content="summary_large_image" name="twitter:card"/>
<meta content="GitHub - vitorpamplona/amethyst: Nostr client for Android" name="twitter:title"/>
<meta content="Nostr client for Android. Contribute to vitorpamplona/amethyst development by creating an account on GitHub."
name="twitter:description"/>
<meta content="https://opengraph.githubassets.com/ca101062b838a7c4d1ece4627587219a96a51f33d82e6bd25b584038e280b4c4/vitorpamplona/amethyst"
property="og:image"/>
<meta content="Nostr client for Android. Contribute to vitorpamplona/amethyst development by creating an account on GitHub."
property="og:image:alt"/>
<meta content="1200" property="og:image:width"/>
<meta content="600" property="og:image:height"/>
<meta content="GitHub" property="og:site_name"/>
<meta content="object" property="og:type"/>
<meta content="GitHub - vitorpamplona/amethyst: Nostr client for Android" property="og:title"/>
<meta content="https://github.com/vitorpamplona/amethyst" property="og:url"/>
<meta content="Nostr client for Android. Contribute to vitorpamplona/amethyst development by creating an account on GitHub."
property="og:description"/>
<meta content="github.com" name="hostname">
<meta content="github.com" name="expected-hostname">
<meta content="9fb8797340e711322f42155ac481f2c9d008fbbfcbd3602f2b97a4e1acd309f1"
data-turbo-track="reload"
http-equiv="x-pjax-version">
<meta content="5dcfbec3488c5fd5a334e287ce6a17058b7d4beb91db2d4d184e4d55bbf1d7d7"
data-turbo-track="reload"
http-equiv="x-pjax-csp-version">
<meta content="c652628a56d6ebd9e6374f6352ae3b2e3718598724a1b0139486b5c791b30c05"
data-turbo-track="reload"
http-equiv="x-pjax-css-version">
<meta content="2632e8c5e3f4bf2360a8b1df5d722e3687f0e8dfbd7be786bbfa68a8402b51b3"
data-turbo-track="reload"
http-equiv="x-pjax-js-version">
<meta content="no-preview" data-turbo-transient="" name="turbo-cache-control">
<meta data-hydrostats="publish">
<meta content="github.com/vitorpamplona/amethyst git https://github.com/vitorpamplona/amethyst.git"
name="go-import">
<meta content="532031" name="octolytics-dimension-user_id"/>
<meta content="vitorpamplona" name="octolytics-dimension-user_login"/>
<meta content="587850619" name="octolytics-dimension-repository_id"/>
<meta content="vitorpamplona/amethyst" name="octolytics-dimension-repository_nwo"/>
<meta content="true" name="octolytics-dimension-repository_public"/>
<meta content="false" name="octolytics-dimension-repository_is_fork"/>
<meta content="587850619" name="octolytics-dimension-repository_network_root_id"/>
<meta content="vitorpamplona/amethyst" name="octolytics-dimension-repository_network_root_nwo"/>
<link data-turbo-transient href="https://github.com/vitorpamplona/amethyst" rel="canonical">
<meta content="logged-out env-production page-responsive" name="turbo-body-classes">
<meta content="https://api.github.com/_private/browser/stats" name="browser-stats-url">
<meta content="https://api.github.com/_private/browser/errors" name="browser-errors-url">
<link color="#000000"
href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg"
rel="mask-icon">
<link class="js-site-favicon" href="https://github.githubassets.com/favicons/favicon.png"
rel="alternate icon"
type="image/png">
<link class="js-site-favicon" href="https://github.githubassets.com/favicons/favicon.svg"
rel="icon"
type="image/svg+xml">
<meta content="#1e2327" name="theme-color">
<meta content="light dark" name="color-scheme"/>
<link crossOrigin="use-credentials" href="/manifest.json" rel="manifest">
</head>
<body class="logged-out env-production page-responsive" style="word-wrap: break-word;">
<div class="logged-out env-production page-responsive" data-turbo-body
style="word-wrap: break-word;">
<div class="position-relative js-header-wrapper ">
<a class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content"
href="#start-of-content">Skip
to content</a>
<span class="progress-pjax-loader Progress position-fixed width-full"
data-view-component="true">
<span class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"
data-view-component="true"
style="width: 0%;"></span>
</span>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Button_IconButton_js-node_modules_primer_react_lib--23bcad-01764c79fa41.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-48a8478d8ac2.js"
type="application/javascript"></script>
<react-partial
data-ssr="false"
partial-name="keyboard-shortcuts-dialog"
>
<script data-target="react-partial.embeddedData" type="application/json">{
"props": {}
}</script>
<div data-target="react-partial.reactRoot"></div>
</react-partial>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-11f6759e1cef.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/sessions-694c8423e347.js"
type="application/javascript"></script>
<header class="Header-old header-logged-out js-details-container Details position-relative f4 py-3"
data-color-mode=light data-dark-theme=dark data-light-theme=light role="banner">
<button aria-label="Toggle navigation"
class="Header-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target"
type="button">
<span class="d-none">Toggle navigation</span>
</button>
<div class=" d-flex flex-column flex-lg-row flex-items-center p-responsive height-full position-relative z-1">
<div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto">
<a aria-label="Homepage" class="mr-lg-3 color-fg-inherit flex-order-2"
data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark"
href="https://github.com/">
<svg aria-hidden="true" class="octicon octicon-mark-github"
data-view-component="true" height="32"
version="1.1" viewBox="0 0 16 16"
width="32">
<path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path>
</svg>
</a>
<div class="flex-1">
<a class="d-inline-block d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit"
data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in"
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/vitorpamplona/amethyst&quot;,&quot;user_id&quot;:null}}"
data-hydro-click-hmac="c5bd9221957b4e2c1dfc4cbe64f80248de48834a86bb10f7c51a7fa489b3d4fe"
href="/login?return_to=https%3A%2F%2Fgithub.com%2Fvitorpamplona%2Famethyst">
Sign in
</a>
</div>
<div class="flex-1 flex-order-2 text-right">
<button aria-expanded="false" aria-label="Toggle navigation"
class="js-details-target Button--link Button--medium Button d-lg-none color-fg-inherit p-1"
data-view-component="true"
type="button"> <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>
</div>
<div class="HeaderMenu--logged-out p-responsive height-fit position-lg-relative d-lg-flex flex-column flex-auto pt-7 pb-4 top-0">
<div class="header-menu-wrapper d-flex flex-column flex-self-end flex-lg-row flex-justify-between flex-auto p-3 p-lg-0 rounded rounded-lg-0 mt-3 mt-lg-0">
<nav aria-label="Global" class="mt-0 px-3 px-lg-0 mb-3 mb-lg-0">
<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 aria-expanded="false"
class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target"
type="button">
Product
<svg aria-hidden="true"
class="octicon octicon-chevron-down HeaderMenu-icon ml-1"
data-view-component="true"
height="16" opacity="0.5" version="1.1"
viewBox="0 0 16 16"
width="16">
<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 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex dropdown-menu-wide">
<div class="px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7">
<ul class="list-style-none f5">
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Actions&quot;,&quot;label&quot;:&quot;ref_cta:Actions;&quot;}"
href="/features/actions">
<svg aria-hidden="true"
class="octicon octicon-workflow color-fg-subtle mr-3"
data-view-component="true" height="24"
version="1.1" viewBox="0 0 24 24"
width="24">
<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 lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Packages&quot;,&quot;label&quot;:&quot;ref_cta:Packages;&quot;}"
href="/features/packages">
<svg aria-hidden="true"
class="octicon octicon-package color-fg-subtle mr-3"
data-view-component="true" height="24"
version="1.1" viewBox="0 0 24 24"
width="24">
<path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"></path>
</svg>
<div>
<div class="color-fg-default h4">
Packages
</div>
Host and manage packages
</div>
</a></li>
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Security&quot;,&quot;label&quot;:&quot;ref_cta:Security;&quot;}"
href="/features/security">
<svg aria-hidden="true"
class="octicon octicon-shield-check color-fg-subtle mr-3"
data-view-component="true" height="24"
version="1.1" viewBox="0 0 24 24"
width="24">
<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 lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Codespaces&quot;,&quot;label&quot;:&quot;ref_cta:Codespaces;&quot;}"
href="/features/codespaces">
<svg aria-hidden="true"
class="octicon octicon-codespaces color-fg-subtle mr-3"
data-view-component="true" height="24"
version="1.1" viewBox="0 0 24 24"
width="24">
<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 lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Copilot&quot;,&quot;label&quot;:&quot;ref_cta:Copilot;&quot;}"
href="/features/copilot">
<svg aria-hidden="true"
class="octicon octicon-copilot color-fg-subtle mr-3"
data-view-component="true" height="24"
version="1.1" viewBox="0 0 24 24"
width="24">
<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">
Copilot
</div>
Write better code with AI
</div>
</a></li>
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Code review&quot;,&quot;label&quot;:&quot;ref_cta:Code review;&quot;}"
href="/features/code-review">
<svg aria-hidden="true"
class="octicon octicon-code-review color-fg-subtle mr-3"
data-view-component="true" height="24"
version="1.1" viewBox="0 0 24 24"
width="24">
<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 lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Issues&quot;,&quot;label&quot;:&quot;ref_cta:Issues;&quot;}"
href="/features/issues">
<svg aria-hidden="true"
class="octicon octicon-issue-opened color-fg-subtle mr-3"
data-view-component="true" height="24"
version="1.1" viewBox="0 0 24 24"
width="24">
<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 lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Discussions&quot;,&quot;label&quot;:&quot;ref_cta:Discussions;&quot;}"
href="/features/discussions">
<svg aria-hidden="true"
class="octicon octicon-comment-discussion color-fg-subtle mr-3"
data-view-component="true" height="24"
version="1.1" viewBox="0 0 24 24"
width="24">
<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>
</ul>
</div>
<div class="px-lg-4">
<span class="d-block h4 color-fg-default my-1"
id="product-explore-heading">Explore</span>
<ul aria-labelledby="product-explore-heading"
class="list-style-none f5">
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to All features&quot;,&quot;label&quot;:&quot;ref_cta:All features;&quot;}"
href="/features">
All features
</a></li>
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Documentation&quot;,&quot;label&quot;:&quot;ref_cta:Documentation;&quot;}"
href="https://docs.github.com"
target="_blank">
Documentation
<svg aria-hidden="true"
class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"
data-view-component="true" height="16"
version="1.1" viewBox="0 0 16 16"
width="16">
<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 lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to GitHub Skills&quot;,&quot;label&quot;:&quot;ref_cta:GitHub Skills;&quot;}"
href="https://skills.github.com/"
target="_blank">
GitHub Skills
<svg aria-hidden="true"
class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"
data-view-component="true" height="16"
version="1.1" viewBox="0 0 16 16"
width="16">
<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 lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Blog&quot;,&quot;label&quot;:&quot;ref_cta:Blog;&quot;}"
href="https://github.blog"
target="_blank">
Blog
<svg aria-hidden="true"
class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"
data-view-component="true" height="16"
version="1.1" viewBox="0 0 16 16"
width="16">
<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>
</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 aria-expanded="false"
class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target"
type="button">
Solutions
<svg aria-hidden="true"
class="octicon octicon-chevron-down HeaderMenu-icon ml-1"
data-view-component="true"
height="16" opacity="0.5" version="1.1"
viewBox="0 0 16 16"
width="16">
<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 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 px-lg-4">
<div class="border-bottom pb-3 mb-3">
<span class="d-block h4 color-fg-default my-1"
id="solutions-for-heading">For</span>
<ul aria-labelledby="solutions-for-heading"
class="list-style-none f5">
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Enterprise&quot;,&quot;label&quot;:&quot;ref_cta:Enterprise;&quot;}"
href="/enterprise">
Enterprise
</a></li>
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Teams&quot;,&quot;label&quot;:&quot;ref_cta:Teams;&quot;}"
href="/team">
Teams
</a></li>
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Startups&quot;,&quot;label&quot;:&quot;ref_cta:Startups;&quot;}"
href="/enterprise/startups">
Startups
</a></li>
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Education&quot;,&quot;label&quot;:&quot;ref_cta:Education;&quot;}"
href="https://education.github.com"
target="_blank">
Education
<svg aria-hidden="true"
class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"
data-view-component="true" height="16"
version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="border-bottom pb-3 mb-3">
<span class="d-block h4 color-fg-default my-1"
id="solutions-by-solution-heading">By Solution</span>
<ul aria-labelledby="solutions-by-solution-heading"
class="list-style-none f5">
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to CI/CD &amp;amp; Automation&quot;,&quot;label&quot;:&quot;ref_cta:CI/CD &amp;amp; Automation;&quot;}"
href="/solutions/ci-cd/">
CI/CD &amp; Automation
</a></li>
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to DevOps&quot;,&quot;label&quot;:&quot;ref_cta:DevOps;&quot;}"
href="/solutions/devops/">
DevOps
</a></li>
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to DevSecOps&quot;,&quot;label&quot;:&quot;ref_cta:DevSecOps;&quot;}"
href="https://resources.github.com/devops/fundamentals/devsecops/"
target="_blank">
DevSecOps
<svg aria-hidden="true"
class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"
data-view-component="true" height="16"
version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="">
<span class="d-block h4 color-fg-default my-1"
id="solutions-resources-heading">Resources</span>
<ul aria-labelledby="solutions-resources-heading"
class="list-style-none f5">
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Learning Pathways&quot;,&quot;label&quot;:&quot;ref_cta:Learning Pathways;&quot;}"
href="https://resources.github.com/learn/pathways/"
target="_blank">
Learning Pathways
<svg aria-hidden="true"
class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"
data-view-component="true" height="16"
version="1.1" viewBox="0 0 16 16"
width="16">
<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 lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to White papers, Ebooks, Webinars&quot;,&quot;label&quot;:&quot;ref_cta:White papers, Ebooks, Webinars;&quot;}"
href="https://resources.github.com/"
target="_blank">
White papers, Ebooks, Webinars
<svg aria-hidden="true"
class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"
data-view-component="true" height="16"
version="1.1" viewBox="0 0 16 16"
width="16">
<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 lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Customer Stories&quot;,&quot;label&quot;:&quot;ref_cta:Customer Stories;&quot;}"
href="/customer-stories">
Customer Stories
</a></li>
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Partners&quot;,&quot;label&quot;:&quot;ref_cta:Partners;&quot;}"
href="https://partner.github.com/"
target="_blank">
Partners
<svg aria-hidden="true"
class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"
data-view-component="true" height="16"
version="1.1" viewBox="0 0 16 16"
width="16">
<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>
</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 aria-expanded="false"
class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target"
type="button">
Open Source
<svg aria-hidden="true"
class="octicon octicon-chevron-down HeaderMenu-icon ml-1"
data-view-component="true"
height="16" opacity="0.5" version="1.1"
viewBox="0 0 16 16"
width="16">
<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 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 px-lg-4">
<div class="border-bottom pb-3 mb-3">
<ul class="list-style-none f5">
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to GitHub Sponsors&quot;,&quot;label&quot;:&quot;ref_cta:GitHub Sponsors;&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 mb-3">
<ul class="list-style-none f5">
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to The ReadME Project&quot;,&quot;label&quot;:&quot;ref_cta:The ReadME Project;&quot;}"
href="/readme">
<div>
<div class="color-fg-default h4">The
ReadME Project
</div>
GitHub community articles
</div>
</a></li>
</ul>
</div>
<div class="">
<span class="d-block h4 color-fg-default my-1"
id="open-source-repositories-heading">Repositories</span>
<ul aria-labelledby="open-source-repositories-heading"
class="list-style-none f5">
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to Topics&quot;,&quot;label&quot;:&quot;ref_cta:Topics;&quot;}"
href="/topics">
Topics
</a></li>
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to Trending&quot;,&quot;label&quot;:&quot;ref_cta:Trending;&quot;}"
href="/trending">
Trending
</a></li>
<li>
<a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary"
data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to Collections&quot;,&quot;label&quot;:&quot;ref_cta:Collections;&quot;}"
href="/collections">
Collections
</a></li>
</ul>
</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;category&quot;:&quot;Header menu top item (logged out)&quot;,&quot;action&quot;:&quot;click to go to Pricing&quot;,&quot;label&quot;:&quot;ref_cta:Pricing;&quot;}"
href="/pricing">Pricing</a>
</li>
</ul>
</nav>
<div class="d-lg-flex flex-items-center mb-3 mb-lg-0 text-center text-lg-left ml-3"
style="">
<qbsearch-input class="search-input"
data-blackbird-indexed-repo-csrf="<esi:include src=&quot;/_esi/rails_csrf_token_form_hidden?r=nJUZ0XzMR1UNt0EugZgmhQislGjymKCq2sOwmkpy%2F2SGzAvMXC8LNU8aHdsTlc5kHeIdW4ole0HcWJnXrIBFf0bRvj4KTTOaQ9hIw3aNvlDt6fmilDKQl59GFPRRi%2Bvpa9Sg3ZhKVL%2BuDKj3vtIG9GedaRVnheCg3W7K85S%2FgywdC7jsgKcNBz%2BIEv3pjFZsLSnPoEOhev2bU%2BGlnmeevRbC86wFTEXsm96QcwucfYY6jBAOzj4svCC5%2FHui%2FJiDg7ki84mO4Kz%2F8vO3j%2Fi79%2FmOHvv5LiCqDPNqumMZEw%2FxwTEAlPRn0RW7hV7Q0i3p1cFn8kePKeLqG73%2FWn9iu3jKZZ4VqnQhYNJofxJEaDJ536o8RYAxkI2Hu1g34iSjf7CkZ%2BEURuZUDHVdod1Zk2pxYQOdekkHxkqx4O6OMGeOLgQ1EporzBLeTZDwaLmQw%2FQQ%2FxS3Kr%2Ft4xzgc6zm2gCj7MnsfaieYYpCExecutBhWwF8h8bRXhM6NM96v2lbXsGpcHn37XHN4DOR49wz4fQlvLFrtw%3D%3D--ZPTm%2F%2FyUvneDwIQX--kpAmnecEFXJF9BQuyiVr2g%3D%3D&quot; />"
data-blackbird-suggestions-path="/search/suggestions"
data-copilot-chat-enabled="false"
data-current-org=""
data-current-owner="vitorpamplona"
data-current-repository="vitorpamplona/amethyst"
data-custom-scopes-path="/search/custom_scopes"
data-delete-custom-scopes-csrf="dVSQnyNcYBfpx-IwN17O7N4JD8XF31HtqF945D52aij1hhCc5gulBzZLBrs8Fw47e9Hnek0H5oUGufba-wLqmg"
data-header-redesign-enabled="false"
data-initial-value=""
data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations"
data-logged-in="false" data-max-custom-scopes="10"
data-scope="repo:vitorpamplona/amethyst">
<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
autocapitalize="off"
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-action="click:qbsearch-input#handleExpand"
data-hotkey=s,/
data-target="qbsearch-input.inputButton"
placeholder="Search or jump to..."
type="button"
>
<div class="mr-2 color-fg-muted">
<svg aria-hidden="true" class="octicon octicon-search"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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 aria-hidden="true" class="mr-1"
height="20" width="22"
xmlns="http://www.w3.org/2000/svg">
<path 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"
fill="none" opacity=".4"
stroke="#979A9C"></path>
<path d="M11.8 6L8 15.1h-.9L10.8 6h1z"
fill="#979A9C"></path>
</svg>
</div>
</button>
<input class="js-site-search-type-field" name="type"
type="hidden">
<div class="Overlay--hidden " data-modal-dialog-overlay>
<modal-dialog
aria-labelledby="search-suggestions-dialog-header"
aria-modal="true"
class="Overlay Overlay--width-large Overlay--height-auto"
data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose"
data-target="qbsearch-input.searchSuggestionsDialog"
data-view-component="true"
id="search-suggestions-dialog"
role="dialog">
<h1 class="sr-only"
id="search-suggestions-dialog-header">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"
data-target="qbsearch-input.queryBuilderContainer"
hidden
style="border-radius: 12px;"
>
<!-- '"` -->
<!-- </textarea></xmp> --></option></form>
<form accept-charset="UTF-8" action=""
id="query-builder-test-form"
method="get">
<query-builder
class="QueryBuilder search-query-builder"
data-filter-key=":"
data-target="qbsearch-input.queryBuilder"
data-view-component="true"
id="query-builder-query-builder-test">
<div class="FormControl FormControl--fullWidth">
<label class="FormControl-label sr-only"
for="query-builder-test"
id="query-builder-test-label">
Search
</label>
<div
class="QueryBuilder-StyledInput width-fit "
data-target="query-builder.styledInput"
>
<span class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"
id="query-builder-test-leadingvisual-wrap">
<svg aria-hidden="true" class="octicon octicon-search FormControl-input-leadingVisual"
data-view-component="true" height="16" version="1.1"
viewBox="0 0 16 16"
width="16">
<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 class="QueryBuilder-StyledInputContainer"
data-target="query-builder.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 aria-describedby="validation-98a8986b-3bf3-43df-ae57-aadfe7ddf924"
aria-expanded="false"
autocomplete="off"
class="FormControl-input QueryBuilder-Input FormControl-medium"
data-action="
input:query-builder#inputChange
blur:query-builder#inputBlur
keydown:query-builder#inputKeydown
focus:query-builder#inputFocus
"
data-target="query-builder.input"
data-view-component="true"
id="query-builder-test"
name="query-builder-test"
role="combobox"
spellcheck="false"
type="text"
value=""/>
</div>
</div>
<span class="sr-only"
id="query-builder-test-clear">Clear</span>
<button aria-labelledby="query-builder-test-clear query-builder-test-label"
class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"
data-action="
click:query-builder#clear
focus:query-builder#clearButtonFocus
blur:query-builder#clearButtonBlur
"
data-target="query-builder.clearButton"
data-view-component="true"
hidden="hidden"
id="query-builder-test-clear-button"
role="button"
type="button"
variant="small">
<svg aria-hidden="true"
class="octicon octicon-x-circle-fill Button-visual"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-search"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-code"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-file-code"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-history"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-repo"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-bookmark"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-plus-circle"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-dot-fill"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-trash"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-people"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-project"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-pencil"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-copilot"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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="workflow-icon">
<svg aria-hidden="true"
class="octicon octicon-workflow"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-book"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-code-review"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-codespaces"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-comment"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-comment-discussion"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-organization"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-rocket"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-shield-check"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-heart"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-server"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-globe"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-issue-opened"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-device-mobile"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-package"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-credit-card"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-play"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-gift"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-code-square"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-device-desktop"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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
aria-label="Suggestions"
class="ActionListWrap QueryBuilder-ListWrap"
data-action="
combobox-commit:query-builder#comboboxCommit
mousedown:query-builder#resultsMousedown
"
data-persist-list=false
data-target="query-builder.resultsList"
id="query-builder-test-results"
role="listbox"
></ul>
</div>
<div class="FormControl-inlineValidation"
hidden="hidden"
id="validation-98a8986b-3bf3-43df-ae57-aadfe7ddf924">
<span class="FormControl-inlineValidation--visual">
<svg aria-hidden="true" class="octicon octicon-alert-fill" data-view-component="true"
height="12" version="1.1"
viewBox="0 0 12 12" width="12">
<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 aria-atomic="true"
aria-live="polite"
class="sr-only"
data-target="query-builder.screenReaderFeedback"></div>
</query-builder>
</form>
<div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt">
<a class="Link color-fg-accent text-normal ml-2"
data-view-component="true"
href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax"
target="_blank">
Search syntax tips
</a>
<div class="d-flex flex-1"></div>
</div>
</div>
</div>
</div>
</modal-dialog>
</div>
</div>
<div class="dark-backdrop position-fixed"
data-action="click:qbsearch-input#retract"
data-target="qbsearch-input.darkBackdrop"
hidden></div>
<div class="color-fg-default">
<dialog-helper>
<dialog aria-describedby="feedback-dialog-description"
aria-labelledby="feedback-dialog-title"
aria-modal="true"
class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade"
data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose"
data-target="qbsearch-input.feedbackDialog"
data-view-component="true"
id="feedback-dialog">
<div class="Overlay-header" data-view-component="true">
<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 aria-label="Close"
class="close-button Overlay-closeButton"
data-close-dialog-id="feedback-dialog"
data-view-component="true"
type="button">
<svg aria-hidden="true"
class="octicon octicon-x"
data-view-component="true"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<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 class="Overlay-body"
data-view-component="true"> <!-- '"` -->
<!-- </textarea></xmp> --></option></form>
<form accept-charset="UTF-8"
action="/search/feedback"
data-turbo="false"
id="code-search-feedback-form"
method="post">
<input data-csrf="true"
name="authenticity_token"
type="hidden"
value="uGG+WMzIynRwioNU5WXHpk/icPdDuxww0BEmIRDV0L+I9qqRTou228sHZasVPTf75Q3re0EiLeLQRpPwzxpPRA=="/>
<p>We read every piece of feedback, and take
your input very seriously.</p>
<textarea
class="form-control width-full mb-2"
id="feedback"
name="feedback"
style="height: 120px"></textarea>
<input aria-label="Include my email address so I can be contacted"
class="form-control mr-2"
id="include_email"
name="include_email"
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 class="Overlay-footer Overlay-footer--alignEnd"
data-view-component="true">
<button class="btn"
data-close-dialog-id="feedback-dialog"
data-view-component="true"
type="button"> Cancel
</button>
<button class="btn-primary btn"
data-action="click:qbsearch-input#submitFeedback"
data-view-component="true"
form="code-search-feedback-form"
type="submit"> Submit feedback
</button>
</div>
</dialog>
</dialog-helper>
<custom-scopes data-target="qbsearch-input.customScopesManager">
<dialog-helper>
<dialog aria-describedby="custom-scopes-dialog-description"
aria-labelledby="custom-scopes-dialog-title"
aria-modal="true"
class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade"
data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose"
data-target="custom-scopes.customScopesModalDialog"
data-view-component="true"
id="custom-scopes-dialog">
<div class="Overlay-header Overlay-header--divided"
data-view-component="true">
<div class="Overlay-headerContentWrap">
<div class="Overlay-titleWrap">
<h1 class="Overlay-title "
id="custom-scopes-dialog-title">
Saved searches
</h1>
<h2 class="Overlay-description"
id="custom-scopes-dialog-description">
Use
saved searches to filter your
results more quickly</h2>
</div>
<div class="Overlay-actionWrap">
<button aria-label="Close"
class="close-button Overlay-closeButton"
data-close-dialog-id="custom-scopes-dialog"
data-view-component="true"
type="button">
<svg aria-hidden="true"
class="octicon octicon-x"
data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16"
width="16">
<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 class="Overlay-body"
data-view-component="true">
<div data-target="custom-scopes.customScopesModalDialogFlash"></div>
<div class="create-custom-scope-form"
data-target="custom-scopes.createCustomScopeForm"
hidden>
<!-- '"` -->
<!-- </textarea></xmp> --></option></form>
<form accept-charset="UTF-8"
action="/search/custom_scopes"
data-turbo="false"
id="custom-scopes-dialog-form"
method="post"><input
data-csrf="true"
name="authenticity_token"
type="hidden"
value="yz3IxuTtY7fytF6n2xROJNtORE2Bj0OQSo2xGOlLcz2ldvSK0gM1s7qr878+qb/g3mE75ePMDuwD70Y7+/MJ7w=="/>
<div data-target="custom-scopes.customScopesModalDialogFlash"></div>
<input data-target="custom-scopes.customScopesIdField"
id="custom_scope_id"
name="custom_scope_id"
type="hidden">
<div class="form-group">
<label for="custom_scope_name">Name</label>
<auto-check
required
src="/search/custom_scopes/check_name">
<input
autocomplete="off"
class="form-control"
data-target="custom-scopes.customScopesNameField"
id="custom_scope_name"
maxlength="50"
name="custom_scope_name"
placeholder="github-ruby"
required
type="text">
<input data-csrf="true"
type="hidden"
value="ALosy/Bx+flVf9ZpZGn4YbvE5leSFaZ3idDpP8wvyTa/GMOI0+iscxq3KAjw0+94miIXdLd/lqMg0epWlB8XeA=="/>
</auto-check>
</div>
<div class="form-group">
<label for="custom_scope_query">Query</label>
<input
autocomplete="off"
class="form-control"
data-target="custom-scopes.customScopesQueryField"
id="custom_scope_query"
maxlength="500"
name="custom_scope_query"
placeholder="(repo:mona/a OR repo:mona/b) AND lang:python"
required
type="text">
</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 class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"
data-view-component="true">
<button class="btn"
data-action="click:custom-scopes#customScopesCancel"
data-view-component="true"
type="button"> Cancel
</button>
<button class="btn-primary btn"
data-action="click:custom-scopes#customScopesSubmit"
data-target="custom-scopes.customScopesSubmitButton"
data-view-component="true"
form="custom-scopes-dialog-form"
type="submit"> Create saved
search
</button>
</div>
</dialog>
</dialog-helper>
</custom-scopes>
</div>
</qbsearch-input>
<input class="js-data-jump-to-suggestions-path-csrf" data-csrf="true"
type="hidden"
value="oXG5g8olzuMr0Xwa1JmqD8g10ko1/uHi+CDwfo4cJrZLxRaw1fa9vgAMSisYWgX8Q3uENb27iRodRCmRnmykZA=="/>
<div class="position-relative mr-lg-3 d-lg-inline-block">
<a class="HeaderMenu-link HeaderMenu-link--sign-in flex-shrink-0 no-underline d-block d-lg-inline-block border border-lg-0 rounded rounded-lg-0 p-2 p-lg-0"
data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in"
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/vitorpamplona/amethyst&quot;,&quot;user_id&quot;:null}}"
data-hydro-click-hmac="c5bd9221957b4e2c1dfc4cbe64f80248de48834a86bb10f7c51a7fa489b3d4fe"
href="/login?return_to=https%3A%2F%2Fgithub.com%2Fvitorpamplona%2Famethyst">
Sign in
</a>
</div>
<a class="HeaderMenu-link HeaderMenu-link--sign-up flex-shrink-0 d-none d-lg-inline-block no-underline border color-border-default rounded px-2 py-1"
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;;ref_cta:Sign up;ref_loc:header logged out&quot;}"
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/vitorpamplona/amethyst&quot;,&quot;user_id&quot;:null}}"
data-hydro-click-hmac="c5bd9221957b4e2c1dfc4cbe64f80248de48834a86bb10f7c51a7fa489b3d4fe"
href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&amp;source=header-repo&amp;source_repo=vitorpamplona%2Famethyst"
>
Sign up
</a>
</div>
</div>
</div>
</div>
</header>
<div class="js-stale-session-flash stale-session-flash flash flash-warn flash-full mb-3"
data-view-component="true"
hidden="hidden">
<svg aria-hidden="true" class="octicon octicon-alert" data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<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 aria-labelledby="tooltip-14b0cdea-8c06-4245-9868-a1d58a581a1f"
class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"
data-view-component="true"
id="icon-button-b683a117-f89d-40cf-82a3-e8b70d1168a0"
type="button">
<svg aria-hidden="true" class="octicon octicon-x Button-visual"
data-view-component="true" height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<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 class="sr-only position-absolute"
data-direction="s" data-type="label"
data-view-component="true"
for="icon-button-b683a117-f89d-40cf-82a3-e8b70d1168a0"
id="tooltip-14b0cdea-8c06-4245-9868-a1d58a581a1f"
popover="manual">Dismiss alert
</tool-tip>
</div>
</div>
<div class="show-on-focus" id="start-of-content"></div>
<div data-turbo-replace id="js-flash-container">
<template class="js-flash-template">
<div class="flash flash-full {{ className }}">
<div>
<button aria-label="Dismiss this message" autofocus
class="flash-close js-flash-close"
type="button">
<svg aria-hidden="true" class="octicon octicon-x" data-view-component="true"
height="16"
version="1.1" viewBox="0 0 16 16" width="16">
<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" class="js-flash-alert" role="alert">
<div>{{ message }}</div>
</div>
</div>
</div>
</template>
</div>
<include-fragment class="js-notification-shelf-include-fragment"
data-base-src="https://github.com/notifications/beta/shelf"></include-fragment>
<div
class="application-main "
data-commit-hovercards-enabled
data-discussion-hovercards-enabled
data-issue-and-pr-hovercards-enabled
>
<div class="" itemscope itemtype="http://schema.org/SoftwareSourceCode">
<main id="js-repo-pjax-container">
<div class="pt-3 hide-full-screen" data-turbo-replace
id="repository-container-header"
style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));">
<div class="d-flex flex-wrap flex-justify-end mb-3 px-3 px-md-4 px-lg-5"
style="gap: 1rem;">
<div class="flex-auto min-width-0 width-fit mr-3">
<div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
<svg aria-hidden="true"
class="octicon octicon-repo color-fg-muted mr-2"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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" data-hovercard-type="user"
data-hovercard-url="/users/vitorpamplona/hovercard"
data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self"
href="/vitorpamplona" rel="author">
vitorpamplona
</a> </span>
<span class="mx-1 flex-self-stretch color-fg-muted">/</span>
<strong class="mr-2 flex-self-stretch" itemprop="name">
<a data-pjax="#repo-content-pjax-container"
data-turbo-frame="repo-content-turbo-frame"
href="/vitorpamplona/amethyst">amethyst</a>
</strong>
<span></span><span
class="Label Label--secondary v-align-middle mr-1">Public</span>
</div>
</div>
<div data-turbo-replace id="repository-details-container">
<ul class="pagehead-actions flex-shrink-0 d-none d-md-inline"
style="padding: 2px 0;">
<li>
<a aria-label="You must be signed in to change notification settings"
class="tooltipped tooltipped-s btn-sm btn"
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/vitorpamplona/amethyst&quot;,&quot;user_id&quot;:null}}"
data-hydro-click-hmac="c2ccfef465eed5c614ee623c1288a16d1bd6614a8f0d37ff2c38c987e43b9d37"
data-view-component="true"
href="/login?return_to=%2Fvitorpamplona%2Famethyst"
rel="nofollow">
<svg aria-hidden="true" class="octicon octicon-bell mr-2"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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>
</li>
<li>
<a class="btn-sm btn"
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;:587850619,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/vitorpamplona/amethyst&quot;,&quot;user_id&quot;:null}}"
data-hydro-click-hmac="36f32971576b7c1746a2df635af4a84bba8b62a7e01a6338bc7fdf4177ee8742"
data-view-component="true"
href="/login?return_to=%2Fvitorpamplona%2Famethyst"
icon="repo-forked"
id="fork-button" rel="nofollow">
<svg aria-hidden="true"
class="octicon octicon-repo-forked mr-2"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="Counter" data-pjax-replace="true"
data-turbo-replace="true" data-view-component="true"
id="repo-network-counter" title="142">142</span>
</a>
</li>
<li>
<div class="BtnGroup d-flex" data-view-component="true">
<a aria-label="You must be signed in to star a repository"
class="tooltipped tooltipped-s btn-sm btn BtnGroup-item"
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;:587850619,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/vitorpamplona/amethyst&quot;,&quot;user_id&quot;:null}}"
data-hydro-click-hmac="aca40c9936d3ba06e245130d9ab5d80b5e0a36fc2f05e9a3e64174bf046fb27a"
data-view-component="true"
href="/login?return_to=%2Fvitorpamplona%2Famethyst"
rel="nofollow">
<svg aria-hidden="true"
class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="d-inline" data-view-component="true">
Star
</span> <span aria-label="1021 users starred this repository" class="Counter js-social-count"
data-plural-suffix="users starred this repository"
data-singular-suffix="user starred this repository" data-turbo-replace="true"
data-view-component="true" id="repo-stars-counter-star" title="1,021">1k</span>
</a>
<button aria-label="You must be signed in to add this repository to a list"
class="btn-sm btn BtnGroup-item px-2"
data-view-component="true"
disabled="disabled"
type="button">
<svg aria-hidden="true"
class="octicon octicon-triangle-down"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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>
</button>
</div>
</li>
<li>
</li>
</ul>
</div>
</div>
<div data-turbo-replace id="responsive-meta-container">
<div class="d-block d-md-none mb-2 px-3 px-md-4 px-lg-5">
<p class="f4 mb-3 ">
Nostr client for Android
</p>
<h3 class="sr-only">License</h3>
<div class="mb-2">
<a class="Link--muted"
data-analytics-event="{&quot;category&quot;:&quot;Repository Overview&quot;,&quot;action&quot;:&quot;click&quot;,&quot;label&quot;:&quot;location:sidebar;file:license&quot;}"
href="/vitorpamplona/amethyst/blob/main/LICENSE"
>
<svg aria-hidden="true" class="octicon octicon-law mr-2"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path>
</svg>
MIT license
</a>
</div>
<div class="mb-3">
<a class="Link--secondary no-underline mr-3"
href="/vitorpamplona/amethyst/stargazers">
<svg aria-hidden="true" class="octicon octicon-star mr-1"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="text-bold">1k</span>
stars
</a> <a class="Link--secondary no-underline mr-3"
href="/vitorpamplona/amethyst/forks">
<svg aria-hidden="true" class="octicon octicon-repo-forked mr-1"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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>
<span class="text-bold">142</span>
forks
</a> <a class="Link--secondary no-underline mr-3 d-inline-block"
href="/vitorpamplona/amethyst/branches">
<svg aria-hidden="true" class="octicon octicon-git-branch mr-1"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path>
</svg>
<span>Branches</span>
</a> <a class="Link--secondary no-underline d-inline-block"
href="/vitorpamplona/amethyst/tags">
<svg aria-hidden="true" class="octicon octicon-tag mr-1"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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>
<span>Tags</span>
</a> <a class="Link--secondary no-underline d-inline-block"
href="/vitorpamplona/amethyst/activity">
<svg aria-hidden="true" class="octicon octicon-pulse mr-1"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z"></path>
</svg>
<span>Activity</span>
</a></div>
<div class="d-flex flex-wrap gap-2">
<div class="flex-1">
<div class="BtnGroup d-flex" data-view-component="true">
<a aria-label="You must be signed in to star a repository"
class="tooltipped tooltipped-s btn-sm btn btn-block BtnGroup-item"
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;:587850619,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/vitorpamplona/amethyst&quot;,&quot;user_id&quot;:null}}"
data-hydro-click-hmac="aca40c9936d3ba06e245130d9ab5d80b5e0a36fc2f05e9a3e64174bf046fb27a"
data-view-component="true"
href="/login?return_to=%2Fvitorpamplona%2Famethyst"
rel="nofollow">
<svg aria-hidden="true"
class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="d-inline" data-view-component="true">
Star
</span>
</a>
<button aria-label="You must be signed in to add this repository to a list"
class="btn-sm btn BtnGroup-item px-2"
data-view-component="true"
disabled="disabled"
type="button">
<svg aria-hidden="true"
class="octicon octicon-triangle-down"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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>
</button>
</div>
</div>
<div class="flex-1">
<a aria-label="You must be signed in to change notification settings"
class="tooltipped tooltipped-s btn-sm btn btn-block"
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/vitorpamplona/amethyst&quot;,&quot;user_id&quot;:null}}"
data-hydro-click-hmac="c2ccfef465eed5c614ee623c1288a16d1bd6614a8f0d37ff2c38c987e43b9d37"
data-view-component="true"
href="/login?return_to=%2Fvitorpamplona%2Famethyst"
rel="nofollow">
<svg aria-hidden="true" class="octicon octicon-bell mr-2"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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>
</div>
<span>
</span>
</div>
</div>
</div>
<nav aria-label="Repository"
class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"
data-pjax="#js-repo-pjax-container"
data-view-component="true">
<ul class="UnderlineNav-body list-style-none" data-view-component="true">
<li class="d-inline-flex" data-view-component="true">
<a aria-current="page"
class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"
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;}"
data-hotkey="g c"
data-pjax="#repo-content-pjax-container"
data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /vitorpamplona/amethyst"
data-tab-item="i0code-tab"
data-turbo-frame="repo-content-turbo-frame"
data-view-component="true" href="/vitorpamplona/amethyst"
id="code-tab">
<svg aria-hidden="true"
class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="Counter" data-pjax-replace=""
data-turbo-replace="" data-view-component="true"
id="code-repo-tab-count" title="Not available"></span>
</a></li>
<li class="d-inline-flex" data-view-component="true">
<a class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"
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-hotkey="g i"
data-pjax="#repo-content-pjax-container"
data-selected-links="repo_issues repo_labels repo_milestones /vitorpamplona/amethyst/issues"
data-tab-item="i1issues-tab"
data-turbo-frame="repo-content-turbo-frame"
data-view-component="true"
href="/vitorpamplona/amethyst/issues"
id="issues-tab">
<svg aria-hidden="true"
class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="Counter" data-pjax-replace=""
data-turbo-replace="" data-view-component="true"
id="issues-repo-tab-count" title="115">115</span>
</a></li>
<li class="d-inline-flex" data-view-component="true">
<a class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"
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-hotkey="g p"
data-pjax="#repo-content-pjax-container"
data-selected-links="repo_pulls checks /vitorpamplona/amethyst/pulls"
data-tab-item="i2pull-requests-tab"
data-turbo-frame="repo-content-turbo-frame"
data-view-component="true"
href="/vitorpamplona/amethyst/pulls"
id="pull-requests-tab">
<svg aria-hidden="true"
class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="Counter" data-pjax-replace=""
data-turbo-replace="" data-view-component="true"
id="pull-requests-repo-tab-count"
title="2">2</span>
</a></li>
<li class="d-inline-flex" data-view-component="true">
<a class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"
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-hotkey="g a"
data-pjax="#repo-content-pjax-container"
data-selected-links="repo_actions /vitorpamplona/amethyst/actions"
data-tab-item="i3actions-tab"
data-turbo-frame="repo-content-turbo-frame"
data-view-component="true"
href="/vitorpamplona/amethyst/actions"
id="actions-tab">
<svg aria-hidden="true"
class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="Counter" data-pjax-replace=""
data-turbo-replace="" data-view-component="true"
id="actions-repo-tab-count" title="Not available"></span>
</a></li>
<li class="d-inline-flex" data-view-component="true">
<a class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"
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-hotkey="g b"
data-pjax="#repo-content-pjax-container"
data-selected-links="repo_projects new_repo_project repo_project /vitorpamplona/amethyst/projects"
data-tab-item="i4projects-tab"
data-turbo-frame="repo-content-turbo-frame"
data-view-component="true"
href="/vitorpamplona/amethyst/projects"
id="projects-tab">
<svg aria-hidden="true"
class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="Counter" data-pjax-replace=""
data-turbo-replace="" data-view-component="true"
id="projects-repo-tab-count"
title="1">1</span>
</a></li>
<li class="d-inline-flex" data-view-component="true">
<a class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"
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-hotkey="g s"
data-pjax="#repo-content-pjax-container"
data-selected-links="security overview alerts policy token_scanning code_scanning /vitorpamplona/amethyst/security"
data-tab-item="i5security-tab"
data-turbo-frame="repo-content-turbo-frame"
data-view-component="true"
href="/vitorpamplona/amethyst/security"
id="security-tab">
<svg aria-hidden="true"
class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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
accept="text/fragment+html"
src="/vitorpamplona/amethyst/security/overall-count"></include-fragment>
</a></li>
<li class="d-inline-flex" data-view-component="true">
<a class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"
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-pjax="#repo-content-pjax-container"
data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /vitorpamplona/amethyst/pulse"
data-tab-item="i6insights-tab"
data-turbo-frame="repo-content-turbo-frame"
data-view-component="true"
href="/vitorpamplona/amethyst/pulse"
id="insights-tab">
<svg aria-hidden="true"
class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="Counter" data-pjax-replace=""
data-turbo-replace="" data-view-component="true"
id="insights-repo-tab-count" title="Not available"></span>
</a></li>
</ul>
<div class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"
data-view-component="true"
style="visibility:hidden;">
<action-menu data-select-variant="none" data-view-component="true">
<focus-group direction="vertical" mnemonics retain>
<button aria-controls="action-menu-73d5c06b-a6f1-4545-8602-65b5d17a8ea1-list"
aria-haspopup="true"
aria-labelledby="tooltip-cb348a47-ad11-45bc-864c-c45f653339c1"
class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"
data-view-component="true"
id="action-menu-73d5c06b-a6f1-4545-8602-65b5d17a8ea1-button"
popovertarget="action-menu-73d5c06b-a6f1-4545-8602-65b5d17a8ea1-overlay"
type="button">
<svg aria-hidden="true"
class="octicon octicon-kebab-horizontal Button-visual"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="sr-only position-absolute"
data-direction="s"
data-type="label" data-view-component="true"
for="action-menu-73d5c06b-a6f1-4545-8602-65b5d17a8ea1-button"
id="tooltip-cb348a47-ad11-45bc-864c-c45f653339c1"
popover="manual">Additional
navigation options
</tool-tip>
<anchored-position
align="start"
anchor="action-menu-73d5c06b-a6f1-4545-8602-65b5d17a8ea1-button"
anchor-offset="normal" data-view-component="true"
id="action-menu-73d5c06b-a6f1-4545-8602-65b5d17a8ea1-overlay"
popover="auto"
side="outside-bottom">
<div class="Overlay Overlay--size-auto"
data-view-component="true">
<div class="Overlay-body Overlay-body--paddingNone"
data-view-component="true">
<action-list>
<div data-view-component="true">
<ul aria-labelledby="action-menu-73d5c06b-a6f1-4545-8602-65b5d17a8ea1-button"
class="ActionListWrap--inset ActionListWrap"
data-view-component="true"
id="action-menu-73d5c06b-a6f1-4545-8602-65b5d17a8ea1-list"
role="menu">
<li class="ActionListItem"
data-menu-item="i0code-tab"
data-targets="action-list.items"
data-view-component="true"
hidden="hidden"
role="none">
<a class="ActionListContent ActionListContent--visual16"
data-view-component="true"
href="/vitorpamplona/amethyst"
id="item-36b4b2da-53fa-4fc3-81a6-564b5d4ce48b"
role="menuitem"
tabindex="-1">
<span class="ActionListItem-visual ActionListItem-visual--leading">
<svg aria-hidden="true" class="octicon octicon-code" data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<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 class="ActionListItem-label"
data-view-component="true">
Code
</span></a>
</li>
<li class="ActionListItem"
data-menu-item="i1issues-tab"
data-targets="action-list.items"
data-view-component="true"
hidden="hidden"
role="none">
<a class="ActionListContent ActionListContent--visual16"
data-view-component="true"
href="/vitorpamplona/amethyst/issues"
id="item-141f17e7-0148-427b-aecf-f54ed956075c"
role="menuitem"
tabindex="-1">
<span class="ActionListItem-visual ActionListItem-visual--leading">
<svg aria-hidden="true" class="octicon octicon-issue-opened" data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<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 class="ActionListItem-label"
data-view-component="true">
Issues
</span></a>
</li>
<li class="ActionListItem"
data-menu-item="i2pull-requests-tab"
data-targets="action-list.items"
data-view-component="true"
hidden="hidden"
role="none">
<a class="ActionListContent ActionListContent--visual16"
data-view-component="true"
href="/vitorpamplona/amethyst/pulls"
id="item-4b9bd3e2-b93e-425c-af9a-26c172913e64"
role="menuitem"
tabindex="-1">
<span class="ActionListItem-visual ActionListItem-visual--leading">
<svg aria-hidden="true" class="octicon octicon-git-pull-request"
data-view-component="true" height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<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 class="ActionListItem-label"
data-view-component="true">
Pull requests
</span></a>
</li>
<li class="ActionListItem"
data-menu-item="i3actions-tab"
data-targets="action-list.items"
data-view-component="true"
hidden="hidden"
role="none">
<a class="ActionListContent ActionListContent--visual16"
data-view-component="true"
href="/vitorpamplona/amethyst/actions"
id="item-71254455-d23f-4c21-9fe7-9e4884a4fdd9"
role="menuitem"
tabindex="-1">
<span class="ActionListItem-visual ActionListItem-visual--leading">
<svg aria-hidden="true" class="octicon octicon-play" data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<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 class="ActionListItem-label"
data-view-component="true">
Actions
</span></a>
</li>
<li class="ActionListItem"
data-menu-item="i4projects-tab"
data-targets="action-list.items"
data-view-component="true"
hidden="hidden"
role="none">
<a class="ActionListContent ActionListContent--visual16"
data-view-component="true"
href="/vitorpamplona/amethyst/projects"
id="item-72a83a78-1370-4226-af2f-46f8cb32b078"
role="menuitem"
tabindex="-1">
<span class="ActionListItem-visual ActionListItem-visual--leading">
<svg aria-hidden="true" class="octicon octicon-table" data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<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 class="ActionListItem-label"
data-view-component="true">
Projects
</span></a>
</li>
<li class="ActionListItem"
data-menu-item="i5security-tab"
data-targets="action-list.items"
data-view-component="true"
hidden="hidden"
role="none">
<a class="ActionListContent ActionListContent--visual16"
data-view-component="true"
href="/vitorpamplona/amethyst/security"
id="item-1bfc3d44-c30f-40c1-879c-15644eab4c37"
role="menuitem"
tabindex="-1">
<span class="ActionListItem-visual ActionListItem-visual--leading">
<svg aria-hidden="true" class="octicon octicon-shield" data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<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 class="ActionListItem-label"
data-view-component="true">
Security
</span></a>
</li>
<li class="ActionListItem"
data-menu-item="i6insights-tab"
data-targets="action-list.items"
data-view-component="true"
hidden="hidden"
role="none">
<a class="ActionListContent ActionListContent--visual16"
data-view-component="true"
href="/vitorpamplona/amethyst/pulse"
id="item-e3506f4d-cb0a-4406-9dea-37819b0c2788"
role="menuitem"
tabindex="-1">
<span class="ActionListItem-visual ActionListItem-visual--leading">
<svg aria-hidden="true" class="octicon octicon-graph" data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<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 class="ActionListItem-label"
data-view-component="true">
Insights
</span></a>
</li>
</ul>
</div>
</action-list>
</div>
</div>
</anchored-position>
</focus-group>
</action-menu>
</div>
</nav>
</div>
<turbo-frame class="" data-turbo-action="advance" id="repo-content-turbo-frame"
target="_top">
<div class="repository-content " id="repo-content-pjax-container">
<h1 class='sr-only'>vitorpamplona/amethyst</h1>
<div class="clearfix container-xl px-md-4 px-lg-5 px-3">
<div>
<div aria-hidden class="mt-0 pb-3" hidden id="spoof-warning">
<div class="flash flash-warn mt-0 clearfix"
data-view-component="true">
<svg aria-hidden="true"
class="octicon octicon-alert float-left mt-1"
data-view-component="true"
height="16" version="1.1" viewBox="0 0 16 16"
width="16">
<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>
<div class="overflow-hidden">This commit does not belong to
any branch on this repository, and may belong to a fork
outside of the repository.
</div>
</div>
</div>
<include-fragment
data-test-selector="spoofed-commit-check"
src="/vitorpamplona/amethyst/spoofed_commit_check/018201148701ac6883acbc0d671628fde4604fe8"></include-fragment>
<div class="Layout Layout--flowRow-until-md react-repos-overview-margin Layout--sidebarPosition-end Layout--sidebarPosition-flowRow-end"
data-view-component="true"
style="max-width: 100%">
<div class="Layout-main" data-view-component="true">
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/react-lib-1fbfc5be2c18.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_primer_octicons-react_dist_index_esm_js-node_modules_primer_react_lib-es-2e8e7c-a58d7c11e858.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Box_Box_js-8f8c5e2a2cbf.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Button_Button_js-d5726d25c548.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ActionList_index_js-1501d3ef83c2.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Overlay_Overlay_js-node_modules_primer_react_lib-es-fa1130-829932cf63db.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ActionMenu_ActionMenu_js-eaf74522e470.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_github_catalyst_lib_index_js-node_modules_github_hydro-analytics-client_-978abc0-add939c751ce.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_react-router-dom_dist_index_js-3b41341d50fe.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Dialog_js-node_modules_primer_react_lib-esm_TabNav_-8321f5-2969c7508f3a.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_UnderlineNav_index_js-89fa5806aa3c.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_AvatarStack_AvatarStack_js-node_modules_primer_reac-558b50-c6ea7afb7179.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/ui_packages_react-core_create-browser-history_ts-ui_packages_react-core_AppContextProvider_ts-809ab9-4a2cf4ad7f60.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-654469d743cd.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-dbbdef4348e2.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-a73d65-239b92c64d22.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/app_assets_modules_react-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_ho-3e492a-f8db4e5bb6ca.js"
type="application/javascript"></script>
<script crossorigin="anonymous" defer="defer"
src="https://github.githubassets.com/assets/repos-overview-4ddd2c275f25.js"
type="application/javascript"></script>
<react-partial
data-ssr="true"
partial-name="repos-overview"
>
<script data-target="react-partial.embeddedData"
type="application/json">{
"props": {
"initialPayload": {
"allShortcutsEnabled": false,
"path": "/",
"repo": {
"id": 587850619,
"defaultBranch": "main",
"name": "amethyst",
"ownerLogin": "vitorpamplona",
"currentUserCanPush": false,
"isFork": false,
"isEmpty": false,
"createdAt": "2023-01-11T18:28:30.000Z",
"ownerAvatar": "https://avatars.githubusercontent.com/u/532031?v=4",
"public": true,
"private": false,
"isOrgOwned": false
},
"currentUser": null,
"refInfo": {
"name": "main",
"listCacheKey": "v0:1711132250.0",
"canEdit": false,
"refType": "branch",
"currentOid": "018201148701ac6883acbc0d671628fde4604fe8"
},
"tree": {
"items": [
{
"name": ".github",
"path": ".github",
"contentType": "directory"
},
{
"name": ".idea",
"path": ".idea",
"contentType": "directory"
},
{
"name": "app",
"path": "app",
"contentType": "directory"
},
{
"name": "benchmark",
"path": "benchmark",
"contentType": "directory"
},
{
"name": "commons",
"path": "commons",
"contentType": "directory"
},
{
"name": "docs",
"path": "docs",
"contentType": "directory"
},
{
"name": "fastlane/metadata/android",
"path": "fastlane/metadata/android",
"contentType": "directory",
"hasSimplifiedPath": true
},
{
"name": "git-hooks",
"path": "git-hooks",
"contentType": "directory"
},
{
"name": "gradle",
"path": "gradle",
"contentType": "directory"
},
{
"name": "quartz",
"path": "quartz",
"contentType": "directory"
},
{
"name": "spotless",
"path": "spotless",
"contentType": "directory"
},
{
"name": ".editorconfig",
"path": ".editorconfig",
"contentType": "file"
},
{
"name": ".gitignore",
"path": ".gitignore",
"contentType": "file"
},
{
"name": "LICENSE",
"path": "LICENSE",
"contentType": "file"
},
{
"name": "PRIVACY.md",
"path": "PRIVACY.md",
"contentType": "file"
},
{
"name": "README.md",
"path": "README.md",
"contentType": "file"
},
{
"name": "amethyst.png",
"path": "amethyst.png",
"contentType": "file"
},
{
"name": "build.gradle",
"path": "build.gradle",
"contentType": "file"
},
{
"name": "crowdin.yml",
"path": "crowdin.yml",
"contentType": "file"
},
{
"name": "gradle.properties",
"path": "gradle.properties",
"contentType": "file"
},
{
"name": "gradlew",
"path": "gradlew",
"contentType": "file"
},
{
"name": "gradlew.bat",
"path": "gradlew.bat",
"contentType": "file"
},
{
"name": "settings.gradle",
"path": "settings.gradle",
"contentType": "file"
}
],
"templateDirectorySuggestionUrl": null,
"readme": null,
"totalCount": 23,
"showBranchInfobar": false
},
"fileTree": null,
"fileTreeProcessingTime": null,
"foldersToFetch": [],
"treeExpanded": false,
"symbolsExpanded": false,
"isOverview": true,
"overview": {
"banners": {
"shouldRecommendReadme": false,
"isPersonalRepo": false,
"showUseActionBanner": false,
"actionSlug": null,
"actionId": null,
"showProtectBranchBanner": false,
"recentlyTouchedDataChannel": null,
"publishBannersInfo": {
"dismissActionNoticePath": "/settings/dismiss-notice/publish_action_from_repo",
"releasePath": "/vitorpamplona/amethyst/releases/new?marketplace=true",
"showPublishActionBanner": false
},
"interactionLimitBanner": null,
"showInvitationBanner": false,
"inviterName": null
},
"codeButton": {
"contactPath": "/contact",
"isEnterprise": false,
"local": {
"protocolInfo": {
"httpAvailable": true,
"sshAvailable": null,
"httpUrl": "https://github.com/vitorpamplona/amethyst.git",
"showCloneWarning": null,
"sshUrl": null,
"sshCertificatesRequired": null,
"sshCertificatesAvailable": null,
"ghCliUrl": "gh repo clone vitorpamplona/amethyst",
"defaultProtocol": "http",
"newSshKeyUrl": "/settings/ssh/new",
"setProtocolPath": "/users/set_protocol"
},
"platformInfo": {
"cloneUrl": "https://desktop.github.com",
"showVisualStudioCloneButton": false,
"visualStudioCloneUrl": "https://windows.github.com",
"showXcodeCloneButton": false,
"xcodeCloneUrl": "https://developer.apple.com",
"zipballUrl": "/vitorpamplona/amethyst/archive/refs/heads/main.zip"
}
},
"newCodespacePath": "/codespaces/new?hide_repo_select=true\u0026repo=587850619"
},
"popovers": {
"rename": null,
"renamedParentRepo": null
},
"commitCount": "4,428",
"overviewFiles": [
{
"displayName": "README.md",
"repoName": "amethyst",
"refName": "main",
"path": "README.md",
"preferredFileType": "readme",
"tabName": "README",
"richText": "\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv align=\"center\" dir=\"auto\"\u003e\n\u003ca href=\"https://amethyst.social\" rel=\"nofollow\"\u003e\n \u003cimg src=\"/vitorpamplona/amethyst/raw/main/docs/design/3rd%20Logo%20-%20Zitron/amethyst.svg\" alt=\"Amethyst Logo\" title=\"Amethyst logo\" width=\"80\" style=\"max-width: 100%;\"\u003e\n\u003c/a\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAmethyst\u003c/h1\u003e\u003ca id=\"user-content-amethyst\" class=\"anchor\" aria-label=\"Permalink: Amethyst\" href=\"#amethyst\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNostr Client for Android\u003c/h2\u003e\u003ca id=\"user-content-nostr-client-for-android\" class=\"anchor\" aria-label=\"Permalink: Nostr Client for Android\" href=\"#nostr-client-for-android\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eJoin the social network you control.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://github.com/vitorpamplona/amethyst/releases\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/0878846aa75325e8a839fb253814ced071155690dbcd353231e434ab626331f9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f7669746f7270616d706c6f6e612f616d6574687973742f746f74616c3f6c6162656c3d446f776e6c6f616473266c6162656c436f6c6f723d32373330334426636f6c6f723d304431313137266c6f676f3d676974687562266c6f676f436f6c6f723d464646464646267374796c653d666c6174\" alt=\"GitHub downloads\" data-canonical-src=\"https://img.shields.io/github/downloads/vitorpamplona/amethyst/total?label=Downloads\u0026amp;labelColor=27303D\u0026amp;color=0D1117\u0026amp;logo=github\u0026amp;logoColor=FFFFFF\u0026amp;style=flat\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/c7b313d9ead9e2b8e552ee508fc61bcf581966b01ecae331bc9b24bff4fb95a2/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f636f6c6f723d677265656e266c6f676f3d676f6f676c652d706c6179266c6f676f436f6c6f723d677265656e2675726c3d6874747073253341253246253246706c61792e63757a692e776f726b6572732e646576253246706c617925334669253344636f6d2e7669746f7270616d706c6f6e612e616d657468797374253236676c2533445553253236686c253344656e2532366c253344506c617953746f72652532366d25334425323473686f7274696e7374616c6c73\" alt=\"PlayStore downloads\" data-canonical-src=\"https://img.shields.io/endpoint?color=green\u0026amp;logo=google-play\u0026amp;logoColor=green\u0026amp;url=https%3A%2F%2Fplay.cuzi.workers.dev%2Fplay%3Fi%3Dcom.vitorpamplona.amethyst%26gl%3DUS%26hl%3Den%26l%3DPlayStore%26m%3D%24shortinstalls\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://github.com/vitorpamplona/amethyst\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/f5ebc205593bb022af50827339b9cf53f618317cd9fcd6997729c802a69184d3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f7669746f7270616d706c6f6e612f616d6574687973742e7376673f6d61784167653d33363030266c6162656c3d537461626c65266c6162656c436f6c6f723d30363539396426636f6c6f723d303433623639\" alt=\"Last Version\" data-canonical-src=\"https://img.shields.io/github/release/vitorpamplona/amethyst.svg?maxAge=3600\u0026amp;label=Stable\u0026amp;labelColor=06599d\u0026amp;color=043b69\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://jitpack.io/#vitorpamplona/amethyst\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/e5c584a6248e6ff915155a6464b7713018b4638811cc5feeda339e51eb071638/68747470733a2f2f6a69747061636b2e696f2f762f7669746f7270616d706c6f6e612f616d6574687973742e737667\" alt=\"JitPack version\" data-canonical-src=\"https://jitpack.io/v/vitorpamplona/amethyst.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/vitorpamplona/amethyst/actions/workflows/build.yml\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/01a016b85097d9a4b07bc3edabb001382c28a4d89d500854747d40dae989a65c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7669746f7270616d706c6f6e612f616d6574687973742f6275696c642e796d6c3f6c6162656c436f6c6f723d323733303344\" alt=\"CI\" data-canonical-src=\"https://img.shields.io/github/actions/workflow/status/vitorpamplona/amethyst/build.yml?labelColor=27303D\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"/vitorpamplona/amethyst/blob/main/LICENSE\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/93a7675b56c8df43c2eae4bf0e029f7c879970de6631f992687f4e4c9d47c89d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f7669746f7270616d706c6f6e612f616d6574687973743f6c6162656c436f6c6f723d32373330334426636f6c6f723d303837376432\" alt=\"License: Apache-2.0\" data-canonical-src=\"https://img.shields.io/github/license/vitorpamplona/amethyst?labelColor=27303D\u0026amp;color=0877d2\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDownload and Install\u003c/h2\u003e\u003ca id=\"user-content-download-and-install\" class=\"anchor\" aria-label=\"Permalink: Download and Install\" href=\"#download-and-install\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://github.com/ImranR98/Obtainium\"\u003e\u003cimg src=\"/vitorpamplona/amethyst/raw/main/docs/design/obtainium.png\" alt=\"Get it on Obtaininum\" height=\"70\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/vitorpamplona/amethyst/releases\"\u003e\u003cimg src=\"https://github.com/machiav3lli/oandbackupx/raw/034b226cea5c1b30eb4f6a6f313e4dadcbb0ece4/badge_github.png\" alt=\"Get it on GitHub\" height=\"70\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://f-droid.org/packages/com.vitorpamplona.amethyst/\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/f422f6f830e814ec7e766de8fef4db949c6add75a9d58548ab2f5d29855c0616/68747470733a2f2f6664726f69642e6769746c61622e696f2f617274776f726b2f62616467652f6765742d69742d6f6e2e706e67\" alt=\"Get it on F-Droid\" height=\"70\" data-canonical-src=\"https://fdroid.gitlab.io/artwork/badge/get-it-on.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/b7c355557ebfc69c16957749e0e505786b6961aca66ec502c2766712c8c3951f/68747470733a2f2f706c61792e676f6f676c652e636f6d2f696e746c2f656e5f75732f6261646765732f696d616765732f67656e657269632f656e2d706c61792d62616467652e706e67\" alt=\"Get it on Google Play\" height=\"70\" data-canonical-src=\"https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSupported Features\u003c/h2\u003e\u003ca id=\"user-content-supported-features\" class=\"anchor\" aria-label=\"Permalink: Supported Features\" href=\"#supported-features\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/vitorpamplona/amethyst/blob/main/docs/screenshots/home.png\"\u003e\u003cimg align=\"right\" src=\"/vitorpamplona/amethyst/raw/main/docs/screenshots/home.png\" width=\"350px\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul class=\"contains-task-list\"\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Events / Relay Subscriptions (NIP-01)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Follow List (NIP-02)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e OpenTimestamps Attestations (NIP-03)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Private Messages (NIP-04)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e DNS Address (NIP-05)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Mnemonic seed phrase (NIP-06)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e WebBrowser Signer (NIP-07, Not applicable)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Old-style mentions (NIP-08)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Event Deletion (NIP-09)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Replies, mentions, Threads, and Notifications (NIP-10)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Relay Information Document (NIP-11)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Generic Tag Queries (NIP-12)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Proof of Work Display (NIP-13)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Proof of Work Calculations (NIP-13)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Events with a Subject (NIP-14)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Marketplace (NIP-15)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Event Treatment (NIP-16)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Image/Video/Url/LnInvoice Previews\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Reposts, Quotes, Generic Reposts (NIP-18)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Bech Encoding support (NIP-19)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Command Results (NIP-20)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e URI Support (NIP-21)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Long-form Content (NIP-23)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e User Profile Fields / Relay list (NIP-24)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Reactions (NIP-25)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Delegated Event Signing (NIP-26, Will not implement)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Text Note References (NIP-27)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Public Chats (NIP-28)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Custom Emoji (NIP-30)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Event kind summaries (NIP-31)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Labeling (NIP-32)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Parameterized Replaceable Events (NIP-33)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Git Stuff (NIP-34/Draft)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Sensitive Content (NIP-36)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Note Edits (NIP-37/Draft)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e User Status Event (NIP-38)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e External Identities (NIP-39)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Expiration Support (NIP-40)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Relay Authentication (NIP-42)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Event Counts (NIP-45, Will not implement)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Nostr Connect (NIP-46)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Wallet Connect API (NIP-47)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Proxy Tags (NIP-48, Not applicable)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Private key encryption for import/export (NIP-49)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Online Relay Search (NIP-50)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Lists (NIP-51)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Calendar Events (NIP-52)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Live Activities \u0026amp; Live Chats (NIP-53)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Inline Metadata (NIP-55 - Draft)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Reporting (NIP-56)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Lightning Tips\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Zaps (NIP-57)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Private Zaps\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Zap Splits (NIP-57)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Gift Wraps \u0026amp; Seals (NIP-59)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Zapraiser (NIP-TBD)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Badges (NIP-58)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Relay List Metadata (NIP-65)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Polls (NIP-69)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Moderated Communities (NIP-72)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Zap Goals (NIP-75)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Arbitrary Custom App Data (NIP-78)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Highlights (NIP-84)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Recommended Application Handlers (NIP-89)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Data Vending Machine (NIP-90)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Inline Metadata (NIP-92)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Verifiable file URLs (NIP-94)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Binary Blobs (NIP-95)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e HTTP File Storage Integration (NIP-96 Draft)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e HTTP Auth (NIP-98)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Classifieds (NIP-99)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Private Messages and Small Groups (NIP-24/Draft)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Versioned Encrypted Payloads (NIP-44/Draft)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Audio Tracks (zapstr.live) (kind:31337)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Push Notifications (Google and Unified Push)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e In-Device Automatic Translations\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Hashtag Following and Custom Hashtags\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Login with QR\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Bounty support (nostrbounties.com)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e De-googled F-Droid flavor\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Multiple Accounts\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e Markdown Support\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"\u003e FHIR Payloads (kind:82)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Decentralized Wiki (kind:30818)\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Embed events\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Image/Video Capture in the app\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Local Database\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Workspaces\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"\u003e Infinity Scroll\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ePrivacy and Information Permanence\u003c/h2\u003e\u003ca id=\"user-content-privacy-and-information-permanence\" class=\"anchor\" aria-label=\"Permalink: Privacy and Information Permanence\" href=\"#privacy-and-information-permanence\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eRelays know your IP address, your name, your location (guessed from IP), your pub key, all your contacts, and other relays, and can read every action you do (post, like, boost, quote, report, etc) except for Private Zaps and Private DMs. While the content of direct messages (DMs) is only visible to you and your DM counterparty, everyone can see when you and your counterparty DM each other.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eIf you want to improve your privacy, consider utilizing a service that masks your IP address (e.g. a VPN or Tor) from trackers online.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThe relay also learns which public keys you are requesting, meaning your public key will be tied to your IP address.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eInformation shared on Nostr can be re-broadcasted to other servers and should be assumed permanent for privacy purposes. There is no way to guarantee the deletion of any content once posted.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDevelopment Overview\u003c/h1\u003e\u003ca id=\"user-content-development-overview\" class=\"anchor\" aria-label=\"Permalink: Development Overview\" href=\"#development-overview\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis repository is split between Amethyst and Quartz:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAmethyst is a native Android app made with Kotlin and Jetpack Compose.\u003c/li\u003e\n\u003cli\u003eQuartz is our own Nostr-commons library to host classes that are of interest to other Nostr Clients.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eThe app architecture consists of the UI, which uses the usual State/ViewModel/Composition, the service layer that connects with Nostr relays,\nand the model/repository layer, which keeps all Nostr objects in memory, in a full OO graph.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThe repository layer stores Nostr Events as Notes and Users separately. Those classes use LiveData and Flow objects to\nallow the UI and other parts of the app to subscribe to each Note/User and receive updates when they happen.\nThey are also responsible for updating viewModels when needed. As the user scrolls through Events, the Datasource classes\nare updated to receive more information about those particular Events.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eMost of the UI is reactive to changes in the repository classes. The service layer assembles Nostr filters for each need of the app,\nreceives the data from the Relay, and sends it to the repository. Connection with relays is never closed during the use of the app.\nThe UI receives a notification that objects have been updated. Instances of User and Notes are mutable directly.\nThere will never be two Notes with the same ID or two User instances with the same pubkey.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eLastly, the user's account information (private key/pub key) is stored in the Android KeyStore for security.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSetup\u003c/h2\u003e\u003ca id=\"user-content-setup\" class=\"anchor\" aria-label=\"Permalink: Setup\" href=\"#setup\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eMake sure to have the following pre-requisites installed:\u003c/p\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003eJava 17+\u003c/li\u003e\n\u003cli\u003eAndroid Studio\u003c/li\u003e\n\u003cli\u003eAndroid 8.0+ Phone or Emulation setup\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp dir=\"auto\"\u003eFork and clone this repository and import it into Android Studio\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"git clone https://github.com/vitorpamplona/amethyst.git\"\u003e\u003cpre\u003egit clone https://github.com/vitorpamplona/amethyst.git\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eUse an Android Studio build action to install and run the app on your device or a simulator.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBuilding\u003c/h2\u003e\u003ca id=\"user-content-building\" class=\"anchor\" aria-label=\"Permalink: Building\" href=\"#building\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eBuild the app:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"./gradlew assembleDebug\"\u003e\u003cpre\u003e./gradlew assembleDebug\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eTesting\u003c/h2\u003e\u003ca id=\"user-content-testing\" class=\"anchor\" aria-label=\"Permalink: Testing\" href=\"#testing\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"./gradlew test\n./gradlew connectedAndroidTest\"\u003e\u003cpre\u003e./gradlew \u003cspan class=\"pl-c1\"\u003etest\u003c/span\u003e\n./gradlew connectedAndroidTest\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eLinting\u003c/h2\u003e\u003ca id=\"user-content-linting\" class=\"anchor\" aria-label=\"Permalink: Linting\" href=\"#linting\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"./gradlew spotlessCheck\n./gradlew spotlessApply\"\u003e\u003cpre\u003e./gradlew spotlessCheck\n./gradlew spotlessApply\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eInstalling on device\u003c/h2\u003e\u003ca id=\"user-content-installing-on-device\" class=\"anchor\" aria-label=\"Permalink: Installing on device\" href=\"#installing-on-device\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFor the F-Droid build:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"./gradlew installFdroidDebug\"\u003e\u003cpre\u003e./gradlew installFdroidDebug\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFor the Play build:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"./gradlew installPlayDebug\"\u003e\u003cpre\u003e./gradlew installPlayDebug\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDeploying\u003c/h2\u003e\u003ca id=\"user-content-deploying\" class=\"anchor\" aria-label=\"Permalink: Deploying\" href=\"#deploying\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003eGenerate a new signing key\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"keytool -genkey -v -keystore \u0026lt;my-release-key.keystore\u0026gt; -alias \u0026lt;alias_name\u0026gt; -keyalg RSA -keysize 2048 -validity 10000\nopenssl base64 \u0026lt; \u0026lt;my-release-key.keystore\u0026gt; | tr -d '\\n' | tee some_signing_key.jks.base64.txt\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003ekeytool -genkey -v -keystore \u0026lt;my-release-key.keystore\u0026gt; -alias \u0026lt;alias_name\u0026gt; -keyalg RSA -keysize 2048 -validity 10000\nopenssl base64 \u0026lt; \u0026lt;my-release-key.keystore\u0026gt; | tr -d '\\n' | tee some_signing_key.jks.base64.txt\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003col start=\"2\" dir=\"auto\"\u003e\n\u003cli\u003eCreate four Secret Key variables on your GitHub repository and fill in the signing key information\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eKEY_ALIAS\u003c/code\u003e \u0026lt;- \u003ccode\u003e\u0026lt;alias_name\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eKEY_PASSWORD\u003c/code\u003e \u0026lt;- \u003ccode\u003e\u0026lt;your password\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eKEY_STORE_PASSWORD\u003c/code\u003e \u0026lt;- \u003ccode\u003e\u0026lt;your key store password\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSIGNING_KEY\u003c/code\u003e \u0026lt;- the data from \u003ccode\u003e\u0026lt;my-release-key.keystore\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eChange the \u003ccode\u003eversionCode\u003c/code\u003e and \u003ccode\u003eversionName\u003c/code\u003e on \u003ccode\u003eapp/build.gradle\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCommit and push.\u003c/li\u003e\n\u003cli\u003eTag the commit with \u003ccode\u003ev{x.x.x}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eLet the \u003ca href=\"https://github.com/vitorpamplona/amethyst/actions/workflows/create-release.yml\"\u003eCreate Release GitHub Action\u003c/a\u003e build a new \u003ccode\u003eaab\u003c/code\u003e file.\u003c/li\u003e\n\u003cli\u003eAdd your CHANGE LOG to the description of the new release\u003c/li\u003e\n\u003cli\u003eDownload the \u003ccode\u003eaab\u003c/code\u003e file and upload it to the PlayStore.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUsing the Quartz library\u003c/h2\u003e\u003ca id=\"user-content-using-the-quartz-library\" class=\"anchor\" aria-label=\"Permalink: Using the Quartz library\" href=\"#using-the-quartz-library\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eSetup \u003ca href=\"https://jitpack.io/#vitorpamplona/amethyst/v0.84.3\" rel=\"nofollow\"\u003eJitPack.io\u003c/a\u003e to your build file\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eAdd \u003ccode\u003emaven { url 'https://jitpack.io' }\u003c/code\u003e to settings.gradle at the end of repositories:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"dependencyResolutionManagement {\n repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)\n repositories {\n mavenCentral()\n maven { url 'https://jitpack.io' }\n }\n}\"\u003e\u003cpre\u003e\u003cspan class=\"pl-en\"\u003edependencyResolutionManagement\u003c/span\u003e {\n repositoriesMode\u003cspan class=\"pl-k\"\u003e.\u003c/span\u003eset(\u003cspan class=\"pl-k\"\u003eRepositoriesMode\u003c/span\u003e\u003cspan class=\"pl-k\"\u003e.\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eFAIL_ON_PROJECT_REPOS\u003c/span\u003e)\n repositories {\n mavenCentral()\n maven { url \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003ehttps://jitpack.io\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e }\n }\n}\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eAdd the dependency\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"implementation('com.github.vitorpamplona.amethyst:quartz:v0.85.1')\"\u003e\u003cpre\u003eimplementation(\u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003ecom.github.vitorpamplona.amethyst:quartz:v0.85.1\u003cspan class=\"pl-pds\"\u003e'\u003c/span\u003e\u003c/span\u003e)\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eContributing\u003c/h2\u003e\u003ca id=\"user-content-contributing\" class=\"anchor\" aria-label=\"Permalink: Contributing\" href=\"#contributing\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eIssues can be logged on: \u003ca href=\"https://gitworkshop.dev/repo/amethyst\" rel=\"nofollow\"\u003ehttps://gitworkshop.dev/repo/amethyst\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://github.com/vitorpamplona/amethyst/issues\"\u003eGitHub issues\u003c/a\u003e and \u003ca href=\"https://github.com/vitorpamplona/amethyst/pulls\"\u003epull requests\u003c/a\u003e here are also welcome. Translations can be provided via \u003ca href=\"https://crowdin.com/project/amethyst-social\" rel=\"nofollow\"\u003eCrowdin\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eYou can also send patches through Nostr using \u003ca href=\"https://github.com/fiatjaf/gitstr\"\u003eGitStr\u003c/a\u003e to \u003ca href=\"https://patch34.pages.dev/naddr1qqyxzmt9w358jum5qyg8v6t5daezumn0wd68yvfwvdhk6qg7waehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2ap0qy2hwumn8ghj7un9d3shjtnwdaehgu3wvfnj7q3qgcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqxpqqqpmej720gac\" rel=\"nofollow\"\u003ethis nostr address\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eBy contributing to this repository, you agree to license your work under the MIT license. Any work contributed where you are not the original author must contain its license header with the original author(s) and source.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eScreenshots\u003c/h1\u003e\u003ca id=\"user-content-screenshots\" class=\"anchor\" aria-label=\"Permalink: Screenshots\" href=\"#screenshots\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFollowFeeds\u003c/th\u003e\n\u003cth\u003eChatsGroup\u003c/th\u003e\n\u003cth\u003eLiveStreams\u003c/th\u003e\n\u003cth\u003eNotifications\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/vitorpamplona/amethyst/blob/main/docs/screenshots/home.png\"\u003e\u003cimg src=\"/vitorpamplona/amethyst/raw/main/docs/screenshots/home.png\" alt=\"Home Feed\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/vitorpamplona/amethyst/blob/main/docs/screenshots/messages.png\"\u003e\u003cimg src=\"/vitorpamplona/amethyst/raw/main/docs/screenshots/messages.png\" alt=\"Messages\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/vitorpamplona/amethyst/blob/main/docs/screenshots/replies.png\"\u003e\u003cimg src=\"/vitorpamplona/amethyst/raw/main/docs/screenshots/replies.png\" alt=\"Live Streams\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/vitorpamplona/amethyst/blob/main/docs/screenshots/notifications.png\"\u003e\u003cimg src=\"/vitorpamplona/amethyst/raw/main/docs/screenshots/notifications.png\" alt=\"Notifications\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eContributors\u003c/h1\u003e\u003ca id=\"user-content-contributors\" class=\"anchor\" aria-label=\"Permalink: Contributors\" href=\"#contributors\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003ca align=\"center\" href=\"https://github.com/vitorpamplona/amethyst/graphs/contributors\"\u003e\n \u003cimg src=\"https://camo.githubusercontent.com/49db37c2d4e5559fd7833fa337a80bc3cb3a11fcbe4c228e50c624856eef7d6d/68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d7669746f7270616d706c6f6e612f616d657468797374\" data-canonical-src=\"https://contrib.rocks/image?repo=vitorpamplona/amethyst\" style=\"max-width: 100%;\"\u003e\n\u003c/a\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMIT License\u003c/h1\u003e\u003ca id=\"user-content-mit-license\" class=\"anchor\" aria-label=\"Permalink: MIT License\" href=\"#mit-license\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cpre\u003eCopyright (c) 2023 Vitor Pamplona\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\u003c/pre\u003e\n\u003c/article\u003e",
"loaded": true,
"timedOut": false,
"errorMessage": null,
"headerInfo": {
"toc": [
{
"level": 1,
"text": "Amethyst",
"anchor": "amethyst",
"htmlText": "Amethyst"
},
{
"level": 2,
"text": "Nostr Client for Android",
"anchor": "nostr-client-for-android",
"htmlText": "Nostr Client for Android"
},
{
"level": 2,
"text": "Download and Install",
"anchor": "download-and-install",
"htmlText": "Download and Install"
},
{
"level": 2,
"text": "Supported Features",
"anchor": "supported-features",
"htmlText": "Supported Features"
},
{
"level": 2,
"text": "Privacy and Information Permanence",
"anchor": "privacy-and-information-permanence",
"htmlText": "Privacy and Information Permanence"
},
{
"level": 1,
"text": "Development Overview",
"anchor": "development-overview",
"htmlText": "Development Overview"
},
{
"level": 2,
"text": "Setup",
"anchor": "setup",
"htmlText": "Setup"
},
{
"level": 2,
"text": "Building",
"anchor": "building",
"htmlText": "Building"
},
{
"level": 2,
"text": "Testing",
"anchor": "testing",
"htmlText": "Testing"
},
{
"level": 2,
"text": "Linting",
"anchor": "linting",
"htmlText": "Linting"
},
{
"level": 2,
"text": "Installing on device",
"anchor": "installing-on-device",
"htmlText": "Installing on device"
},
{
"level": 2,
"text": "Deploying",
"anchor": "deploying",
"htmlText": "Deploying"
},
{
"level": 2,
"text": "Using the Quartz library",
"anchor": "using-the-quartz-library",
"htmlText": "Using the Quartz library"
},
{
"level": 2,
"text": "Contributing",
"anchor": "contributing",
"htmlText": "Contributing"
},
{
"level": 1,
"text": "Screenshots",
"anchor": "screenshots",
"htmlText": "Screenshots"
},
{
"level": 1,
"text": "Contributors",
"anchor": "contributors",
"htmlText": "Contributors"
},
{
"level": 1,
"text": "MIT License",
"anchor": "mit-license",
"htmlText": "MIT License"
}
],
"siteNavLoginPath": "/login?return_to=https%3A%2F%2Fgithub.com%2Fvitorpamplona%2Famethyst"
}
},
{
"displayName": "LICENSE",
"repoName": "amethyst",
"refName": "main",
"path": "LICENSE",
"preferredFileType": "license",
"tabName": "MIT",
"richText": null,
"loaded": false,
"timedOut": false,
"errorMessage": null,
"headerInfo": {
"toc": null,
"siteNavLoginPath": "/login?return_to=https%3A%2F%2Fgithub.com%2Fvitorpamplona%2Famethyst"
}
}
],
"overviewFilesProcessingTime": 16.420779
}
},
"appPayload": {
"helpUrl": "https://docs.github.com",
"findFileWorkerPath": "/assets-cdn/worker/find-file-worker-a007d7f370d6.js",
"findInFileWorkerPath": "/assets-cdn/worker/find-in-file-worker-d0f0ff069004.js",
"githubDevUrl": null,
"enabled_features": {
"code_nav_ui_events": false,
"copilot_conversational_ux": false,
"react_blob_overlay": false,
"copilot_conversational_ux_embedding_update": false,
"copilot_popover_file_editor_header": false,
"copilot_smell_icebreaker_ux": true,
"copilot_workspace": false,
"codeview_firefox_inert": true,
"overview_async_data_channel": false
}
}
}
}</script>
<div data-target="react-partial.reactRoot">
<style data-styled="true"
data-styled-version="5.3.6">.cgQnMS{font-weight:600;font-size:32px;margin:0;}/*!sc*/
data-styled.g1[id="Heading__StyledHeading-sc-1c1dgg0-0"]{content:"cgQnMS,"}/*!sc*/
.izjvBm{margin-top:16px;margin-bottom:16px;}/*!sc*/
.rPQgy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-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;}/*!sc*/
.eUMEDg{margin-bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;row-gap:16px;}/*!sc*/
.eLcVee{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding-bottom:16px;padding-top:8px;}/*!sc*/
.hsfLlq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:8px;}/*!sc*/
@media screen and (max-width:320px){.hsfLlq{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}}/*!sc*/
.gpKoUz{position:relative;}/*!sc*/
@media screen and (max-width:380px){.gpKoUz .ref-selector-button-text-container{max-width:80px;}}/*!sc*/
@media screen and (max-width:320px){.gpKoUz{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}.gpKoUz .overview-ref-selector{width:100%;}.gpKoUz .overview-ref-selector > span{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;}.gpKoUz .overview-ref-selector > span > span[data-component="text"]{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}}/*!sc*/
.kkrdEu{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/
.bKgizp{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;}/*!sc*/
.iPGYsi{margin-right:4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.dKmYfk{font-size:14px;min-width:0;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}/*!sc*/
.trpoQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;pointer-events:none;}/*!sc*/
.laYubZ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media screen and (max-width:1079px){.laYubZ{display:none;}}/*!sc*/
.swnaL{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media screen and (min-width:1080px){.swnaL{display:none;}}/*!sc*/
@media screen and (max-width:543px){.swnaL{display:none;}}/*!sc*/
.bWpuBf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:8px;gap:8px;}/*!sc*/
.grHjNb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;}/*!sc*/
@media screen and (max-width:543px){.grHjNb{display:none;}}/*!sc*/
.dXTsqj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media screen and (max-width:1011px){.dXTsqj{display:none;}}/*!sc*/
.dCOrmu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media screen and (min-width:1012px){.dCOrmu{display:none;}}/*!sc*/
@media screen and (max-width:544px){.bVvbgP{display:none;}}/*!sc*/
.bNDvfp{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media screen and (min-width:544px){.bNDvfp{display:none;}}/*!sc*/
.yfPnm{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:16px;}/*!sc*/
.cAQuiW{width:100%;border-collapse:separate;border-spacing:0;border:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;table-layout:fixed;overflow:unset;}/*!sc*/
.iiUlLN{height:0px;line-height:0px;}/*!sc*/
.iiUlLN tr{height:0px;font-size:0px;}/*!sc*/
.jmggSN{padding:16px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:12px;text-align:left;height:40px;}/*!sc*/
.jmggSN th{padding-left:16px;background-color:var(--bgColor-muted,var(--color-canvas-subtle,#f6f8fa));}/*!sc*/
.kvYunM{width:100%;border-top-left-radius:6px;}/*!sc*/
@media screen and (min-width:544px){.kvYunM{display:none;}}/*!sc*/
.hrLuxA{width:40%;border-top-left-radius:6px;}/*!sc*/
@media screen and (max-width:543px){.hrLuxA{display:none;}}/*!sc*/
@media screen and (max-width:543px){.ePjhhA{display:none;}}/*!sc*/
.cuEKae{text-align:right;padding-right:16px;width:136px;border-top-right-radius:6px;}/*!sc*/
.jEbBOT{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:12px;height:40px;}/*!sc*/
.bTxCvM{background-color:var(--bgColor-muted,var(--color-canvas-subtle,#f6f8fa));padding:4px;border-top-left-radius:6px;border-top-right-radius:6px;}/*!sc*/
.eYedVD{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-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;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:273px;padding-right:8px;padding-left:16px;padding-top:8px;padding-bottom:8px;}/*!sc*/
.lhFvfi{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*/
.jGfYmh{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;}/*!sc*/
.bqgLjk{display:inherit;}/*!sc*/
@media screen and (min-width:544px){.bqgLjk{display:none;}}/*!sc*/
@media screen and (min-width:768px){.bqgLjk{display:none;}}/*!sc*/
.epsqEd{text-align:center;vertical-align:center;height:40px;border-top:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));}/*!sc*/
.ldpruc{border-top:1px solid var(--borderColor-default,var(--color-border-default));cursor:pointer;}/*!sc*/
.ehcSsh{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;gap:16px;}/*!sc*/
.iGmlUb{border:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}/*!sc*/
@media screen and (max-width:543px){.iGmlUb{margin-left:-16px;margin-right:-16px;max-width:calc(100% + 32px);}}/*!sc*/
@media screen and (min-width:544px){.iGmlUb{max-width:100%;}}/*!sc*/
.iRQGXA{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:1px solid;border-bottom-color:var(--borderColor-default,var(--color-border-default,#d0d7de));-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:8px;position:-webkit-sticky;position:sticky;top:0;background-color:var(--bgColor-default,var(--color-canvas-default,#ffffff));z-index:1;border-top-left-radius:6px;border-top-right-radius:6px;}/*!sc*/
.dvTdPK{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:8px;padding-right:8px;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;border-bottom:none;border-bottom-color:var(--borderColor-muted,var(--color-border-muted,hsla(210,18%,87%,1)));align:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:48px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;}/*!sc*/
.gwuIGu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
.kOxwQs{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;margin-right:8px;}/*!sc*/
.kOgeFj{font-weight:600;}/*!sc*/
.bJMeLZ{padding:32px;overflow:auto;}/*!sc*/
data-styled.g2[id="Box-sc-g0xbh4-0"]{content:"izjvBm,rPQgy,eUMEDg,eLcVee,hsfLlq,gpKoUz,kkrdEu,bKgizp,iPGYsi,dKmYfk,trpoQ,laYubZ,swnaL,bWpuBf,grHjNb,dXTsqj,dCOrmu,bVvbgP,bNDvfp,yfPnm,cAQuiW,iiUlLN,jmggSN,kvYunM,hrLuxA,ePjhhA,cuEKae,jEbBOT,bTxCvM,eYedVD,lhFvfi,jGfYmh,bqgLjk,epsqEd,ldpruc,ehcSsh,iGmlUb,iRQGXA,dvTdPK,gwuIGu,kOxwQs,kOgeFj,bJMeLZ,"}/*!sc*/
.bOMzPg{min-width:0;}/*!sc*/
.eUGNHp{font-weight:600;}/*!sc*/
.dALsKK{color:var(--fgColor-default,var(--color-fg-default,#1F2328));}/*!sc*/
data-styled.g6[id="Text-sc-17v1xeu-0"]{content:"bOMzPg,eUGNHp,dALsKK,"}/*!sc*/
.dheQRw{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
[data-a11y-link-underlines='true'] .Link__StyledLink-sc-14289xe-0[data-inline='true']{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.dheQRw:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.dheQRw:is(button){display:inline-block;padding:0;font-size:inherit;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;}/*!sc*/
.vLMkZ{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));-webkit-text-decoration:none;text-decoration:none;position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;color:var(--fgColor-default,var(--color-fg-default,#1F2328));text-align:center;-webkit-text-decoration:none;text-decoration:none;line-height:calc(20/14);border-radius:6px;font-size:14px;padding-left:8px;padding-right:8px;padding-top:calc((2rem - 1.25rem) / 2);padding-bottom:calc((2rem - 1.25rem) / 2);}/*!sc*/
[data-a11y-link-underlines='true'] .Link__StyledLink-sc-14289xe-0[data-inline='true']{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.vLMkZ:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.vLMkZ:is(button){display:inline-block;padding:0;font-size:inherit;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;}/*!sc*/
.vLMkZ span[data-component="icon"]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
@media (hover:hover){.vLMkZ:hover{background-color:var(--bgColor-neutral-muted,var(--color-neutral-muted,rgba(175,184,193,0.2)));-webkit-transition:background .12s ease-out;transition:background .12s ease-out;-webkit-text-decoration:none;text-decoration:none;}}/*!sc*/
.vLMkZ:focus{outline:2px solid transparent;}/*!sc*/
.vLMkZ:focus{box-shadow:inset 0 0 0 2px var(--fgColor-accent,var(--color-accent-fg,#0969da));}/*!sc*/
.vLMkZ:focus:not(:focus-visible){box-shadow:none;}/*!sc*/
.vLMkZ:focus-visible{outline:2px solid transparent;box-shadow:inset 0 0 0 2px var(--fgColor-accent,var(--color-accent-fg,#0969da));}/*!sc*/
.vLMkZ span[data-content]::before{content:attr(data-content);display:block;height:0;font-weight:600;visibility:hidden;white-space:nowrap;}/*!sc*/
.vLMkZ::after{position:absolute;right:50%;bottom:calc(50% - 25px);width:100%;height:2px;content:"";background-color:var(--underlineNav-borderColor-active,var(--color-primer-border-active,#fd8c73));border-radius:0;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);}/*!sc*/
@media (forced-colors:active){.vLMkZ::after{background-color:LinkText;}}/*!sc*/
.bhqztV{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));-webkit-text-decoration:none;text-decoration:none;position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;color:var(--fgColor-default,var(--color-fg-default,#1F2328));text-align:center;-webkit-text-decoration:none;text-decoration:none;line-height:calc(20/14);border-radius:6px;font-size:14px;padding-left:8px;padding-right:8px;padding-top:calc((2rem - 1.25rem) / 2);padding-bottom:calc((2rem - 1.25rem) / 2);}/*!sc*/
[data-a11y-link-underlines='true'] .Link__StyledLink-sc-14289xe-0[data-inline='true']{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.bhqztV:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.bhqztV:is(button){display:inline-block;padding:0;font-size:inherit;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;}/*!sc*/
.bhqztV span[data-component="icon"]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
@media (hover:hover){.bhqztV:hover{background-color:var(--bgColor-neutral-muted,var(--color-neutral-muted,rgba(175,184,193,0.2)));-webkit-transition:background .12s ease-out;transition:background .12s ease-out;-webkit-text-decoration:none;text-decoration:none;}}/*!sc*/
.bhqztV:focus{outline:2px solid transparent;}/*!sc*/
.bhqztV:focus{box-shadow:inset 0 0 0 2px var(--fgColor-accent,var(--color-accent-fg,#0969da));}/*!sc*/
.bhqztV:focus:not(:focus-visible){box-shadow:none;}/*!sc*/
.bhqztV:focus-visible{outline:2px solid transparent;box-shadow:inset 0 0 0 2px var(--fgColor-accent,var(--color-accent-fg,#0969da));}/*!sc*/
.bhqztV span[data-content]::before{content:attr(data-content);display:block;height:0;font-weight:600;visibility:hidden;white-space:nowrap;}/*!sc*/
.bhqztV::after{position:absolute;right:50%;bottom:calc(50% - 25px);width:100%;height:2px;content:"";background-color:transparent;border-radius:0;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);}/*!sc*/
@media (forced-colors:active){.bhqztV::after{background-color:transparent;}}/*!sc*/
data-styled.g8[id="Link__StyledLink-sc-14289xe-0"]{content:"dheQRw,vLMkZ,bhqztV,"}/*!sc*/
.hILMMl{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*/
.hILMMl:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.hILMMl:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/
.hILMMl:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.hILMMl[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/
.hILMMl[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.hILMMl:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/
.hILMMl:active{-webkit-transition:none;transition:none;}/*!sc*/
.hILMMl[data-inactive]{cursor:auto;}/*!sc*/
.hILMMl: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*/
.hILMMl:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/
@media (forced-colors:active){.hILMMl:focus{outline:solid 1px transparent;}}/*!sc*/
.hILMMl [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*/
.hILMMl[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/
.hILMMl[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/
.hILMMl[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/
.hILMMl[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/
.hILMMl[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/
.hILMMl[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/
.hILMMl[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/
.hILMMl[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.hILMMl[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/
.hILMMl[data-block="block"]{width:100%;}/*!sc*/
.hILMMl[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*/
.hILMMl[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/
.hILMMl [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/
.hILMMl [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/
.hILMMl [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/
.hILMMl [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/
.hILMMl [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*/
.hILMMl [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.hILMMl: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*/
.hILMMl: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*/
.hILMMl[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*/
.hILMMl [data-component="leadingVisual"],.hILMMl [data-component="trailingVisual"],.hILMMl [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/
.hILMMl[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.hILMMl{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
.hILMMl svg{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.hILMMl > span{width:inherit;}/*!sc*/
.cuOWTR{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-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:transparent;box-shadow:none;}/*!sc*/
.cuOWTR:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.cuOWTR:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/
.cuOWTR:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.cuOWTR[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/
.cuOWTR[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.cuOWTR:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/
.cuOWTR:active{-webkit-transition:none;transition:none;}/*!sc*/
.cuOWTR[data-inactive]{cursor:auto;}/*!sc*/
.cuOWTR:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/
.cuOWTR:disabled [data-component=ButtonCounter],.cuOWTR:disabled [data-component="leadingVisual"],.cuOWTR:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/
@media (forced-colors:active){.cuOWTR:focus{outline:solid 1px transparent;}}/*!sc*/
.cuOWTR [data-component=ButtonCounter]{font-size:12px;}/*!sc*/
.cuOWTR[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/
.cuOWTR[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/
.cuOWTR[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/
.cuOWTR[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/
.cuOWTR[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/
.cuOWTR[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/
.cuOWTR[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/
.cuOWTR[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.cuOWTR[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/
.cuOWTR[data-block="block"]{width:100%;}/*!sc*/
.cuOWTR[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*/
.cuOWTR[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/
.cuOWTR [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.cuOWTR [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/
.cuOWTR [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/
.cuOWTR [data-component="trailingAction"]{margin-right:-4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.cuOWTR [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*/
.cuOWTR [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.cuOWTR: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*/
.cuOWTR: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*/
.cuOWTR[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*/
.cuOWTR[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.cuOWTR[data-no-visuals]{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));}/*!sc*/
.cuOWTR:has([data-component="ButtonCounter"]){color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));}/*!sc*/
.cuOWTR:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/
.cuOWTR:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/
.cuOWTR{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));padding-left:4px;padding-right:4px;}/*!sc*/
.cuOWTR span[data-component="leadingVisual"]{margin-right:4px !important;}/*!sc*/
.tDSzd{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-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:transparent;box-shadow:none;}/*!sc*/
.tDSzd:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.tDSzd:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/
.tDSzd:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.tDSzd[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/
.tDSzd[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.tDSzd:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/
.tDSzd:active{-webkit-transition:none;transition:none;}/*!sc*/
.tDSzd[data-inactive]{cursor:auto;}/*!sc*/
.tDSzd:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/
.tDSzd:disabled [data-component=ButtonCounter],.tDSzd:disabled [data-component="leadingVisual"],.tDSzd:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/
@media (forced-colors:active){.tDSzd:focus{outline:solid 1px transparent;}}/*!sc*/
.tDSzd [data-component=ButtonCounter]{font-size:12px;}/*!sc*/
.tDSzd[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/
.tDSzd[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/
.tDSzd[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/
.tDSzd[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/
.tDSzd[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/
.tDSzd[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/
.tDSzd[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/
.tDSzd[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.tDSzd[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/
.tDSzd[data-block="block"]{width:100%;}/*!sc*/
.tDSzd[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*/
.tDSzd[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/
.tDSzd [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.tDSzd [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/
.tDSzd [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/
.tDSzd [data-component="trailingAction"]{margin-right:-4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.tDSzd [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*/
.tDSzd [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.tDSzd: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*/
.tDSzd: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*/
.tDSzd[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*/
.tDSzd[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.tDSzd[data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.tDSzd:has([data-component="ButtonCounter"]){color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));}/*!sc*/
.tDSzd:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/
.tDSzd:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/
.pyyxt{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*/
.pyyxt:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.pyyxt:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/
.pyyxt:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.pyyxt[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/
.pyyxt[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.pyyxt:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/
.pyyxt:active{-webkit-transition:none;transition:none;}/*!sc*/
.pyyxt[data-inactive]{cursor:auto;}/*!sc*/
.pyyxt: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*/
.pyyxt:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/
@media (forced-colors:active){.pyyxt:focus{outline:solid 1px transparent;}}/*!sc*/
.pyyxt [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*/
.pyyxt[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/
.pyyxt[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/
.pyyxt[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/
.pyyxt[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/
.pyyxt[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/
.pyyxt[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/
.pyyxt[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/
.pyyxt[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.pyyxt[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/
.pyyxt[data-block="block"]{width:100%;}/*!sc*/
.pyyxt[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*/
.pyyxt[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/
.pyyxt [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/
.pyyxt [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/
.pyyxt [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/
.pyyxt [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/
.pyyxt [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*/
.pyyxt [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.pyyxt: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*/
.pyyxt: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*/
.pyyxt[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*/
.pyyxt [data-component="leadingVisual"],.pyyxt [data-component="trailingVisual"],.pyyxt [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/
.pyyxt[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.gYvpXq{border-radius:6px;border:1px solid;border-color:var(--button-primary-borderColor-rest,var(--color-btn-primary-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-primary-fgColor-rest,var(--color-btn-primary-text,#ffffff));background-color:var(--button-primary-bgColor-rest,var(--color-btn-primary-bg,#1f883d));box-shadow:var(--shadow-resting-small,var(--color-btn-primary-shadow,0 1px 0 rgba(31,35,40,0.1)));}/*!sc*/
.gYvpXq:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.gYvpXq:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/
.gYvpXq:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.gYvpXq[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/
.gYvpXq[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.gYvpXq:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/
.gYvpXq:active{-webkit-transition:none;transition:none;}/*!sc*/
.gYvpXq[data-inactive]{cursor:auto;}/*!sc*/
.gYvpXq:disabled{cursor:not-allowed;box-shadow:none;color:var(--button-primary-fgColor-disabled,var(--color-btn-primary-disabled-text,rgba(255,255,255,0.8)));background-color:var(--button-primary-bgColor-disabled,var(--color-btn-primary-disabled-bg,#94d3a2));border-color:var(--button-primary-borderColor-disabled,var(--color-btn-primary-disabled-border,rgba(31,35,40,0.15)));}/*!sc*/
.gYvpXq:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/
@media (forced-colors:active){.gYvpXq:focus{outline:solid 1px transparent;}}/*!sc*/
.gYvpXq [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-primary-bgColor-rest,var(--color-btn-primary-counter-bg,rgba(0,45,17,0.2)));color:var(--button-primary-fgColor-rest,var(--color-btn-primary-text,#ffffff));}/*!sc*/
.gYvpXq[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/
.gYvpXq[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/
.gYvpXq[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/
.gYvpXq[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/
.gYvpXq[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/
.gYvpXq[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/
.gYvpXq[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/
.gYvpXq[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.gYvpXq[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/
.gYvpXq[data-block="block"]{width:100%;}/*!sc*/
.gYvpXq[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*/
.gYvpXq[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/
.gYvpXq [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/
.gYvpXq [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/
.gYvpXq [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/
.gYvpXq [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/
.gYvpXq [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*/
.gYvpXq [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.gYvpXq:hover:not([disabled]):not([data-inactive]){color:btn.primary.hoverText;background-color:var(--button-primary-bgColor-hover,var(--color-btn-primary-hover-bg,#1a7f37));}/*!sc*/
.gYvpXq:focus:not([disabled]){box-shadow:inset 0 0 0 3px;}/*!sc*/
.gYvpXq:focus-visible:not([disabled]){box-shadow:inset 0 0 0 3px;}/*!sc*/
.gYvpXq:active:not([disabled]):not([data-inactive]){background-color:var(--button-primary-bgColor-active,var(--color-btn-primary-selected-bg,hsla(137,66%,28%,1)));box-shadow:var(--button-primary-shadow-selected,var(--color-btn-primary-selected-shadow,inset 0 1px 0 rgba(0,45,17,0.2)));}/*!sc*/
.gYvpXq[aria-expanded=true]{background-color:var(--button-primary-bgColor-active,var(--color-btn-primary-selected-bg,hsla(137,66%,28%,1)));box-shadow:var(--button-primary-shadow-selected,var(--color-btn-primary-selected-shadow,inset 0 1px 0 rgba(0,45,17,0.2)));}/*!sc*/
.gYvpXq svg{color:fg.primary;}/*!sc*/
.fAkXQN{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(--fgColor-default,var(--color-fg-default,#1F2328));background-color:transparent;box-shadow:none;}/*!sc*/
.fAkXQN:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.fAkXQN:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/
.fAkXQN:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.fAkXQN[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/
.fAkXQN[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.fAkXQN:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/
.fAkXQN:active{-webkit-transition:none;transition:none;}/*!sc*/
.fAkXQN[data-inactive]{cursor:auto;}/*!sc*/
.fAkXQN:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/
.fAkXQN:disabled [data-component=ButtonCounter],.fAkXQN:disabled [data-component="leadingVisual"],.fAkXQN:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/
@media (forced-colors:active){.fAkXQN:focus{outline:solid 1px transparent;}}/*!sc*/
.fAkXQN [data-component=ButtonCounter]{font-size:12px;}/*!sc*/
.fAkXQN[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/
.fAkXQN[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/
.fAkXQN[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/
.fAkXQN[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/
.fAkXQN[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/
.fAkXQN[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/
.fAkXQN[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/
.fAkXQN[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.fAkXQN[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/
.fAkXQN[data-block="block"]{width:100%;}/*!sc*/
.fAkXQN[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*/
.fAkXQN[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/
.fAkXQN [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.fAkXQN [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/
.fAkXQN [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/
.fAkXQN [data-component="trailingAction"]{margin-right:-4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.fAkXQN [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*/
.fAkXQN [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.fAkXQN:hover:not([disabled]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.fAkXQN:active:not([disabled]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.fAkXQN[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*/
.fAkXQN[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.fAkXQN[data-no-visuals]{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));}/*!sc*/
.fAkXQN:has([data-component="ButtonCounter"]){color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));}/*!sc*/
.fAkXQN:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/
.fAkXQN:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/
.fAkXQN:focus:not([disabled]){-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.jPraEl{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-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:transparent;box-shadow:none;}/*!sc*/
.jPraEl:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.jPraEl:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/
.jPraEl:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/
.jPraEl[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/
.jPraEl[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.jPraEl:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/
.jPraEl:active{-webkit-transition:none;transition:none;}/*!sc*/
.jPraEl[data-inactive]{cursor:auto;}/*!sc*/
.jPraEl:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/
.jPraEl:disabled [data-component=ButtonCounter],.jPraEl:disabled [data-component="leadingVisual"],.jPraEl:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/
@media (forced-colors:active){.jPraEl:focus{outline:solid 1px transparent;}}/*!sc*/
.jPraEl [data-component=ButtonCounter]{font-size:12px;}/*!sc*/
.jPraEl[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/
.jPraEl[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/
.jPraEl[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/
.jPraEl[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/
.jPraEl[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/
.jPraEl[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/
.jPraEl[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/
.jPraEl[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.jPraEl[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/
.jPraEl[data-block="block"]{width:100%;}/*!sc*/
.jPraEl[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*/
.jPraEl[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/
.jPraEl [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.jPraEl [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/
.jPraEl [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/
.jPraEl [data-component="trailingAction"]{margin-right:-4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.jPraEl [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*/
.jPraEl [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/
.jPraEl: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*/
.jPraEl: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*/
.jPraEl[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*/
.jPraEl[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/
.jPraEl[data-no-visuals]{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));}/*!sc*/
.jPraEl:has([data-component="ButtonCounter"]){color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));}/*!sc*/
.jPraEl:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/
.jPraEl:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/
.jPraEl{color:var(--fgColor-muted,var(--color-fg-subtle,#6e7781));padding-left:8px;padding-right:8px;}/*!sc*/
data-styled.g9[id="types__StyledButton-sc-ws60qy-0"]{content:"hILMMl,cuOWTR,tDSzd,pyyxt,gYvpXq,fAkXQN,jPraEl,"}/*!sc*/
.rTZSs{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip:rect(0,0,0,0);clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}/*!sc*/
data-styled.g10[id="_VisuallyHidden__VisuallyHidden-sc-11jhm7a-0"]{content:"rTZSs,"}/*!sc*/
.fUpWeN{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;max-width:125px;max-width:100%;}/*!sc*/
data-styled.g15[id="Truncate__StyledTruncate-sc-23o1d2-0"]{content:"fUpWeN,"}/*!sc*/
.gNgnVl{position:relative;display:inline-block;}/*!sc*/
.gNgnVl::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(--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(--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*/
.gNgnVl:hover::after,.gNgnVl:active::after,.gNgnVl:focus::after,.gNgnVl: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*/
.gNgnVl.tooltipped-no-delay:hover::after,.gNgnVl.tooltipped-no-delay:active::after,.gNgnVl.tooltipped-no-delay:focus::after,.gNgnVl.tooltipped-no-delay:focus-within::after{-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/
.gNgnVl.tooltipped-multiline:hover::after,.gNgnVl.tooltipped-multiline:active::after,.gNgnVl.tooltipped-multiline:focus::after,.gNgnVl.tooltipped-multiline:focus-within::after{display:table-cell;}/*!sc*/
.gNgnVl.tooltipped-s::after,.gNgnVl.tooltipped-se::after,.gNgnVl.tooltipped-sw::after{top:100%;right:50%;margin-top:6px;}/*!sc*/
.gNgnVl.tooltipped-se::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/
.gNgnVl.tooltipped-sw::after{margin-right:-16px;}/*!sc*/
.gNgnVl.tooltipped-n::after,.gNgnVl.tooltipped-ne::after,.gNgnVl.tooltipped-nw::after{right:50%;bottom:100%;margin-bottom:6px;}/*!sc*/
.gNgnVl.tooltipped-ne::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/
.gNgnVl.tooltipped-nw::after{margin-right:-16px;}/*!sc*/
.gNgnVl.tooltipped-s::after,.gNgnVl.tooltipped-n::after{-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);}/*!sc*/
.gNgnVl.tooltipped-w::after{right:100%;bottom:50%;margin-right:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/
.gNgnVl.tooltipped-e::after{bottom:50%;left:100%;margin-left:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/
.gNgnVl.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*/
.gNgnVl.tooltipped-multiline.tooltipped-s::after,.gNgnVl.tooltipped-multiline.tooltipped-n::after{right:auto;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}/*!sc*/
.gNgnVl.tooltipped-multiline.tooltipped-w::after,.gNgnVl.tooltipped-multiline.tooltipped-e::after{right:100%;}/*!sc*/
.gNgnVl.tooltipped-align-right-2::after{right:0;margin-right:0;}/*!sc*/
.gNgnVl.tooltipped-align-left-2::after{left:0;margin-left:0;}/*!sc*/
data-styled.g18[id="Tooltip__TooltipBase-sc-17tf59c-0"]{content:"gNgnVl,"}/*!sc*/
.bPgibo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;list-style:none;white-space:nowrap;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;margin:0;margin-bottom:-1px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;position:relative;}/*!sc*/
data-styled.g103[id="UnderlineNav__NavigationList-sc-1jfr31k-0"]{content:"bPgibo,"}/*!sc*/
</style> <!-- --> <!-- -->
<div class="Box-sc-g0xbh4-0 izjvBm">
<div class="Box-sc-g0xbh4-0 rPQgy">
<div class="Box-sc-g0xbh4-0 eUMEDg"></div>
</div>
<div class="Box-sc-g0xbh4-0 eLcVee">
<div class="Box-sc-g0xbh4-0 hsfLlq">
<div class="Box-sc-g0xbh4-0 gpKoUz">
<button aria-haspopup="true"
aria-label="main branch"
class="types__StyledButton-sc-ws60qy-0 hILMMl overview-ref-selector"
data-testid="anchor-button"
id="branch-picker-repos-header-ref-selector"
tabindex="0"
type="button">
<span class="Box-sc-g0xbh4-0 kkrdEu"
data-component="buttonContent"><span
data-component="text"><div
class="Box-sc-g0xbh4-0 bKgizp"><div
class="Box-sc-g0xbh4-0 iPGYsi"><svg
aria-hidden="true"
class="octicon octicon-git-branch"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16"><path
d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></div><div
class="Box-sc-g0xbh4-0 dKmYfk ref-selector-button-text-container"><span
class="Text-sc-17v1xeu-0 bOMzPg"> 
<!-- -->main</span></div></div></span><span
class="Box-sc-g0xbh4-0 trpoQ"
data-component="trailingVisual"><svg
aria-hidden="true"
class="octicon octicon-triangle-down"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16"><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 data-hotkey-scope="read-only-cursor-text-area"
hidden=""></button>
</div>
<div class="Box-sc-g0xbh4-0 laYubZ"><a
class="types__StyledButton-sc-ws60qy-0 cuOWTR"
href="/vitorpamplona/amethyst/branches"
style="--button-color:fg.muted"
type="button"><span
class="Box-sc-g0xbh4-0 kkrdEu"
data-component="buttonContent"><span
class="Box-sc-g0xbh4-0 trpoQ"
data-component="leadingVisual"><svg
aria-hidden="true"
class="octicon octicon-git-branch"
fill="currentColor"
focusable="false"
height="16" role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16"><path
d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span
data-component="text">Branches</span></span></a><a
class="types__StyledButton-sc-ws60qy-0 cuOWTR"
href="/vitorpamplona/amethyst/tags"
style="--button-color:fg.muted"
type="button"><span
class="Box-sc-g0xbh4-0 kkrdEu"
data-component="buttonContent"><span
class="Box-sc-g0xbh4-0 trpoQ"
data-component="leadingVisual"><svg
aria-hidden="true"
class="octicon octicon-tag"
fill="currentColor"
focusable="false"
height="16" role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16"><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></span><span
data-component="text">Tags</span></span></a>
</div>
<div class="Box-sc-g0xbh4-0 swnaL"><a
aria-label="Go to Branches page"
class="types__StyledButton-sc-ws60qy-0 tDSzd"
data-no-visuals="true"
href="/vitorpamplona/amethyst/branches"
style="--button-color:fg.muted"
type="button">
<svg aria-hidden="true"
class="octicon octicon-git-branch"
fill="currentColor"
focusable="false"
height="16" role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path>
</svg>
</a><a aria-label="Go to Tags page"
class="types__StyledButton-sc-ws60qy-0 tDSzd"
data-no-visuals="true"
href="/vitorpamplona/amethyst/tags"
style="--button-color:fg.muted"
type="button">
<svg aria-hidden="true"
class="octicon octicon-tag"
fill="currentColor"
focusable="false"
height="16" role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<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>
</a></div>
</div>
<div class="Box-sc-g0xbh4-0 bWpuBf">
<div class="Box-sc-g0xbh4-0 grHjNb">
<div class="Box-sc-g0xbh4-0 dXTsqj">
<!--$!-->
<template></template><!--/$-->
</div>
<div class="Box-sc-g0xbh4-0 dCOrmu">
<button class="types__StyledButton-sc-ws60qy-0 pyyxt"
data-no-visuals="true"
type="button">
<span class="Box-sc-g0xbh4-0 kkrdEu"
data-component="buttonContent"><span
data-component="text">Go to file</span></span>
</button>
</div>
<div class="react-directory-add-file-icon"></div>
<div class="react-directory-remove-file-icon"></div>
</div>
<button aria-haspopup="true"
class="types__StyledButton-sc-ws60qy-0 gYvpXq"
id=":R2il5:"
tabindex="0"
type="button">
<span class="Box-sc-g0xbh4-0 kkrdEu"
data-component="buttonContent"><span
class="Box-sc-g0xbh4-0 trpoQ"
data-component="leadingVisual"><div
class="Box-sc-g0xbh4-0 bVvbgP"><svg
aria-hidden="true"
class="octicon octicon-code"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16"><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></div></span><span
data-component="text">Code</span></span><span
class="Box-sc-g0xbh4-0 trpoQ"
data-component="trailingAction"><svg
aria-hidden="true"
class="octicon octicon-triangle-down"
fill="currentColor"
focusable="false"
height="16" role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16"><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>
</button>
<div class="Box-sc-g0xbh4-0 bNDvfp">
<button aria-haspopup="true"
aria-label="Open more actions menu"
class="types__StyledButton-sc-ws60qy-0 pyyxt"
data-component="IconButton"
data-no-visuals="true"
id=":R3il5:"
tabindex="0"
type="button">
<svg aria-hidden="true"
class="octicon octicon-kebab-horizontal"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<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="Box-sc-g0xbh4-0 yfPnm">
<div class="Box-sc-g0xbh4-0"
data-hpc="true">
<button data-hotkey="j"
data-testid="focus-next-element-button"
hidden=""></button>
<button data-hotkey="k"
data-testid="focus-previous-element-button"
hidden=""></button>
<h2 class="Heading__StyledHeading-sc-1c1dgg0-0 cgQnMS sr-only"
data-testid="screen-reader-heading"
id="folders-and-files">Folders and
files</h2>
<table aria-labelledby="folders-and-files"
class="Box-sc-g0xbh4-0 cAQuiW">
<thead class="Box-sc-g0xbh4-0 iiUlLN">
<tr class="Box-sc-g0xbh4-0 jmggSN">
<th class="Box-sc-g0xbh4-0 kvYunM"
colSpan="2">
<span class="Text-sc-17v1xeu-0 eUGNHp">Name</span>
</th>
<th class="Box-sc-g0xbh4-0 hrLuxA"
colSpan="1">
<span class="Text-sc-17v1xeu-0 eUGNHp">Name</span>
</th>
<th class="Box-sc-g0xbh4-0 ePjhhA">
<div class="Truncate__StyledTruncate-sc-23o1d2-0 fUpWeN"
title="Last commit message">
<span class="Text-sc-17v1xeu-0 eUGNHp">Last commit message</span>
</div>
</th>
<th class="Box-sc-g0xbh4-0 cuEKae"
colSpan="1">
<div class="Truncate__StyledTruncate-sc-23o1d2-0 fUpWeN"
title="Last commit date">
<span class="Text-sc-17v1xeu-0 eUGNHp">Last commit date</span>
</div>
</th>
</tr>
</thead>
<tbody>
<tr class="Box-sc-g0xbh4-0 jEbBOT">
<td class="Box-sc-g0xbh4-0 bTxCvM"
colSpan="3">
<div class="Box-sc-g0xbh4-0 eYedVD">
<h2 class="Heading__StyledHeading-sc-1c1dgg0-0 cgQnMS sr-only"
data-testid="screen-reader-heading">
Latest commit</h2>
<div class="Skeleton Skeleton--text"
data-testid="loading"
style="width:120px">
 
</div>
<div class="Box-sc-g0xbh4-0 lhFvfi"
data-testid="latest-commit-details"></div>
<div class="Box-sc-g0xbh4-0 jGfYmh">
<h2 class="Heading__StyledHeading-sc-1c1dgg0-0 cgQnMS sr-only"
data-testid="screen-reader-heading">
History</h2><a
class="types__StyledButton-sc-ws60qy-0 fAkXQN react-last-commit-history-group"
data-size="small"
href="/vitorpamplona/amethyst/commits/main/"><span
class="Box-sc-g0xbh4-0 kkrdEu"
data-component="buttonContent"><span
class="Box-sc-g0xbh4-0 trpoQ"
data-component="leadingVisual"><svg
aria-hidden="true"
class="octicon octicon-history"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16"><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="Text-sc-17v1xeu-0 dALsKK">4,428 Commits</span></span></span></a>
<div class="Box-sc-g0xbh4-0 bqgLjk"></div>
<span aria-label="Commit history"
class="Tooltip__TooltipBase-sc-17tf59c-0 gNgnVl tooltipped-n"
role="tooltip"><a
class="types__StyledButton-sc-ws60qy-0 fAkXQN react-last-commit-history-icon"
href="/vitorpamplona/amethyst/commits/main/"><span
class="Box-sc-g0xbh4-0 kkrdEu"
data-component="buttonContent"><span
class="Box-sc-g0xbh4-0 trpoQ"
data-component="leadingVisual"><svg
aria-hidden="true"
class="octicon octicon-history"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16"><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>
</td>
</tr>
<tr class="react-directory-row undefined"
id="folder-row-0">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label=".github, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/.github"
title=".github">.github</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label=".github, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/.github"
title=".github">.github</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row undefined"
id="folder-row-1">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label=".idea, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/.idea"
title=".idea">.idea</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label=".idea, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/.idea"
title=".idea">.idea</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row undefined"
id="folder-row-2">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="app, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/app"
title="app">app</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="app, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/app"
title="app">app</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row undefined"
id="folder-row-3">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="benchmark, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/benchmark"
title="benchmark">benchmark</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="benchmark, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/benchmark"
title="benchmark">benchmark</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row undefined"
id="folder-row-4">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="commons, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/commons"
title="commons">commons</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="commons, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/commons"
title="commons">commons</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row undefined"
id="folder-row-5">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="docs, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/docs"
title="docs">docs</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="docs, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/docs"
title="docs">docs</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row undefined"
id="folder-row-6">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="fastlane/metadata/android, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/fastlane/metadata/android"
title="This path skips through empty directories"><span
class="react-directory-default-color"
data-testid="path-name-segment">fastlane/</span><span
class="react-directory-default-color"
data-testid="path-name-segment">metadata/</span><span
class=""
data-testid="path-name-segment">android</span></a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="fastlane/metadata/android, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/fastlane/metadata/android"
title="This path skips through empty directories"><span
class="react-directory-default-color"
data-testid="path-name-segment">fastlane/</span><span
class="react-directory-default-color"
data-testid="path-name-segment">metadata/</span><span
class=""
data-testid="path-name-segment">android</span></a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row undefined"
id="folder-row-7">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="git-hooks, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/git-hooks"
title="git-hooks">git-hooks</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="git-hooks, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/git-hooks"
title="git-hooks">git-hooks</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row undefined"
id="folder-row-8">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="gradle, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/gradle"
title="gradle">gradle</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="gradle, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/gradle"
title="gradle">gradle</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row undefined"
id="folder-row-9">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="quartz, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/quartz"
title="quartz">quartz</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="quartz, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/quartz"
title="quartz">quartz</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-10">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="spotless, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/spotless"
title="spotless">spotless</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="icon-directory"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="spotless, (Directory)"
class="Link--primary"
href="/vitorpamplona/amethyst/tree/main/spotless"
title="spotless">spotless</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-11">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label=".editorconfig, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/.editorconfig"
title=".editorconfig">.editorconfig</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label=".editorconfig, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/.editorconfig"
title=".editorconfig">.editorconfig</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-12">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label=".gitignore, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/.gitignore"
title=".gitignore">.gitignore</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label=".gitignore, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/.gitignore"
title=".gitignore">.gitignore</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-13">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="LICENSE, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/LICENSE"
title="LICENSE">LICENSE</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="LICENSE, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/LICENSE"
title="LICENSE">LICENSE</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-14">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="PRIVACY.md, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/PRIVACY.md"
title="PRIVACY.md">PRIVACY.md</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="PRIVACY.md, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/PRIVACY.md"
title="PRIVACY.md">PRIVACY.md</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-15">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="README.md, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/README.md"
title="README.md">README.md</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="README.md, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/README.md"
title="README.md">README.md</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-16">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="amethyst.png, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/amethyst.png"
title="amethyst.png">amethyst.png</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="amethyst.png, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/amethyst.png"
title="amethyst.png">amethyst.png</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-17">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="build.gradle, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/build.gradle"
title="build.gradle">build.gradle</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="build.gradle, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/build.gradle"
title="build.gradle">build.gradle</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-18">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="crowdin.yml, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/crowdin.yml"
title="crowdin.yml">crowdin.yml</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="crowdin.yml, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/crowdin.yml"
title="crowdin.yml">crowdin.yml</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-19">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="gradle.properties, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/gradle.properties"
title="gradle.properties">gradle.properties</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="gradle.properties, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/gradle.properties"
title="gradle.properties">gradle.properties</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-20">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="gradlew, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/gradlew"
title="gradlew">gradlew</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="gradlew, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/gradlew"
title="gradlew">gradlew</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-21">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="gradlew.bat, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/gradlew.bat"
title="gradlew.bat">gradlew.bat</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="gradlew.bat, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/gradlew.bat"
title="gradlew.bat">gradlew.bat</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="react-directory-row truncate-for-mobile"
id="folder-row-22">
<td class="react-directory-row-name-cell-small-screen"
colSpan="2">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="settings.gradle, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/settings.gradle"
title="settings.gradle">settings.gradle</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-name-cell-large-screen"
colSpan="1">
<div class="react-directory-filename-column">
<svg aria-hidden="true"
class="color-fg-muted"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
</svg>
<div class="overflow-hidden">
<h3>
<div class="react-directory-truncate">
<a aria-label="settings.gradle, (File)"
class="Link--primary"
href="/vitorpamplona/amethyst/blob/main/settings.gradle"
title="settings.gradle">settings.gradle</a>
</div>
</h3>
</div>
</div>
</td>
<td class="react-directory-row-commit-cell">
<div class="Skeleton Skeleton--text">
 
</div>
</td>
<td>
<div class="Skeleton Skeleton--text">
 
</div>
</td>
</tr>
<tr class="Box-sc-g0xbh4-0 epsqEd show-for-mobile"
data-testid="view-all-files-row">
<td class="Box-sc-g0xbh4-0 ldpruc"
colSpan="3">
<div>
<button class="Link__StyledLink-sc-14289xe-0 dheQRw">
View all files
</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="Box-sc-g0xbh4-0 ehcSsh">
<div class="Box-sc-g0xbh4-0 iGmlUb">
<div class="Box-sc-g0xbh4-0 iRQGXA">
<h2 class="_VisuallyHidden__VisuallyHidden-sc-11jhm7a-0 rTZSs">
Repository files
navigation</h2>
<nav aria-label="Repository files"
class="Box-sc-g0xbh4-0 dvTdPK">
<ul class="UnderlineNav__NavigationList-sc-1jfr31k-0 bPgibo"
role="list">
<li class="Box-sc-g0xbh4-0 gwuIGu">
<a aria-current="page"
class="Link__StyledLink-sc-14289xe-0 vLMkZ"
href="#"><span
class="Box-sc-g0xbh4-0 kOxwQs"
data-component="icon"><svg
aria-hidden="true"
class="octicon octicon-book"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16"><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
class="Box-sc-g0xbh4-0 kOgeFj"
data-component="text"
data-content="README">README</span></a>
</li>
<li class="Box-sc-g0xbh4-0 gwuIGu">
<a class="Link__StyledLink-sc-14289xe-0 bhqztV"
href="#"><span
class="Box-sc-g0xbh4-0 kOxwQs"
data-component="icon"><svg
aria-hidden="true"
class="octicon octicon-law"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16"><path
d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg></span><span
class="Box-sc-g0xbh4-0"
data-component="text"
data-content="MIT license">MIT license</span></a>
</li>
</ul>
</nav>
<button aria-haspopup="true"
aria-label="Outline"
class="types__StyledButton-sc-ws60qy-0 jPraEl"
id=":Rdkl5:"
style="--button-color:fg.subtle"
tabindex="0"
type="button">
<svg aria-hidden="true"
class="octicon octicon-list-unordered"
fill="currentColor"
focusable="false"
height="16"
role="img"
style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"
viewBox="0 0 16 16"
width="16">
<path d="M5.75 2.5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5ZM2 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM2 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
</svg>
</button>
</div>
<div class="Box-sc-g0xbh4-0 bJMeLZ js-snippet-clipboard-copy-unpositioned"
data-hpc="true">
<article
class="markdown-body entry-content container-lg"
itemprop="text">
<div align="center"
dir="auto">
<a href="https://amethyst.social"
rel="nofollow">
<img alt="Amethyst Logo"
src="/vitorpamplona/amethyst/raw/main/docs/design/3rd%20Logo%20-%20Zitron/amethyst.svg"
style="max-width: 100%;"
title="Amethyst logo"
width="80">
</a>
<div class="markdown-heading"
dir="auto"><h1
class="heading-element"
dir="auto"
tabindex="-1">
Amethyst</h1><a
aria-label="Permalink: Amethyst"
class="anchor"
href="#amethyst"
id="user-content-amethyst">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<div class="markdown-heading"
dir="auto"><h2
class="heading-element"
dir="auto"
tabindex="-1">
Nostr
Client for
Android</h2><a
aria-label="Permalink: Nostr Client for Android"
class="anchor"
href="#nostr-client-for-android"
id="user-content-nostr-client-for-android">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<p dir="auto">Join the
social network you
control.</p>
<p dir="auto"><a
href="https://github.com/vitorpamplona/amethyst/releases"><img
alt="GitHub downloads"
data-canonical-src="https://img.shields.io/github/downloads/vitorpamplona/amethyst/total?label=Downloads&amp;labelColor=27303D&amp;color=0D1117&amp;logo=github&amp;logoColor=FFFFFF&amp;style=flat"
src="https://camo.githubusercontent.com/0878846aa75325e8a839fb253814ced071155690dbcd353231e434ab626331f9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f7669746f7270616d706c6f6e612f616d6574687973742f746f74616c3f6c6162656c3d446f776e6c6f616473266c6162656c436f6c6f723d32373330334426636f6c6f723d304431313137266c6f676f3d676974687562266c6f676f436f6c6f723d464646464646267374796c653d666c6174"
style="max-width: 100%;"></a>
<a href="https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst"
rel="nofollow"><img
alt="PlayStore downloads"
data-canonical-src="https://img.shields.io/endpoint?color=green&amp;logo=google-play&amp;logoColor=green&amp;url=https%3A%2F%2Fplay.cuzi.workers.dev%2Fplay%3Fi%3Dcom.vitorpamplona.amethyst%26gl%3DUS%26hl%3Den%26l%3DPlayStore%26m%3D%24shortinstalls"
src="https://camo.githubusercontent.com/c7b313d9ead9e2b8e552ee508fc61bcf581966b01ecae331bc9b24bff4fb95a2/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f636f6c6f723d677265656e266c6f676f3d676f6f676c652d706c6179266c6f676f436f6c6f723d677265656e2675726c3d6874747073253341253246253246706c61792e63757a692e776f726b6572732e646576253246706c617925334669253344636f6d2e7669746f7270616d706c6f6e612e616d657468797374253236676c2533445553253236686c253344656e2532366c253344506c617953746f72652532366d25334425323473686f7274696e7374616c6c73"
style="max-width: 100%;"></a>
</p>
<p dir="auto"><a
href="https://github.com/vitorpamplona/amethyst"><img
alt="Last Version"
data-canonical-src="https://img.shields.io/github/release/vitorpamplona/amethyst.svg?maxAge=3600&amp;label=Stable&amp;labelColor=06599d&amp;color=043b69"
src="https://camo.githubusercontent.com/f5ebc205593bb022af50827339b9cf53f618317cd9fcd6997729c802a69184d3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f7669746f7270616d706c6f6e612f616d6574687973742e7376673f6d61784167653d33363030266c6162656c3d537461626c65266c6162656c436f6c6f723d30363539396426636f6c6f723d303433623639"
style="max-width: 100%;"></a>
<a href="https://jitpack.io/#vitorpamplona/amethyst"
rel="nofollow"><img
alt="JitPack version"
data-canonical-src="https://jitpack.io/v/vitorpamplona/amethyst.svg"
src="https://camo.githubusercontent.com/e5c584a6248e6ff915155a6464b7713018b4638811cc5feeda339e51eb071638/68747470733a2f2f6a69747061636b2e696f2f762f7669746f7270616d706c6f6e612f616d6574687973742e737667"
style="max-width: 100%;"></a>
<a href="https://github.com/vitorpamplona/amethyst/actions/workflows/build.yml"><img
alt="CI"
data-canonical-src="https://img.shields.io/github/actions/workflow/status/vitorpamplona/amethyst/build.yml?labelColor=27303D"
src="https://camo.githubusercontent.com/01a016b85097d9a4b07bc3edabb001382c28a4d89d500854747d40dae989a65c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7669746f7270616d706c6f6e612f616d6574687973742f6275696c642e796d6c3f6c6162656c436f6c6f723d323733303344"
style="max-width: 100%;"></a>
<a href="/vitorpamplona/amethyst/blob/main/LICENSE"><img
alt="License: Apache-2.0"
data-canonical-src="https://img.shields.io/github/license/vitorpamplona/amethyst?labelColor=27303D&amp;color=0877d2"
src="https://camo.githubusercontent.com/93a7675b56c8df43c2eae4bf0e029f7c879970de6631f992687f4e4c9d47c89d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f7669746f7270616d706c6f6e612f616d6574687973743f6c6162656c436f6c6f723d32373330334426636f6c6f723d303837376432"
style="max-width: 100%;"></a>
</p>
<div class="markdown-heading"
dir="auto"><h2
class="heading-element"
dir="auto"
tabindex="-1">
Download and
Install</h2><a
aria-label="Permalink: Download and Install"
class="anchor"
href="#download-and-install"
id="user-content-download-and-install">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<p dir="auto"><a
href="https://github.com/ImranR98/Obtainium"><img
alt="Get it on Obtaininum"
height="70"
src="/vitorpamplona/amethyst/raw/main/docs/design/obtainium.png"
style="max-width: 100%;"></a>
<a href="https://github.com/vitorpamplona/amethyst/releases"><img
alt="Get it on GitHub"
height="70"
src="https://github.com/machiav3lli/oandbackupx/raw/034b226cea5c1b30eb4f6a6f313e4dadcbb0ece4/badge_github.png"
style="max-width: 100%;"></a>
<a href="https://f-droid.org/packages/com.vitorpamplona.amethyst/"
rel="nofollow"><img
alt="Get it on F-Droid"
data-canonical-src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
height="70"
src="https://camo.githubusercontent.com/f422f6f830e814ec7e766de8fef4db949c6add75a9d58548ab2f5d29855c0616/68747470733a2f2f6664726f69642e6769746c61622e696f2f617274776f726b2f62616467652f6765742d69742d6f6e2e706e67"
style="max-width: 100%;"></a>
<a href="https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst"
rel="nofollow"><img
alt="Get it on Google Play"
data-canonical-src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png"
height="70"
src="https://camo.githubusercontent.com/b7c355557ebfc69c16957749e0e505786b6961aca66ec502c2766712c8c3951f/68747470733a2f2f706c61792e676f6f676c652e636f6d2f696e746c2f656e5f75732f6261646765732f696d616765732f67656e657269632f656e2d706c61792d62616467652e706e67"
style="max-width: 100%;"></a>
</p>
</div>
<div class="markdown-heading"
dir="auto"><h2
class="heading-element"
dir="auto"
tabindex="-1">
Supported
Features</h2><a
aria-label="Permalink: Supported Features"
class="anchor"
href="#supported-features"
id="user-content-supported-features">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<p dir="auto"><a
href="/vitorpamplona/amethyst/blob/main/docs/screenshots/home.png"
rel="noopener noreferrer"
target="_blank"><img
align="right"
src="/vitorpamplona/amethyst/raw/main/docs/screenshots/home.png"
style="max-width: 100%;"
width="350px"></a>
</p>
<ul class="contains-task-list">
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Events / Relay
Subscriptions
(NIP-01)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Follow List (NIP-02)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
OpenTimestamps
Attestations
(NIP-03)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Private Messages
(NIP-04)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
DNS Address (NIP-05)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Mnemonic seed phrase
(NIP-06)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
WebBrowser Signer
(NIP-07, Not
applicable)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Old-style mentions
(NIP-08)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Event Deletion
(NIP-09)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Replies, mentions,
Threads, and
Notifications
(NIP-10)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Relay Information
Document (NIP-11)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Generic Tag Queries
(NIP-12)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Proof of Work
Display (NIP-13)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Proof of Work
Calculations
(NIP-13)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Events with a
Subject (NIP-14)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Marketplace (NIP-15)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Event Treatment
(NIP-16)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Image/Video/Url/LnInvoice
Previews
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Reposts, Quotes,
Generic Reposts
(NIP-18)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Bech Encoding
support (NIP-19)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Command Results
(NIP-20)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
URI Support (NIP-21)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Long-form Content
(NIP-23)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
User Profile Fields
/ Relay list
(NIP-24)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Reactions (NIP-25)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Delegated Event
Signing (NIP-26,
Will not implement)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Text Note References
(NIP-27)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Public Chats
(NIP-28)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Custom Emoji
(NIP-30)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Event kind summaries
(NIP-31)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Labeling (NIP-32)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Parameterized
Replaceable Events
(NIP-33)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Git Stuff
(NIP-34/Draft)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Sensitive Content
(NIP-36)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Note Edits
(NIP-37/Draft)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
User Status Event
(NIP-38)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
External Identities
(NIP-39)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Expiration Support
(NIP-40)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Relay Authentication
(NIP-42)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Event Counts
(NIP-45, Will not
implement)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Nostr Connect
(NIP-46)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Wallet Connect API
(NIP-47)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Proxy Tags (NIP-48,
Not applicable)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Private key
encryption for
import/export
(NIP-49)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Online Relay Search
(NIP-50)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Lists (NIP-51)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Calendar Events
(NIP-52)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Live Activities
&amp; Live Chats
(NIP-53)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Inline Metadata
(NIP-55 - Draft)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Reporting (NIP-56)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Lightning Tips
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Zaps (NIP-57)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Private Zaps
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Zap Splits (NIP-57)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Gift Wraps &amp;
Seals (NIP-59)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Zapraiser (NIP-TBD)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Badges (NIP-58)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Relay List Metadata
(NIP-65)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Polls (NIP-69)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Moderated
Communities (NIP-72)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Zap Goals (NIP-75)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Arbitrary Custom App
Data (NIP-78)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Highlights (NIP-84)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Recommended
Application Handlers
(NIP-89)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Data Vending Machine
(NIP-90)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Inline Metadata
(NIP-92)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Verifiable file URLs
(NIP-94)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Binary Blobs
(NIP-95)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
HTTP File Storage
Integration (NIP-96
Draft)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
HTTP Auth (NIP-98)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Classifieds (NIP-99)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Private Messages and
Small Groups
(NIP-24/Draft)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Versioned Encrypted
Payloads
(NIP-44/Draft)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Audio Tracks
(zapstr.live)
(kind:31337)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Push Notifications
(Google and Unified
Push)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
In-Device Automatic
Translations
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Hashtag Following
and Custom Hashtags
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Login with QR
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Bounty support
(nostrbounties.com)
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
De-googled F-Droid
flavor
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Multiple Accounts
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Markdown Support
</li>
<li class="task-list-item">
<input checked=""
class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
FHIR Payloads
(kind:82)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Decentralized Wiki
(kind:30818)
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Embed events
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Image/Video Capture
in the app
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Local Database
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Workspaces
</li>
<li class="task-list-item">
<input class="task-list-item-checkbox"
disabled=""
id=""
type="checkbox">
Infinity Scroll
</li>
</ul>
<div class="markdown-heading"
dir="auto"><h2
class="heading-element"
dir="auto"
tabindex="-1">
Privacy
and Information
Permanence</h2><a
aria-label="Permalink: Privacy and Information Permanence"
class="anchor"
href="#privacy-and-information-permanence"
id="user-content-privacy-and-information-permanence">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<p dir="auto">Relays know
your IP address, your
name, your location
(guessed from IP), your
pub key, all your
contacts, and other
relays, and can read
every action you do
(post, like, boost,
quote, report, etc)
except for Private Zaps
and Private DMs. While
the content of direct
messages (DMs) is only
visible to you and your
DM counterparty,
everyone can see when
you and your
counterparty DM each
other.</p>
<p dir="auto">If you want to
improve your privacy,
consider utilizing a
service that masks your
IP address (e.g. a VPN
or Tor) from trackers
online.</p>
<p dir="auto">The relay also
learns which public keys
you are requesting,
meaning your public key
will be tied to your IP
address.</p>
<p dir="auto">Information
shared on Nostr can be
re-broadcasted to other
servers and should be
assumed permanent for
privacy purposes. There
is no way to guarantee
the deletion of any
content once posted.</p>
<div class="markdown-heading"
dir="auto"><h1
class="heading-element"
dir="auto"
tabindex="-1">
Development
Overview</h1><a
aria-label="Permalink: Development Overview"
class="anchor"
href="#development-overview"
id="user-content-development-overview">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<p dir="auto">This
repository is split
between Amethyst and
Quartz:</p>
<ul dir="auto">
<li>Amethyst is a native
Android app made
with Kotlin and
Jetpack Compose.
</li>
<li>Quartz is our own
Nostr-commons
library to host
classes that are of
interest to other
Nostr Clients.
</li>
</ul>
<p dir="auto">The app
architecture consists of
the UI, which uses the
usual
State/ViewModel/Composition,
the service layer that
connects with Nostr
relays,
and the model/repository
layer, which keeps all
Nostr objects in memory,
in a full OO graph.</p>
<p dir="auto">The repository
layer stores Nostr
Events as Notes and
Users separately. Those
classes use LiveData and
Flow objects to
allow the UI and other
parts of the app to
subscribe to each
Note/User and receive
updates when they
happen.
They are also
responsible for updating
viewModels when needed.
As the user scrolls
through Events, the
Datasource classes
are updated to receive
more information about
those particular
Events.</p>
<p dir="auto">Most of the UI
is reactive to changes
in the repository
classes. The service
layer assembles Nostr
filters for each need of
the app,
receives the data from
the Relay, and sends it
to the repository.
Connection with relays
is never closed during
the use of the app.
The UI receives a
notification that
objects have been
updated. Instances of
User and Notes are
mutable directly.
There will never be two
Notes with the same ID
or two User instances
with the same
pubkey.</p>
<p dir="auto">Lastly, the
user's account
information (private
key/pub key) is stored
in the Android KeyStore
for security.</p>
<div class="markdown-heading"
dir="auto"><h2
class="heading-element"
dir="auto"
tabindex="-1">
Setup</h2><a
aria-label="Permalink: Setup"
class="anchor"
href="#setup"
id="user-content-setup">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<p dir="auto">Make sure to
have the following
pre-requisites
installed:</p>
<ol dir="auto">
<li>Java 17+</li>
<li>Android Studio</li>
<li>Android 8.0+ Phone
or Emulation setup
</li>
</ol>
<p dir="auto">Fork and clone
this repository and
import it into Android
Studio</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto"
data-snippet-clipboard-copy-content="git clone https://github.com/vitorpamplona/amethyst.git"
dir="auto">
<pre>git clone https://github.com/vitorpamplona/amethyst.git</pre>
</div>
<p dir="auto">Use an Android
Studio build action to
install and run the app
on your device or a
simulator.</p>
<div class="markdown-heading"
dir="auto"><h2
class="heading-element"
dir="auto"
tabindex="-1">
Building</h2><a
aria-label="Permalink: Building"
class="anchor"
href="#building"
id="user-content-building">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<p dir="auto">Build the
app:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto"
data-snippet-clipboard-copy-content="./gradlew assembleDebug"
dir="auto">
<pre>./gradlew assembleDebug</pre>
</div>
<div class="markdown-heading"
dir="auto"><h2
class="heading-element"
dir="auto"
tabindex="-1">
Testing</h2><a
aria-label="Permalink: Testing"
class="anchor"
href="#testing"
id="user-content-testing">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto"
data-snippet-clipboard-copy-content="./gradlew test
./gradlew connectedAndroidTest"
dir="auto"><pre>./gradlew <span
class="pl-c1">test</span>
./gradlew connectedAndroidTest</pre>
</div>
<div class="markdown-heading"
dir="auto"><h2
class="heading-element"
dir="auto"
tabindex="-1">
Linting</h2><a
aria-label="Permalink: Linting"
class="anchor"
href="#linting"
id="user-content-linting">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto"
data-snippet-clipboard-copy-content="./gradlew spotlessCheck
./gradlew spotlessApply"
dir="auto"><pre>./gradlew spotlessCheck
./gradlew spotlessApply</pre>
</div>
<div class="markdown-heading"
dir="auto"><h2
class="heading-element"
dir="auto"
tabindex="-1">
Installing on
device</h2><a
aria-label="Permalink: Installing on device"
class="anchor"
href="#installing-on-device"
id="user-content-installing-on-device">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<p dir="auto">For the
F-Droid build:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto"
data-snippet-clipboard-copy-content="./gradlew installFdroidDebug"
dir="auto">
<pre>./gradlew installFdroidDebug</pre>
</div>
<p dir="auto">For the Play
build:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto"
data-snippet-clipboard-copy-content="./gradlew installPlayDebug"
dir="auto">
<pre>./gradlew installPlayDebug</pre>
</div>
<div class="markdown-heading"
dir="auto"><h2
class="heading-element"
dir="auto"
tabindex="-1">
Deploying</h2><a
aria-label="Permalink: Deploying"
class="anchor"
href="#deploying"
id="user-content-deploying">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<ol dir="auto">
<li>Generate a new
signing key
</li>
</ol>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto"
data-snippet-clipboard-copy-content="keytool -genkey -v -keystore &lt;my-release-key.keystore&gt; -alias &lt;alias_name&gt; -keyalg RSA -keysize 2048 -validity 10000
openssl base64 &lt; &lt;my-release-key.keystore&gt; | tr -d '\n' | tee some_signing_key.jks.base64.txt"><pre
class="notranslate"><code>keytool -genkey -v -keystore &lt;my-release-key.keystore&gt; -alias &lt;alias_name&gt; -keyalg RSA -keysize 2048 -validity 10000
openssl base64 &lt; &lt;my-release-key.keystore&gt; | tr -d '\n' | tee some_signing_key.jks.base64.txt
</code></pre>
</div>
<ol dir="auto" start="2">
<li>Create four Secret
Key variables on
your GitHub
repository and fill
in the signing key
information
<ul dir="auto">
<li><code>KEY_ALIAS</code>
&lt;- <code>&lt;alias_name&gt;</code>
</li>
<li><code>KEY_PASSWORD</code>
&lt;- <code>&lt;your
password&gt;</code>
</li>
<li><code>KEY_STORE_PASSWORD</code>
&lt;- <code>&lt;your
key
store
password&gt;</code>
</li>
<li><code>SIGNING_KEY</code>
&lt;- the
data from
<code>&lt;my-release-key.keystore&gt;</code>
</li>
</ul>
</li>
<li>Change the <code>versionCode</code>
and <code>versionName</code>
on <code>app/build.gradle</code>
</li>
<li>Commit and push.
</li>
<li>Tag the commit with
<code>v{x.x.x}</code>
</li>
<li>Let the <a
href="https://github.com/vitorpamplona/amethyst/actions/workflows/create-release.yml">Create
Release GitHub
Action</a> build a
new <code>aab</code>
file.
</li>
<li>Add your CHANGE LOG
to the description
of the new release
</li>
<li>Download the <code>aab</code>
file and upload it
to the PlayStore.
</li>
</ol>
<div class="markdown-heading"
dir="auto"><h2
class="heading-element"
dir="auto"
tabindex="-1">Using
the
Quartz library</h2><a
aria-label="Permalink: Using the Quartz library"
class="anchor"
href="#using-the-quartz-library"
id="user-content-using-the-quartz-library">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<p dir="auto">Setup <a
href="https://jitpack.io/#vitorpamplona/amethyst/v0.84.3"
rel="nofollow">JitPack.io</a>
to your build file</p>
<p dir="auto">Add <code>maven
{ url
'https://jitpack.io'
}</code> to
settings.gradle at the
end of repositories:</p>
<div class="highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto"
data-snippet-clipboard-copy-content="dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}"
dir="auto"><pre><span
class="pl-en">dependencyResolutionManagement</span> {
repositoriesMode<span class="pl-k">.</span>set(<span class="pl-k">RepositoriesMode</span><span
class="pl-k">.</span><span
class="pl-c1">FAIL_ON_PROJECT_REPOS</span>)
repositories {
mavenCentral()
maven { url <span class="pl-s"><span class="pl-pds">'</span>https://jitpack.io<span
class="pl-pds">'</span></span> }
}
}</pre>
</div>
<p dir="auto">Add the
dependency</p>
<div class="highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto"
data-snippet-clipboard-copy-content="implementation('com.github.vitorpamplona.amethyst:quartz:v0.85.1')"
dir="auto">
<pre>implementation(<span
class="pl-s"><span
class="pl-pds">'</span>com.github.vitorpamplona.amethyst:quartz:v0.85.1<span
class="pl-pds">'</span></span>)</pre>
</div>
<div class="markdown-heading"
dir="auto"><h2
class="heading-element"
dir="auto"
tabindex="-1">
Contributing</h2><a
aria-label="Permalink: Contributing"
class="anchor"
href="#contributing"
id="user-content-contributing">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<p dir="auto">Issues can be
logged on: <a
href="https://gitworkshop.dev/repo/amethyst"
rel="nofollow">https://gitworkshop.dev/repo/amethyst</a>
</p>
<p dir="auto"><a
href="https://github.com/vitorpamplona/amethyst/issues">GitHub
issues</a> and <a
href="https://github.com/vitorpamplona/amethyst/pulls">pull
requests</a> here are
also welcome.
Translations can be
provided via <a
href="https://crowdin.com/project/amethyst-social"
rel="nofollow">Crowdin</a>
</p>
<p dir="auto">You can also
send patches through
Nostr using <a
href="https://github.com/fiatjaf/gitstr">GitStr</a>
to
<a href="https://patch34.pages.dev/naddr1qqyxzmt9w358jum5qyg8v6t5daezumn0wd68yvfwvdhk6qg7waehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2ap0qy2hwumn8ghj7un9d3shjtnwdaehgu3wvfnj7q3qgcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqxpqqqpmej720gac"
rel="nofollow">this
nostr address</a>
</p>
<p dir="auto">By
contributing to this
repository, you agree to
license your work under
the MIT license. Any
work contributed where
you are not the original
author must contain its
license header with the
original author(s) and
source.</p>
<div class="markdown-heading"
dir="auto"><h1
class="heading-element"
dir="auto"
tabindex="-1">
Screenshots</h1><a
aria-label="Permalink: Screenshots"
class="anchor"
href="#screenshots"
id="user-content-screenshots">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<table>
<thead>
<tr>
<th>FollowFeeds</th>
<th>ChatsGroup</th>
<th>LiveStreams</th>
<th>Notifications
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<a href="/vitorpamplona/amethyst/blob/main/docs/screenshots/home.png"
rel="noopener noreferrer"
target="_blank"><img
alt="Home Feed"
src="/vitorpamplona/amethyst/raw/main/docs/screenshots/home.png"
style="max-width: 100%;"></a>
</td>
<td>
<a href="/vitorpamplona/amethyst/blob/main/docs/screenshots/messages.png"
rel="noopener noreferrer"
target="_blank"><img
alt="Messages"
src="/vitorpamplona/amethyst/raw/main/docs/screenshots/messages.png"
style="max-width: 100%;"></a>
</td>
<td>
<a href="/vitorpamplona/amethyst/blob/main/docs/screenshots/replies.png"
rel="noopener noreferrer"
target="_blank"><img
alt="Live Streams"
src="/vitorpamplona/amethyst/raw/main/docs/screenshots/replies.png"
style="max-width: 100%;"></a>
</td>
<td>
<a href="/vitorpamplona/amethyst/blob/main/docs/screenshots/notifications.png"
rel="noopener noreferrer"
target="_blank"><img
alt="Notifications"
src="/vitorpamplona/amethyst/raw/main/docs/screenshots/notifications.png"
style="max-width: 100%;"></a>
</td>
</tr>
</tbody>
</table>
<div class="markdown-heading"
dir="auto"><h1
class="heading-element"
dir="auto"
tabindex="-1">
Contributors</h1><a
aria-label="Permalink: Contributors"
class="anchor"
href="#contributors"
id="user-content-contributors">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<a align="center"
href="https://github.com/vitorpamplona/amethyst/graphs/contributors">
<img data-canonical-src="https://contrib.rocks/image?repo=vitorpamplona/amethyst"
src="https://camo.githubusercontent.com/49db37c2d4e5559fd7833fa337a80bc3cb3a11fcbe4c228e50c624856eef7d6d/68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d7669746f7270616d706c6f6e612f616d657468797374"
style="max-width: 100%;">
</a>
<div class="markdown-heading"
dir="auto"><h1
class="heading-element"
dir="auto"
tabindex="-1">MIT
License</h1><a
aria-label="Permalink: MIT License"
class="anchor"
href="#mit-license"
id="user-content-mit-license">
<svg aria-hidden="true"
class="octicon octicon-link"
height="16"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path>
</svg>
</a></div>
<pre>Copyright (c) 2023 Vitor Pamplona
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</pre>
</article>
</div>
</div>
</div>
</div>
</div> <!-- --> <!-- -->
<script id="__PRIMER_DATA__"
type="application/json">{
"resolvedServerColorMode": "day"
}</script>
</div>
</react-partial>
<input data-csrf="true" type="hidden"
value="f/BAupCUKXjxBPYwiC2trrcmw4n3jUn8TywjggPoKAiLGOd+5Z6Mq9WylsuA1ZsSSjWZY61yYeEAwsW2WIMk1A=="/>
</div>
<div class="Layout-sidebar" data-view-component="true">
<div class="BorderGrid about-margin" data-pjax>
<div class="BorderGrid-row">
<div class="BorderGrid-cell">
<div class="hide-sm hide-md">
<h2 class="mb-3 h4">About</h2>
<p class="f4 my-3">
Nostr client for Android
</p>
<h3 class="sr-only">Topics</h3>
<div class="my-3">
<div class="f6">
<a class="topic-tag topic-tag-link"
data-ga-click="Topic, repository page"
data-octo-click="topic_click"
data-octo-dimensions="topic:android"
data-view-component="true"
href="/topics/android"
title="Topic: android">
android
</a>
<a class="topic-tag topic-tag-link"
data-ga-click="Topic, repository page"
data-octo-click="topic_click"
data-octo-dimensions="topic:kotlin"
data-view-component="true"
href="/topics/kotlin"
title="Topic: kotlin">
kotlin
</a>
<a class="topic-tag topic-tag-link"
data-ga-click="Topic, repository page"
data-octo-click="topic_click"
data-octo-dimensions="topic:social-network"
data-view-component="true"
href="/topics/social-network"
title="Topic: social-network">
social-network
</a>
<a class="topic-tag topic-tag-link"
data-ga-click="Topic, repository page"
data-octo-click="topic_click"
data-octo-dimensions="topic:nostr"
data-view-component="true"
href="/topics/nostr"
title="Topic: nostr">
nostr
</a>
</div>
</div>
<h3 class="sr-only">Resources</h3>
<div class="mt-2">
<a class="Link--muted"
data-analytics-event="{&quot;category&quot;:&quot;Repository Overview&quot;,&quot;action&quot;:&quot;click&quot;,&quot;label&quot;:&quot;location:sidebar;file:readme&quot;}"
href="#readme-ov-file">
<svg aria-hidden="true"
class="octicon octicon-book mr-2"
data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16"
width="16">
<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>
Readme
</a></div>
<h3 class="sr-only">License</h3>
<div class="mt-2">
<a class="Link--muted"
data-analytics-event="{&quot;category&quot;:&quot;Repository Overview&quot;,&quot;action&quot;:&quot;click&quot;,&quot;label&quot;:&quot;location:sidebar;file:license&quot;}"
href="#MIT-1-ov-file"
>
<svg aria-hidden="true"
class="octicon octicon-law mr-2"
data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path>
</svg>
MIT license
</a>
</div>
<include-fragment
src="/vitorpamplona/amethyst/hovercards/citation/sidebar_partial?tree_name=main">
</include-fragment>
<div class="mt-2">
<a class="Link Link--muted"
data-view-component="true"
href="/vitorpamplona/amethyst/activity">
<svg aria-hidden="true"
class="octicon octicon-pulse mr-2"
data-view-component="true"
height="16"
text="gray" version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z"></path>
</svg>
<span class="color-fg-muted">Activity</span>
</a></div>
<h3 class="sr-only">Stars</h3>
<div class="mt-2">
<a class="Link Link--muted"
data-view-component="true"
href="/vitorpamplona/amethyst/stargazers">
<svg aria-hidden="true"
class="octicon octicon-star mr-2"
data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16"
width="16">
<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>
<strong>1k</strong>
stars
</a></div>
<h3 class="sr-only">Watchers</h3>
<div class="mt-2">
<a class="Link Link--muted"
data-view-component="true"
href="/vitorpamplona/amethyst/watchers">
<svg aria-hidden="true"
class="octicon octicon-eye mr-2"
data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14c-1.981 0-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2ZM1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5c1.473 0 2.825-.742 3.955-1.715 1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5c-1.473 0-2.825.742-3.955 1.715-1.124.967-1.954 2.096-2.366 2.717ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z"></path>
</svg>
<strong>24</strong>
watching
</a></div>
<h3 class="sr-only">Forks</h3>
<div class="mt-2">
<a class="Link Link--muted"
data-view-component="true"
href="/vitorpamplona/amethyst/forks">
<svg aria-hidden="true"
class="octicon octicon-repo-forked mr-2"
data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16"
width="16">
<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>
<strong>142</strong>
forks
</a></div>
<div class="mt-2">
<a class="Link--muted"
href="/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fvitorpamplona%2Famethyst&amp;report=vitorpamplona+%28user%29">
Report repository
</a></div>
</div>
</div>
</div>
<div class="BorderGrid-row">
<div class="BorderGrid-cell">
<h2 class="h4 mb-3"
data-pjax="#repo-content-pjax-container"
data-turbo-frame="repo-content-turbo-frame">
<a class="Link--primary no-underline Link"
data-view-component="true"
href="/vitorpamplona/amethyst/releases">
Releases
<span class="Counter"
data-view-component="true"
title="334">334</span>
</a></h2>
<a class="Link--primary d-flex no-underline"
data-pjax="#repo-content-pjax-container"
data-turbo-frame="repo-content-turbo-frame"
href="/vitorpamplona/amethyst/releases/tag/v0.85.3">
<svg aria-hidden="true"
class="octicon octicon-tag flex-shrink-0 mt-1 color-fg-success"
data-view-component="true" height="16"
version="1.1" viewBox="0 0 16 16"
width="16">
<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 class="ml-2 min-width-0">
<div class="d-flex">
<span class="css-truncate css-truncate-target text-bold mr-2"
style="max-width: none;">Release v0.85.3</span>
<span class="Label Label--success flex-shrink-0"
data-view-component="true"
title="Label: Latest">
Latest
</span></div>
<div class="text-small color-fg-muted">
<relative-time
class="no-wrap"
datetime="2024-03-04T23:27:25Z">
Mar 4, 2024
</relative-time>
</div>
</div>
</a>
<div class="mt-3" data-view-component="true">
<a class="Link"
data-pjax="#repo-content-pjax-container"
data-turbo-frame="repo-content-turbo-frame"
data-view-component="true"
href="/vitorpamplona/amethyst/releases"
text="small">
+ 333 releases
</a></div>
</div>
</div>
<div class="BorderGrid-row">
<div class="BorderGrid-cell">
<h2 class="h4 mb-3">
<a class="Link--primary no-underline Link d-flex flex-items-center"
data-view-component="true"
href="/users/vitorpamplona/packages?repo_name=amethyst">
Packages
<span class="Counter ml-1"
data-view-component="true"
hidden="hidden"
title="0">0</span>
</a></h2>
<div class="text-small color-fg-muted">
No packages published <br>
</div>
</div>
</div>
<div class="BorderGrid-row" hidden>
<div class="BorderGrid-cell">
<include-fragment
accept="text/fragment+html"
src="/vitorpamplona/amethyst/used_by_list">
</include-fragment>
</div>
</div>
<div class="BorderGrid-row">
<div class="BorderGrid-cell">
<h2 class="h4 mb-3">
<a class="Link--primary no-underline Link d-flex flex-items-center"
data-view-component="true"
href="/vitorpamplona/amethyst/graphs/contributors">
Contributors
<span class="Counter ml-1"
data-view-component="true"
title="58">58</span>
</a></h2>
<ul class="list-style-none d-flex flex-wrap mb-n2">
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/vitorpamplona/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/vitorpamplona"
>
<img alt="@vitorpamplona"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/532031?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/greenart7c3/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/greenart7c3"
>
<img alt="@greenart7c3"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/115044884?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/crowdin-bot/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/crowdin-bot"
>
<img alt="@crowdin-bot"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/58779643?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/believethehype/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/believethehype"
>
<img alt="@believethehype"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/1097224?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/davotoula/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/davotoula"
>
<img alt="@davotoula"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/1747287?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/maxmoney21m/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/maxmoney21m"
>
<img alt="@maxmoney21m"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/124794312?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/toadlyBroodle/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/toadlyBroodle"
>
<img alt="@toadlyBroodle"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/13908213?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/Chemaclass/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/Chemaclass"
>
<img alt="@Chemaclass"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/5256287?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/KotlinGeekDev/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/KotlinGeekDev"
>
<img alt="@KotlinGeekDev"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/29070932?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/Radiokot/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/Radiokot"
>
<img alt="@Radiokot"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/5675681?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/ZsZolee/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/ZsZolee"
>
<img alt="@ZsZolee"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/34719275?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/eru-desu/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/eru-desu"
>
<img alt="@eru-desu"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/68351083?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/miseelu/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/miseelu"
>
<img alt="@miseelu"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/127405445?s=64&amp;v=4"
width="32"/>
</a>
</li>
<li class="mb-2 mr-2"
>
<a class=""
data-hovercard-type="user"
data-hovercard-url="/users/Bardesss/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://github.com/Bardesss"
>
<img alt="@Bardesss"
class="avatar circle"
data-view-component="true"
height="32" size="32"
src="https://avatars.githubusercontent.com/u/30936735?s=64&amp;v=4"
width="32"/>
</a>
</li>
</ul>
<div class="mt-3" data-view-component="true">
<a class="Link--inTextBlock Link"
data-view-component="true"
href="/vitorpamplona/amethyst/graphs/contributors"
text="small">
+ 44 contributors
</a></div>
</div>
</div>
<div class="BorderGrid-row">
<div class="BorderGrid-cell">
<h2 class="h4 mb-3">Languages</h2>
<div class="mb-2">
<span class="Progress" data-view-component="true">
<span aria-label="Kotlin 96.2" class="Progress-item color-bg-success-emphasis"
data-view-component="true" itemprop="keywords"
style="background-color:#A97BFF !important;;width: 96.2%;"></span>
<span aria-label="Java 3.8" class="Progress-item color-bg-success-emphasis"
data-view-component="true" itemprop="keywords"
style="background-color:#b07219 !important;;width: 3.8%;"></span>
</span></div>
<ul class="list-style-none">
<li class="d-inline">
<a class="d-inline-flex flex-items-center flex-nowrap Link--secondary no-underline text-small mr-3"
data-ga-click="Repository, language stats search click, location:repo overview"
href="/vitorpamplona/amethyst/search?l=kotlin">
<svg aria-hidden="true"
class="octicon octicon-dot-fill mr-2"
data-view-component="true"
height="16"
style="color:#A97BFF;"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path>
</svg>
<span class="color-fg-default text-bold mr-1">Kotlin</span>
<span>96.2%</span>
</a>
</li>
<li class="d-inline">
<a class="d-inline-flex flex-items-center flex-nowrap Link--secondary no-underline text-small mr-3"
data-ga-click="Repository, language stats search click, location:repo overview"
href="/vitorpamplona/amethyst/search?l=java">
<svg aria-hidden="true"
class="octicon octicon-dot-fill mr-2"
data-view-component="true"
height="16"
style="color:#b07219;"
version="1.1"
viewBox="0 0 16 16"
width="16">
<path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path>
</svg>
<span class="color-fg-default text-bold mr-1">Java</span>
<span>3.8%</span>
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</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" class="footer-octicon mr-2" href="https://github.com"
title="GitHub">
<svg aria-hidden="true" class="octicon octicon-mark-github"
data-view-component="true" height="24" version="1.1"
viewBox="0 0 16 16" width="24">
<path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></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 aria-labelledby="sr-footer-heading"
class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0">
<li class="mx-2">
<a class="Link--secondary Link"
data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}"
data-view-component="true"
href="https://docs.github.com/site-policy/github-terms/github-terms-of-service">Terms</a>
</li>
<li class="mx-2">
<a class="Link--secondary Link"
data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}"
data-view-component="true"
href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement">Privacy</a>
</li>
<li class="mx-2">
<a class="Link--secondary Link"
data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}"
data-view-component="true" href="/security">Security</a>
</li>
<li class="mx-2">
<a class="Link--secondary Link"
data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}"
data-view-component="true"
href="https://www.githubstatus.com/">Status</a>
</li>
<li class="mx-2">
<a class="Link--secondary Link"
data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}"
data-view-component="true"
href="https://docs.github.com/">Docs</a>
</li>
<li class="mx-2">
<a class="Link--secondary Link"
data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}"
data-view-component="true"
href="https://support.github.com?tags=dotcom-footer">Contact</a>
</li>
<li class="mx-2">
<cookie-consent-link>
<button class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent"
data-action="click:cookie-consent-link#showConsentManagement"
type="button">
Manage cookies
</button>
</cookie-consent-link>
</li>
<li class="mx-2">
<cookie-consent-link>
<button class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent"
data-action="click:cookie-consent-link#showConsentManagement"
type="button">
Do not share my personal information
</button>
</cookie-consent-link>
</li>
</ul>
</nav>
</div>
</footer>
<cookie-consent class="position-fixed bottom-0 left-0" data-cookie-consent-required="false"
data-initial-cookie-consent-allowed="" id="cookie-consent-banner"
style="z-index: 999999"></cookie-consent>
<div class="ajax-error-message flash flash-error" hidden id="ajax-error-message">
<svg aria-hidden="true" class="octicon octicon-alert" data-view-component="true" height="16"
version="1.1"
viewBox="0 0 16 16" width="16">
<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 aria-label="Dismiss error" class="flash-close js-ajax-error-dismiss" type="button">
<svg aria-hidden="true" class="octicon octicon-x" data-view-component="true" height="16"
version="1.1"
viewBox="0 0 16 16" width="16">
<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 cant 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 aria-label="Close dialog" role="button"></summary>
<details-dialog
class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
<button aria-label="Close dialog"
class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0"
data-close-dialog type="button">
<svg aria-hidden="true" class="octicon octicon-x" data-view-component="true"
height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<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;" tabindex="0">
<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 tooltipped-no-delay"
data-copy-feedback="Copied!" data-tooltip-direction="w">
<svg aria-hidden="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"
data-view-component="true" height="16" version="1.1"
viewBox="0 0 16 16"
width="16">
<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"
class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"
data-view-component="true" height="16" version="1.1"
viewBox="0 0 16 16"
width="16">
<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 tooltipped-no-delay d-flex flex-justify-center flex-items-center"
data-copy-feedback="Copied!" data-tooltip-direction="w">
<svg aria-hidden="true" class="octicon octicon-copy js-clipboard-copy-icon"
data-view-component="true" height="16" version="1.1"
viewBox="0 0 16 16" width="16">
<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"
class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"
data-view-component="true" height="16" version="1.1"
viewBox="0 0 16 16"
width="16">
<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 aria-atomic="true" aria-live="polite" class="sr-only"
id="js-global-screen-reader-notice"></div>
<div aria-atomic="true" aria-live="assertive" class="sr-only"
id="js-global-screen-reader-notice-assertive"></div>
</body>
</html>