@buun_group/plotwork-mcp 0.6.0-beta.2 → 0.6.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/plotwork-mcp.mjs CHANGED
@@ -65,7 +65,7 @@ var init_icon_art_folder = __esm({
65
65
  var package_default;
66
66
  var init_package = __esm({
67
67
  "package.json"() {
68
- package_default = { version: "0.6.0-beta.2" };
68
+ package_default = { version: "0.6.1-beta.1" };
69
69
  }
70
70
  });
71
71
 
@@ -1606,8 +1606,8 @@ var init_action_release = __esm({
1606
1606
  "use strict";
1607
1607
  ACTION_REPOSITORY = "plotwork-official/plotwork-action";
1608
1608
  ACTION_RELEASE = {
1609
- version: "1.2.0",
1610
- sha: "35c08022ae999fc36bc881aad0becab4ae1034e0"
1609
+ version: "1.3.0",
1610
+ sha: "877be568308545bc11529b6b4e607374d051f4e4"
1611
1611
  };
1612
1612
  PINNED_ACTION_LINE = `uses: ${ACTION_REPOSITORY}@${ACTION_RELEASE.sha} # v${ACTION_RELEASE.version}`;
1613
1613
  }
@@ -1650,7 +1650,7 @@ var init_view_links = __esm({
1650
1650
  };
1651
1651
  CLI_RELEASE = {
1652
1652
  packageName: "@buun_group/plotwork",
1653
- version: "0.3.0",
1653
+ version: "0.4.0",
1654
1654
  onNpm: true
1655
1655
  };
1656
1656
  CLI_SCHEME_FLAG_SINCE = "0.3.0";
@@ -1667,6 +1667,34 @@ var init_terraform_release = __esm({
1667
1667
  }
1668
1668
  });
1669
1669
 
1670
+ // ../../packages/diagrams/src/constants/azure-devops-release.ts
1671
+ var init_azure_devops_release = __esm({
1672
+ "../../packages/diagrams/src/constants/azure-devops-release.ts"() {
1673
+ "use strict";
1674
+ }
1675
+ });
1676
+
1677
+ // ../../packages/diagrams/src/constants/gitlab-component-release.ts
1678
+ function gitlabComponentInclude(release = GITLAB_COMPONENT_RELEASE) {
1679
+ return `gitlab.com/${release.project}/${release.component}@${release.version}`;
1680
+ }
1681
+ var GITLAB_COMPONENT_RELEASE, GITLAB_COMPONENT_PATH, GITLAB_COMPONENT_INCLUDE;
1682
+ var init_gitlab_component_release = __esm({
1683
+ "../../packages/diagrams/src/constants/gitlab-component-release.ts"() {
1684
+ "use strict";
1685
+ GITLAB_COMPONENT_RELEASE = {
1686
+ /** The project on gitlab.com that holds the component and its releases. */
1687
+ project: "plotwork/plotwork-component",
1688
+ /** The component's name: its template is `templates/<name>.yml`. */
1689
+ component: "plotwork",
1690
+ version: "0.1.0",
1691
+ published: true
1692
+ };
1693
+ GITLAB_COMPONENT_PATH = `gitlab.com/${GITLAB_COMPONENT_RELEASE.project}/${GITLAB_COMPONENT_RELEASE.component}`;
1694
+ GITLAB_COMPONENT_INCLUDE = gitlabComponentInclude();
1695
+ }
1696
+ });
1697
+
1670
1698
  // ../../packages/diagrams/src/constants/style-rules.ts
1671
1699
  var STYLE_RULES, STYLE_RULE_LEVELS, SETTINGS_FILE;
1672
1700
  var init_style_rules = __esm({
@@ -1721,6 +1749,7 @@ function ciSetupWorkflow(options3 = {}) {
1721
1749
  "",
1722
1750
  "permissions:",
1723
1751
  " contents: read",
1752
+ " pull-requests: write",
1724
1753
  ...keyless ? [" id-token: write"] : [],
1725
1754
  "",
1726
1755
  "jobs:",
@@ -1789,7 +1818,7 @@ var init_mcp_release = __esm({
1789
1818
  "use strict";
1790
1819
  MCP_RELEASE = {
1791
1820
  packageName: "@buun_group/plotwork-mcp",
1792
- version: "0.3.0"
1821
+ version: "0.6.0"
1793
1822
  };
1794
1823
  }
1795
1824
  });
@@ -1910,6 +1939,11 @@ var init_generate = __esm({
1910
1939
  banner: "# Generated by plotwork generate",
1911
1940
  /** The trailer of a commit the GitHub Action writes, by which its next run knows the push was its own and stops a loop. */
1912
1941
  commitTrailer: "Plotwork-Generated: true",
1942
+ /**
1943
+ * What a check says of a diagram whose files still make the same diagram and whose pictures (or the Markdown around its fence)
1944
+ * differ, most often because another version of Plotwork drew them: in step, with this notice, never drift.
1945
+ */
1946
+ redrawnNotice: "The pictures were drawn by another version of Plotwork; the meaning is the same. Run generate in write mode to refresh them.",
1913
1947
  /** The pull request branch the Action writes to when the workflow names none. */
1914
1948
  defaultBranch: "plotwork/diagrams"
1915
1949
  };
@@ -4953,21 +4987,40 @@ var init_icon_sets = __esm({
4953
4987
  });
4954
4988
 
4955
4989
  // ../../packages/diagrams/src/constants/label-icons.ts
4956
- var LABEL_ICON_DEFAULTS;
4990
+ var EDGE_STATUS_RULES, LABEL_ICON_DEFAULTS;
4957
4991
  var init_label_icons = __esm({
4958
4992
  "../../packages/diagrams/src/constants/label-icons.ts"() {
4959
4993
  "use strict";
4994
+ EDGE_STATUS_RULES = [
4995
+ { status: "yes", labels: ["y", "ok", "okay", "pass", "passed", "valid", "correct"] },
4996
+ { status: "no", labels: ["n", "invalid", "incorrect"] },
4997
+ { status: "success", labels: ["success", "successful", "succeeded", "done", "complete", "completed", "approved", "accepted"] },
4998
+ { status: "error", labels: ["error", "errors", "failed", "failure", "fail", "rejected", "exception"] },
4999
+ { status: "bug", labels: ["crash", "crashed", "panic", "bug"] },
5000
+ { status: "verified", labels: ["authenticated", "verified", "signed in", "logged in"] },
5001
+ { status: "allowed", labels: ["allowed", "authorized", "authorised", "permitted", "granted", "access granted"] },
5002
+ { status: "denied", labels: ["denied", "wrong audience", "invalid audience", "wrong scope", "invalid signature", "forbidden", "unauthorized", "unauthorised", "unauthenticated", "not authenticated", "not authorized", "not allowed", "access denied", "permission denied"] },
5003
+ { status: "blocked", labels: ["blocked", "banned", "throttled", "rate limited", "rate limit exceeded", "too many requests"] },
5004
+ { status: "warning", labels: ["warning", "warn", "degraded"] },
5005
+ { status: "expired", labels: ["expired", "timeout", "timed out"] },
5006
+ { status: "retry", labels: ["retry", "retrying", "try again"] },
5007
+ { status: "pending", labels: ["pending", "waiting"] },
5008
+ { status: "skipped", labels: ["skip", "skipped"] },
5009
+ { status: "running", labels: ["running", "in progress", "processing"] },
5010
+ { status: "revoked", labels: ["revoked"] }
5011
+ ];
4960
5012
  LABEL_ICON_DEFAULTS = {
4961
5013
  yes: "status:yes",
4962
5014
  no: "status:no",
4963
5015
  true: "status:yes",
4964
- false: "status:no"
5016
+ false: "status:no",
5017
+ ...Object.fromEntries(EDGE_STATUS_RULES.flatMap((rule) => rule.labels.map((label) => [label, `status:${rule.status}`])))
4965
5018
  };
4966
5019
  }
4967
5020
  });
4968
5021
 
4969
5022
  // ../../packages/diagrams/src/constants/label-vocabulary.ts
4970
- var EDGE_STYLES, LABEL_VERB_PHRASES, LABEL_VERB_MAX_WORDS, NOT_VERB_PHRASES, STYLE_STEPS;
5023
+ var EDGE_STYLES, LABEL_VERB_PHRASES, LABEL_CARRIED_THINGS, LABEL_VERB_MAX_WORDS, NOT_VERB_PHRASES, STYLE_STEPS;
4971
5024
  var init_label_vocabulary = __esm({
4972
5025
  "../../packages/diagrams/src/constants/label-vocabulary.ts"() {
4973
5026
  "use strict";
@@ -5222,6 +5275,18 @@ var init_label_vocabulary = __esm({
5222
5275
  resolves: ["resolves", "resolve", "resolves to", "dns lookup", "dns", "resolved by", "resolved to"],
5223
5276
  approves: ["approves", "approve", "reviews", "review", "approved by", "reviewed by", "signs off"]
5224
5277
  };
5278
+ LABEL_CARRIED_THINGS = [
5279
+ { icon: "lucide:key-round", words: ["token", "tokens", "jwt", "jwts", "access token", "id token", "refresh token", "credential", "credentials", "api key", "api keys"] },
5280
+ { icon: "lucide:badge-check", words: ["certificate", "certificates", "cert"] },
5281
+ { icon: "lucide:cookie", words: ["session", "cookie", "cookies"] },
5282
+ { icon: "lucide:mail", words: ["email", "emails"] },
5283
+ { icon: "lucide:message-square-text", words: ["sms"] },
5284
+ { icon: "lucide:webhook", words: ["webhook", "webhooks"] },
5285
+ { icon: "lucide:file-text", words: ["file", "files", "document", "documents", "pdf", "csv"] },
5286
+ { icon: "lucide:image", words: ["image", "images"] },
5287
+ { icon: "lucide:radio", words: ["events", "messages"] },
5288
+ { icon: "lucide:database", words: ["sql"] }
5289
+ ];
5225
5290
  LABEL_VERB_MAX_WORDS = 5;
5226
5291
  NOT_VERB_PHRASES = [
5227
5292
  "read replica",
@@ -5315,6 +5380,8 @@ var init_constants = __esm({
5315
5380
  init_view_links();
5316
5381
  init_action_release();
5317
5382
  init_terraform_release();
5383
+ init_azure_devops_release();
5384
+ init_gitlab_component_release();
5318
5385
  init_ci_setup();
5319
5386
  init_mcp_release();
5320
5387
  init_layout_limits();
@@ -6538,7 +6605,9 @@ var init_logo_catalog_generated = __esm({
6538
6605
  "nats": '<svg xmlns="http://www.w3.org/2000/svg" width="256" height="266" viewBox="0 0 256 266"><path fill="#34a574" d="M128 0h128v103.768H128z"/><path fill="#27aae1" d="M0 0h128v103.768H0z"/><path fill="#8dc63f" d="M256 103.863v103.769h-84.193v57.395l-62.622-57.205l18.815-.76V103.863z"/><path fill="#375c93" d="M128 103.863v120.678l-18.815-16.719H0V103.863z"/><path fill="#fff" d="M181.024 134.177V48.273h30.599v111.086H165.25l-93.6-87.424v87.519H40.956V48.273h47.988z"/></svg>',
6539
6606
  "openshift": '<svg xmlns="http://www.w3.org/2000/svg" width="256" height="237" viewBox="0 0 256 237"><path fill="#da2430" d="m74.84 106.893l-40.869 14.87c.525 6.552 1.652 13.024 3.24 19.366l38.818-14.137c-1.244-6.552-1.689-13.32-1.18-20.1m180.595-45.19c-2.85-5.879-6.147-11.561-9.966-16.916l-40.857 14.87c4.755 4.864 8.743 10.33 12.007 16.176L255.445 61.7z"/><path fill="#da2430" d="M182.95 61.461c-5.14-4.46-10.946-8.31-17.408-11.324h-.003C127.6 32.449 82.33 48.905 64.642 86.859a74 74 0 0 0-2.653 6.487c-2.208 6.423-3.498 12.99-3.991 19.546l-.144.054l-.011.144l-24.596 8.95l-15.826 5.849l-.007-.088l-.434.158c-1.536-19.435 1.74-39.512 10.553-58.411a118 118 0 0 1 3.687-7.246c29.054-54.116 95.164-76.736 150.918-50.33a115.3 115.3 0 0 1 30.557 21.074a116.6 116.6 0 0 1 15.78 17.94L187.618 65.86a80 80 0 0 0-.635-.641l-.113.041a79 79 0 0 0-3.919-3.798"/><path fill="#e82429" d="m19.261 193.896l-.064.024A118.4 118.4 0 0 1 .939 154.347l38.825-14.14l.002.003l.024.125l.252-.093l.006.015c1.994 10.56 6.145 20.635 12.198 29.494a75 75 0 0 0 7.722 9.326l-.154.057l.294.308l-40.488 14.97q-.18-.256-.359-.516"/><path fill="#da2430" d="M173.465 183.447c-21.051 13.017-48.053 15.532-72.113 4.312a75.1 75.1 0 0 1-22.118-15.695l-40.772 14.844l.313.437l-.02.008c11.21 16.016 26.502 29.404 45.266 38.298c40.47 19.163 86.387 12.501 119.634-13.284c14.888-11.152 27.317-26.016 35.713-44.02c8.819-18.895 12.076-38.964 10.515-58.384l-1.136.414q-.022-.312-.047-.624l-40.49 14.957l.002.004a76.5 76.5 0 0 1-6.806 26.46c-6.315 13.753-16.164 24.708-27.94 32.273"/><path fill="#e82429" d="m218.552 75.13l.607-.222v-.001a117.7 117.7 0 0 1 11.454 42.055l-40.773 14.834l.022-.304l-.77.285c1.11-15.088-2.275-30.093-9.435-43.123l38.548-14.25l.002-.004q.174.364.345.73"/><path fill="#c22035" d="M74.89 106.654L34.31 121.65c.52 6.61 1.64 13.136 3.219 19.532l38.546-14.258c-1.247-6.622-1.695-13.438-1.169-20.274m179.321-45.567c-2.83-5.929-6.106-11.658-9.898-17.059L203.76 59.02c4.72 4.906 8.68 10.418 11.92 16.315l38.542-14.256z"/><path fill="#ac223b" d="m34.308 121.653l40.482-14.829l-.165 8.133l-39.056 14.749l-1.266-8.063zm169.458-62.756l41.113-14.108l4.273 6.449l-39.946 14.121l-5.434-6.465z"/><path fill="#b92135" d="m38.764 187.201l40.53-14.749l12.258 11.565l-42.503 15.956l-10.283-12.776zm210.616-77.339l-41.165 14.844l-3.032 16.478l43.892-15.643l.311-15.677z"/></svg>',
6540
6607
  "linode": '<svg xmlns="http://www.w3.org/2000/svg" width="256" height="307" viewBox="0 0 256 307"><path fill="#004711" d="m66.766 141.595l-12.64-83.896L2.919 26.102l15.254 78.884zM78.75 231.81l-8.063-59.49l-45.543-37.698l11.767 58.836zm-36.173-13.292l8.063 44.67l38.788 40.315l-5.448-45.544zm115.71-13.73l-19.938-14.817s-.284 5.306-.817 5.666l-14.546 10.242l15.907 13.074l.927 14.873l18.903 15.417zm60.253-43.472l-3.596 41.893l-13.401-8.825s1.477-21.181 1.47-21.192c-.077-.142-25.822-17.433-25.822-17.433l.817-19.285z"/><path fill="#00b159" d="m133.665 106.947l-3.704-78.012l-75.833 28.764l12.638 83.896zm3.487 88.472l-3.051-59.49l-63.412 36.39l9.37 61.016zm1.089 24.188l-54.26 38.352l6.756 46.85l49.465-39.441zm20.92-15.036l.87 45.326l39.225-31.815l1.96-43.147zm93.429-65.646l-5.121 39.769l-30.671 24.624l3.65-41.784z"/><path d="M140.278 218.847c-.002-.038-.016-.073-.02-.11a1.8 1.8 0 0 0-.107-.46a2 2 0 0 0-.125-.26q-.04-.076-.088-.146a2 2 0 0 0-.202-.234c-.035-.035-.066-.074-.104-.107l-.028-.03l-14.511-11.843l13.343-8.99c.533-.36.839-.966.81-1.603l-.135-3.165l17.692 13.504l.344 41.008l-16.276-13.702zm-71.23-45.953l8.205 56.072l-38.886-36.633l-11.26-54.382zm66.478 21.296l-54.29 36.575l-8.467-57.86l60.384-34.37zm-6.982-163.451l3.229 75.494l-63.888 33.245L56.037 58.6zm-76.24 27.78l11.649 79.516L20.026 103.8L4.5 28.795zm.678 204.375l-8.3-40.105l36.998 36.387l5.926 40.468zm85.558 1.459l-46.91 37.37l-6.238-42.582l51.354-36.742zm58.888-46.95l-36.6 29.192l-.342-41.166l39.383-28.17zm5.109-23.378l1.24-20.395c0-.023-.006-.044-.006-.067c0-.027.009-.052.008-.08c-.001-.08-.022-.158-.034-.237c-.01-.057-.01-.114-.024-.17a2 2 0 0 0-.156-.41l-.014-.034a2 2 0 0 0-.291-.388c-.023-.024-.051-.042-.075-.064c-.074-.07-.146-.141-.232-.2l-24.655-16.282l.359-17.868l38.8 24.178l-3.46 39.993zm15.22 7.196l3.39-39.175l30.623-21.916l-5.147 38.082zM256 136.045c-.002-.035-.015-.067-.02-.102a2 2 0 0 0-.036-.194a2 2 0 0 0-.17-.463a2 2 0 0 0-.181-.27c-.036-.045-.07-.091-.11-.133a2 2 0 0 0-.283-.233c-.032-.022-.055-.053-.09-.073c-.006-.005-.016-.006-.024-.011l-.031-.022l-41.91-23.223a1.84 1.84 0 0 0-1.85.043l-35.374 21.625c-.057.034-.102.083-.154.123c-.063.048-.128.092-.184.148c-.06.059-.106.127-.156.194c-.044.058-.094.112-.13.175c-.046.077-.075.162-.11.245c-.024.063-.057.12-.075.187c-.025.09-.032.184-.043.278c-.007.06-.026.118-.028.18l-.376 18.779l-14.39-9.503a1.84 1.84 0 0 0-1.976-.037l-20.702 12.656l-.897-21.047c-.002-.044-.018-.084-.022-.128a2 2 0 0 0-.048-.273c-.018-.066-.045-.128-.07-.192a2 2 0 0 0-.104-.228c-.037-.065-.081-.123-.125-.183a2 2 0 0 0-.148-.183a2 2 0 0 0-.18-.157c-.04-.032-.072-.072-.115-.102l-21.545-14.471l20.167-10.494a1.85 1.85 0 0 0 .987-1.712l-3.387-79.222c-.004-.097-.027-.19-.046-.284c-.008-.04-.01-.08-.02-.118a1.8 1.8 0 0 0-.188-.45c-.015-.026-.036-.047-.052-.071a1.8 1.8 0 0 0-.253-.311q-.053-.05-.111-.094c-.053-.044-.1-.094-.157-.132c-.045-.03-.096-.046-.143-.072c-.024-.013-.042-.033-.067-.045L76.736.225a1.83 1.83 0 0 0-1.347-.1L1.279 23.209l-.015.008c-.03.009-.056.03-.086.04a1.8 1.8 0 0 0-.391.196l-.011.005c-.041.029-.07.07-.107.102a2 2 0 0 0-.265.249c-.055.068-.092.146-.137.22s-.095.144-.13.224c-.04.096-.06.198-.082.3c-.015.062-.042.118-.051.18c-.001.01.002.019 0 .028c-.01.093 0 .186.005.28c.003.087-.001.173.014.257c.003.014 0 .027.003.04l16.536 79.869c.09.427.323.808.67 1.077l22.444 17.493l-16.226 7.726c-.03.014-.052.036-.08.05c-.025.015-.052.018-.076.032c-.036.022-.06.054-.093.078a2 2 0 0 0-.258.216q-.069.066-.13.138a2 2 0 0 0-.2.315c-.02.04-.047.078-.065.12a1.8 1.8 0 0 0-.133.482v.02c-.003.026.002.052 0 .078q-.017.226.022.447c.003.02-.001.039.003.058l12.44 60.109c.077.372.265.708.54.967l15.622 14.714l-10.352 6.332a2 2 0 0 0-.36.293c-.03.029-.05.062-.076.093q-.135.158-.23.342q-.031.06-.06.122c-.068.16-.122.328-.144.506c-.02.177-.005.352.025.524c.004.019-.001.038.003.058l9.638 46.554c.069.33.228.637.463.886l38.982 41.385c.059.062.127.11.192.164c.024.019.044.04.069.059q.182.132.388.216q.007.006.018.01c.01.005.024.003.036.007c.205.076.42.122.639.122a1.8 1.8 0 0 0 .659-.134c.046-.018.095-.027.14-.05c.076-.036.132-.094.199-.14c.048-.03.103-.045.148-.081l50.145-39.95c.46-.368.716-.931.692-1.516l-1.172-27.43l16.753 14.1c.029.025.067.034.098.057c.095.07.186.144.294.196c.036.016.073.023.109.038q.068.026.136.046c.18.057.362.096.547.096c.18 0 .358-.037.535-.091q.06-.019.122-.042c.042-.016.085-.024.126-.043c.093-.044.168-.108.25-.165c.036-.025.078-.035.112-.062l40.197-32.056c.409-.33.657-.81.689-1.332l1.223-20.115l12.23 8.513c.026.017.055.023.08.039c.036.022.063.054.1.074c.072.038.149.057.223.085c.05.019.099.042.152.057c.162.045.328.074.494.074c.18 0 .36-.036.537-.09q.06-.018.12-.04c.04-.016.084-.024.125-.042c.1-.048.186-.115.274-.178c.029-.02.064-.028.092-.05l32.79-26.134a1.85 1.85 0 0 0 .678-1.195l5.817-43.041c.006-.046-.005-.09-.002-.136c.004-.073.019-.143.015-.217"/></svg>',
6608
+ "playwright": '<svg xmlns="http://www.w3.org/2000/svg" width="256" height="192" viewBox="0 0 256 192"><path fill="#2d4552" d="M84.38 108.352c-9.556 2.712-15.826 7.467-19.956 12.218c3.956-3.461 9.255-6.639 16.402-8.665c7.311-2.072 13.548-2.057 18.702-1.062v-4.03c-4.397-.402-9.437-.082-15.148 1.539M63.987 74.475l-35.49 9.35s.646.914 1.844 2.133l30.092-7.93s-.427 5.495-4.13 10.41c7.005-5.299 7.684-13.963 7.684-13.963m29.709 83.41c-49.946 13.452-76.37-44.43-84.37-74.472c-3.696-13.868-5.31-24.37-5.74-31.148a11.5 11.5 0 0 1 .025-1.84C1.021 50.58-.22 51.927.032 55.82c.43 6.773 2.044 17.275 5.74 31.147c7.997 30.038 34.424 87.92 84.37 74.468c10.871-2.929 19.038-8.263 25.17-15.073c-5.652 5.104-12.724 9.123-21.616 11.523M103.08 39.05v3.555h19.59c-.401-1.259-.806-2.393-1.208-3.555z"/><path fill="#2d4552" d="M127.05 68.325c8.81 2.503 13.47 8.68 15.933 14.146l9.824 2.79s-1.34-19.132-18.645-24.047c-16.189-4.6-26.151 8.995-27.363 10.754c4.71-3.355 11.586-6.102 20.251-3.643m78.197 14.234c-16.204-4.62-26.162 9.003-27.356 10.737c4.713-3.351 11.586-6.099 20.247-3.629c8.797 2.506 13.452 8.676 15.923 14.146l9.837 2.8s-1.361-19.135-18.651-24.054m-9.76 50.443l-81.718-22.845s.885 4.485 4.279 10.293l68.803 19.234c5.664-3.277 8.636-6.682 8.636-6.682m-56.655 49.174C74.127 164.828 81.949 82.386 92.419 43.32c4.311-16.1 8.743-28.066 12.419-36.088c-2.193-.451-4.01.704-5.804 4.354C95.13 19.5 90.14 32.387 85.312 50.427c-10.467 39.066-18.29 121.506 46.412 138.854c30.497 8.17 54.256-4.247 71.966-23.749c-16.81 15.226-38.274 23.763-64.858 16.644"/><path fill="#e2574c" d="M103.081 138.565v-16.637l-46.223 13.108s3.415-19.846 27.522-26.684c7.311-2.072 13.549-2.058 18.701-1.063V39.05h23.145c-2.52-7.787-4.958-13.782-7.006-17.948c-3.387-6.895-6.859-2.324-14.741 4.269c-5.552 4.638-19.583 14.533-40.698 20.222c-21.114 5.694-38.185 4.184-45.307 2.95c-10.097-1.742-15.378-3.96-14.884 3.721c.43 6.774 2.043 17.277 5.74 31.148c7.996 30.039 34.424 87.92 84.37 74.468c13.046-3.515 22.254-10.464 28.637-19.32h-19.256zm-74.588-54.74l35.494-9.35s-1.034 13.654-14.34 17.162c-13.31 3.504-21.154-7.812-21.154-7.812"/><path fill="#2ead33" d="M236.664 39.84c-9.226 1.617-31.361 3.632-58.716-3.7c-27.363-7.328-45.517-20.144-52.71-26.168c-10.197-8.54-14.682-14.476-19.096-5.498c-3.902 7.918-8.893 20.805-13.723 38.846c-10.466 39.066-18.289 121.505 46.413 138.853c64.687 17.333 99.126-57.978 109.593-97.047c4.83-18.037 6.948-31.695 7.53-40.502c.665-9.976-6.187-7.08-19.29-4.784M106.668 72.161s10.196-15.859 27.49-10.943c17.305 4.915 18.645 24.046 18.645 24.046zm42.215 71.163c-30.419-8.91-35.11-33.167-35.11-33.167l81.714 22.846c0-.004-16.494 19.12-46.604 10.32m28.89-49.85s10.183-15.847 27.474-10.918c17.29 4.923 18.651 24.054 18.651 24.054z"/><path fill="#d65348" d="m86.928 126.51l-30.07 8.522s3.266-18.609 25.418-25.983L65.25 45.147l-1.471.447c-21.115 5.694-38.185 4.184-45.307 2.95c-10.097-1.741-15.379-3.96-14.885 3.722c.43 6.774 2.044 17.276 5.74 31.147c7.997 30.039 34.425 87.92 84.37 74.468l1.471-.462zM28.493 83.825l35.494-9.351s-1.034 13.654-14.34 17.162c-13.31 3.504-21.154-7.811-21.154-7.811"/><path fill="#1d8d22" d="m150.255 143.658l-1.376-.335c-30.419-8.91-35.11-33.166-35.11-33.166l42.137 11.778l22.308-85.724l-.27-.07c-27.362-7.329-45.516-20.145-52.71-26.17c-10.196-8.54-14.682-14.475-19.096-5.497c-3.898 7.918-8.889 20.805-13.719 38.846c-10.466 39.066-18.289 121.505 46.413 138.852l1.326.3zM106.668 72.16s10.196-15.859 27.49-10.943c17.305 4.915 18.645 24.046 18.645 24.046z"/><path fill="#c04b41" d="m88.46 126.072l-8.064 2.289c1.906 10.74 5.264 21.047 10.534 30.152c.918-.202 1.828-.376 2.762-.632c2.449-.66 4.72-1.479 6.906-2.371c-5.89-8.74-9.785-18.804-12.137-29.438m-3.148-75.644c-4.144 15.467-7.852 37.73-6.831 60.06c1.826-.793 3.756-1.532 5.9-2.14l1.492-.334c-1.82-23.852 2.114-48.157 6.546-64.694a323 323 0 0 1 3.373-11.704a105 105 0 0 1-5.974 3.547a307 307 0 0 0-4.506 15.265"/></svg>',
6541
6609
  "launchdarkly": '<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 256 256"><path d="M129.865 255.306a5.64 5.64 0 0 1-5.073-3.157a5.36 5.36 0 0 1 .507-5.637l59.98-82.584l-105.02 42.899a5.8 5.8 0 0 1-2.255.479a5.64 5.64 0 0 1-5.384-4.059a5.41 5.41 0 0 1 2.311-6.172l92.365-54.54l-162.632-9.357a5.637 5.637 0 0 1 0-11.106l162.717-9.33l-92.393-54.538a5.41 5.41 0 0 1-2.311-6.173a5.64 5.64 0 0 1 5.355-4.059a5.2 5.2 0 0 1 2.255.507l105.048 42.955l-59.98-82.555a5.36 5.36 0 0 1-.507-5.638A5.64 5.64 0 0 1 129.894 0c1.48.01 2.894.62 3.917 1.691L253.347 121.2a9.076 9.076 0 0 1 0 12.824L133.755 253.672a5.44 5.44 0 0 1-3.89 1.634"/></svg>',
6610
+ "sigstore": '<svg xmlns="http://www.w3.org/2000/svg" width="256" height="275" viewBox="0 0 256 275"><path fill="#2f2e71" d="M252.93 99.17c-2.73-10.918-8.189-20.016-15.468-28.204c-5.458-6.369-11.827-11.828-18.196-18.197q-9.554-8.187-13.647-19.106c-1.82-3.639-3.64-7.278-6.369-10.918c-4.549-6.368-11.828-10.917-19.106-14.557C168.316 1.82 155.579 0 141.932 0q-10.918 0-21.836 2.73C109.178 4.55 99.17 9.097 89.162 14.556c-6.369 3.64-11.827 8.188-17.286 12.738C62.777 34.573 53.679 41.852 46.4 50.95c-5.46 7.278-12.738 11.827-20.016 16.377c-7.279 3.639-12.738 9.098-18.197 14.557Q0 90.072 0 100.99c0 5.459.91 10.918 1.82 15.467c1.82 8.188 5.459 15.467 8.188 23.655q2.73 6.823 2.73 13.647c0 4.55 0 9.098-.91 13.647c-.91 10.008 0 20.926 1.82 30.934c1.819 9.098 7.278 16.377 16.376 20.016c.91.91 2.73.91 3.64.91c1.819.91 1.819 1.82.91 2.73l-.91.91c-3.64 4.548-6.37 10.007-5.46 16.376c.91 10.008 11.828 16.377 20.926 11.828c5.46-1.82 10.918 0 12.738 3.639c.91.91.91 1.82 1.82 2.73c1.819 4.549 3.639 8.188 6.368 11.827c3.64 4.55 8.188 6.369 14.557 5.459c3.64-.91 7.279-1.82 10.918-3.64c6.369-3.639 11.828-8.188 18.196-13.647c1.82-1.82 3.64-1.82 6.369-1.82c3.64 0 7.278 1.82 10.918 4.55c5.459 3.64 10.918 6.369 17.286 8.188c11.828 3.64 22.746 4.55 34.573 1.82s21.836-8.188 30.934-14.557c6.369-4.55 10.918-9.098 14.557-15.467s5.46-12.738 7.279-20.016c2.73-10.008 3.64-20.016 3.64-30.934c.909-9.098 1.819-17.286 4.548-25.475c1.82-6.369 4.55-12.737 7.279-19.106c1.82-5.459 3.639-10.918 4.549-17.287c.91-10.007 0-19.106-2.73-28.204M135.562 7.28c2.73-.91 6.369-.91 9.098-.91h2.73c10.007 0 19.106 1.82 28.204 4.549c5.459 1.82 10.918 5.459 15.467 9.098s6.368 8.188 8.188 12.737v.91c0 .91 0 1.82-.91 1.82s-.91 0-1.82-.91c-3.639-3.64-6.368-7.278-10.007-10.008c-5.46-4.549-10.918-8.188-18.197-10.008c-10.008-2.73-19.106-4.549-29.114-6.369h-5.459c.91 0 .91 0 1.82-.91c-.91 0 0 0 0 0M94.62 120.096c5.459 0 10.008 4.549 10.918 10.918c0 5.459-4.55 10.918-10.918 10.918c-5.459 0-10.918-4.55-10.008-10.918c0-6.369 4.55-10.918 10.008-10.918m34.573 11.828V100.99c0-20.926 18.196-28.205 32.754-22.746c2.729.91 5.458 2.73 8.188 4.55c1.82 1.82 1.82 4.549.91 7.278c-1.82 1.82-3.64 2.73-6.369.91c-1.82-.91-4.55-1.82-6.369-2.73c-5.459-1.82-11.827 0-14.557 3.64c-.91 1.82-1.82 3.639-1.82 6.368c-.91 4.55 0 8.189 0 12.738v53.679c0 10.918-5.458 19.106-16.376 21.836c-9.098 2.73-17.287 1.82-24.565-5.46c-1.82-1.819-2.73-4.548-.91-6.368c.91-1.82 3.64-2.73 6.369-1.82c2.73.91 5.459 2.73 8.188 3.64c9.098.91 15.467-2.73 15.467-12.738c-.91-10.918-.91-20.926-.91-31.843M49.13 201.07h-.91c-.91-.91-1.82-.91-2.73-1.82c-1.819-1.82-3.638-2.73-5.458-4.549c-2.73-2.73-4.55-5.459-6.369-9.098c-3.639-7.279-7.278-15.467-9.098-24.565c-.91-4.55-1.82-9.098-1.82-13.648s-.91-9.098-1.82-12.737c-.909-6.369-1.819-13.647-1.819-20.016c0-8.188.91-15.467 3.64-22.745c2.729-8.189 6.368-15.467 12.737-21.836c5.459-5.459 10.008-10.918 15.467-16.377c.91-.91 2.73-1.82 3.64-1.82c0 .91-.91 2.73-1.82 3.64c-2.73 3.64-5.46 6.369-8.189 10.008q-6.823 8.188-10.918 16.377c-3.639 6.368-6.368 12.737-8.188 20.016c-.91 3.639-1.82 7.278-1.82 10.917s-.91 7.279 0 11.828c0 5.459.91 10.008 1.82 14.557c.91 5.459 1.82 10.008 1.82 15.467c0 6.369 1.82 12.737 3.639 19.106c0 1.82 1.82 2.73 1.82 4.55c2.729 5.458 5.458 10.007 10.007 13.647c1.82 1.82 3.64 4.549 5.46 6.368c0 0 0 .91.91.91zm23.655 22.745c-3.639 0-6.368.91-10.008 1.82s-5.458-.91-6.368-4.55c0-.91-.91-2.729 0-3.639c.91-2.729 2.73-2.729 4.549-.91c1.82 1.82 4.549 3.64 6.369 4.55c.91.91 1.82.91 3.639.91c.91 0 1.82.91 3.64 1.82zm69.147 19.106c-2.73 1.82-6.37 2.73-10.008 2.73c-2.73 0-5.46-.91-8.189-.91h-1.82c-3.639.91-6.368.91-10.007 1.82c-.91 0-2.73 0-3.64.91h-8.188c-3.64 0-6.369-1.82-9.098-4.55c-.91-.91-1.82-2.73-2.73-4.549c-.91-.91-.91-1.82-.91-3.639c0-.91.91-.91 1.82-.91h.91c4.55 2.73 10.008 3.64 14.557 4.55c6.369.91 12.738 1.819 19.106 1.819c3.64 0 6.369.91 10.008.91h7.279c1.82.91.91.91.91 1.82m33.663-22.745c-6.369 3.64-13.647 6.369-20.926 8.188c-1.82 0-4.55.91-6.369.91c-1.82 0-4.549 0-6.368.91c-3.64.91-7.279 0-10.918 0c-2.73 0-5.46-.91-8.189 0h-1.82c-3.638-.91-8.188-1.82-11.827-2.73c-4.549-.91-9.098-2.729-12.737-4.549c-3.64-.91-7.279-2.73-10.008-4.549c-1.82-.91-3.64-2.73-5.46-3.639c-5.458-5.459-10.917-10.008-15.466-14.557c-3.64-4.55-7.279-8.188-10.918-12.738c-3.64-5.458-6.369-10.917-9.098-17.286l-2.73-8.188c-.91-2.73-1.82-4.55-1.82-7.279v-7.279c2.73 7.279 4.55 15.467 8.19 22.746c6.368 14.557 15.466 27.294 27.294 37.302c12.737 10.008 26.384 16.377 41.851 19.107c8.189 1.82 16.377 1.82 24.565 1.82c10.008-.91 20.016-2.73 29.115-7.28c1.82-.91 2.729-1.819 4.549-1.819c0 .91 0 .91-.91.91m.91-79.154c-5.46 0-10.008-4.55-10.008-10.918c0-5.459 4.549-10.918 10.917-10.918c5.46 0 10.008 4.55 10.008 10.918c0 6.369-4.549 11.828-10.917 10.918m56.408 51.86c0 3.639-.91 7.278-1.82 10.917s-.91 8.189-2.729 11.828c-.91 3.64-1.82 6.369-3.639 10.008c-.91 2.73-2.73 5.459-5.459 7.278c-2.73 1.82-4.549 3.64-8.188 4.55c-3.64 1.82-6.369 2.729-10.918 2.729h-8.189c-1.82-.91-1.82-.91-.91-2.73s2.73-2.729 4.55-3.639c2.73-1.82 5.459-4.549 7.278-6.369c6.37-6.368 11.828-14.557 17.287-21.835c3.64-3.64 5.459-9.098 8.188-13.647c.91-.91.91-1.82 1.82-2.73c2.73 1.82 2.73 2.73 2.73 3.64M96.441 40.031c15.467-7.279 31.843-10.008 48.22-8.188c3.64 0 7.279.91 10.008 2.73l16.377 5.458c5.459 1.82 10.918 4.55 15.467 7.279c6.368 3.639 11.827 8.188 17.286 13.647c7.279 7.278 13.647 14.557 18.197 23.655c2.729 5.459 4.549 10.918 6.368 16.377c1.82 6.369 3.64 13.647 3.64 20.016v8.188c0 3.64-.91 7.279-.91 10.918v-9.098c0-10.918-2.73-20.926-5.46-30.934l-5.458-13.647c-1.82-5.46-4.55-10.008-8.188-14.557c-.91-.91-2.73-.91-3.64-1.82c-.91 0-.91 0-1.82-.91c-4.548-4.549-10.007-9.098-15.466-13.647c-7.279-5.459-15.467-10.008-23.656-12.738c-3.639-1.82-7.278-2.729-10.917-3.639c-8.189-1.82-16.377-3.64-24.565-2.73h-8.189c-2.73 0-5.459.91-9.098 1.82c-5.459.91-10.918 2.73-15.467 4.55h-.91s-.91 0 0-.91c0 0 0-.91-.91-1.82m147.391 100.99c-.91-7.279 0-15.467 0-22.746c-.91-7.278-1.82-14.557-3.64-21.835c4.55 6.368 5.46 14.557 6.37 21.835c0 7.279 0 15.467-2.73 22.746m5.459 4.549c0-2.73.91-6.369 1.82-10.008c.91-3.64.91-8.188.91-11.828v-3.639c0-7.279-1.82-14.557-3.64-21.836c-3.64-8.188-7.278-14.557-12.737-21.835c-4.55-5.46-8.189-10.918-12.738-16.377l-1.82-1.82c.91 0 .91 0 .91.91c9.099 7.279 16.377 14.557 21.836 24.565c4.55 9.098 8.188 18.197 9.098 28.205c2.73 11.827.91 22.745-3.64 33.663"/></svg>',
6542
6611
  "oracle": '<svg xmlns="http://www.w3.org/2000/svg" width="512" height="67" viewBox="0 0 512 67"><path fill="#ea1b22" d="M221.034 43.303h33.832l-17.889-28.781l-32.833 52.037h-14.942l39.935-62.508c1.736-2.525 4.63-4.051 7.84-4.051c3.104 0 5.998 1.473 7.682 3.946l40.093 62.613H269.81l-7.05-11.628h-34.253zM376.251 54.93V.631h-12.68v59.614c0 1.631.631 3.21 1.841 4.42s2.841 1.894 4.63 1.894h57.825l7.472-11.628zm-209.78-9.734c12.313 0 22.31-9.944 22.31-22.256c0-12.313-9.997-22.31-22.31-22.31h-55.473v65.93h12.676v-54.3h41.956c5.893 0 10.628 4.789 10.628 10.682c0 5.892-4.735 10.68-10.628 10.68l-35.747-.052l37.851 32.99h18.416l-25.466-21.362zM32.97 66.559C14.77 66.56 0 51.827 0 33.622C0 15.416 14.77.632 32.97.632h38.32c18.204 0 32.963 14.784 32.963 32.99c0 18.205-14.759 32.937-32.964 32.937zm37.468-11.628c11.791 0 21.341-9.524 21.341-21.31S82.228 12.26 70.437 12.26h-36.62c-11.787 0-21.342 9.576-21.342 21.362S22.03 54.93 33.816 54.93zm240.78 11.628c-18.204 0-32.99-14.732-32.99-32.937c0-18.206 14.786-32.99 32.99-32.99h45.514l-7.42 11.628H312.06c-11.786 0-21.362 9.576-21.362 21.362s9.576 21.309 21.362 21.309h45.723l-7.472 11.628zm155.06-11.628c-9.734 0-17.995-6.524-20.52-15.522h54.194l7.471-11.628h-61.665c2.525-8.945 10.786-15.521 20.52-15.521h37.2L511 .63h-45.565c-18.205 0-32.99 14.785-32.99 32.99s14.785 32.938 32.99 32.938h39.094L512 54.931z"/></svg>',
6543
6612
  "microsoft": '<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 256 256"><path fill="#f1511b" d="M121.666 121.666H0V0h121.666z"/><path fill="#80cc28" d="M256 121.666H134.335V0H256z"/><path fill="#00adef" d="M121.663 256.002H0V134.336h121.663z"/><path fill="#fbbc09" d="M256 256.002H134.335V134.336H256z"/></svg>',
6544
6613
  "windows": '<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 256 256"><path fill="#0078d4" d="M0 0h121.329v121.329H0zm134.671 0H256v121.329H134.671zM0 134.671h121.329V256H0zm134.671 0H256V256H134.671z"/></svg>',
@@ -10061,19 +10130,29 @@ var init_simple_catalog_generated = __esm({
10061
10130
  "googlechrome": '<path d="M12 0C8.21 0 4.831 1.757 2.632 4.501l3.953 6.848A5.454 5.454 0 0 1 12 6.545h10.691A12 12 0 0 0 12 0zM1.931 5.47A11.943 11.943 0 0 0 0 12c0 6.012 4.42 10.991 10.189 11.864l3.953-6.847a5.45 5.45 0 0 1-6.865-2.29zm13.342 2.166a5.446 5.446 0 0 1 1.45 7.09l.002.001h-.002l-5.344 9.257c.206.01.413.016.621.016 6.627 0 12-5.373 12-12 0-1.54-.29-3.011-.818-4.364zM12 16.364a4.364 4.364 0 1 1 0-8.728 4.364 4.364 0 0 1 0 8.728Z"/>',
10062
10131
  "firefox": '<path d="M20.452 3.445a11.002 11.002 0 00-2.482-1.908C16.944.997 15.098.093 12.477.032c-.734-.017-1.457.03-2.174.144-.72.114-1.398.292-2.118.56-1.017.377-1.996.975-2.574 1.554.583-.349 1.476-.733 2.55-.992a10.083 10.083 0 013.729-.167c2.341.34 4.178 1.381 5.48 2.625a8.066 8.066 0 011.298 1.587c1.468 2.382 1.33 5.376.184 7.142-.85 1.312-2.67 2.544-4.37 2.53-.583-.023-1.438-.152-2.25-.566-2.629-1.343-3.021-4.688-1.118-6.306-.632-.136-1.82.13-2.646 1.363-.742 1.107-.7 2.816-.242 4.028a6.473 6.473 0 01-.59-1.895 7.695 7.695 0 01.416-3.845A8.212 8.212 0 019.45 5.399c.896-1.069 1.908-1.72 2.75-2.005-.54-.471-1.411-.738-2.421-.767C8.31 2.583 6.327 3.061 4.7 4.41a8.148 8.148 0 00-1.976 2.414c-.455.836-.691 1.659-.697 1.678.122-1.445.704-2.994 1.248-4.055-.79.413-1.827 1.668-2.41 3.042C.095 9.37-.2 11.608.14 13.989c.966 5.668 5.9 9.982 11.843 9.982C18.62 23.971 24 18.591 24 11.956a11.93 11.93 0 00-3.548-8.511z"/>',
10063
10132
  "safari": '<path d="M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm-.004.953h.006c.063 0 .113.05.113.113v1.842c0 .063-.05.113-.113.113h-.006a.112.112 0 0 1-.113-.113V1.066c0-.063.05-.113.113-.113zm-.941.041c.056.001.104.046.11.104l.077.918a.112.112 0 0 1-.101.12h-.01a.11.11 0 0 1-.12-.1l-.08-.919a.112.112 0 0 1 .102-.12h.01l.012-.003zm1.892 0H12.965a.113.113 0 0 1 .103.121l-.08.92a.111.111 0 0 1-.12.102h-.009a.111.111 0 0 1-.101-.121l.078-.92a.112.112 0 0 1 .111-.102zm-2.838.123a.11.11 0 0 1 .106.092l.32 1.818c.01.06-.03.119-.09.13l-.01.001a.111.111 0 0 1-.128-.09l-.32-1.818a.111.111 0 0 1 .09-.129l.01-.002a.103.103 0 0 1 .022-.002zm3.784.002h.021l.008.002c.061.01.102.07.092.131l-.32 1.814c-.011.062-.07.101-.132.09h-.005a.113.113 0 0 1-.092-.13l.32-1.815a.111.111 0 0 1 .108-.092zm-4.715.203c.048.002.09.035.103.084l.239.893a.112.112 0 0 1-.079.139l-.005.001a.114.114 0 0 1-.14-.08l-.237-.894a.11.11 0 0 1 .078-.137l.006-.002a.123.123 0 0 1 .035-.004zm5.644 0a.11.11 0 0 1 .033.004l.006.002c.06.016.097.079.08.139l-.24.892a.112.112 0 0 1-.137.08l-.005-.002a.114.114 0 0 1-.08-.138l.24-.893a.112.112 0 0 1 .103-.084zm-6.562.285a.11.11 0 0 1 .107.073L9 3.42a.107.107 0 0 1-.064.139l-.012.005a.11.11 0 0 1-.14-.066L8.15 1.76a.11.11 0 0 1 .065-.14l.014-.005a.106.106 0 0 1 .03-.008zm7.469.002c.014 0 .028.001.042.006l.012.006c.057.02.087.082.067.139l-.633 1.738a.11.11 0 0 1-.14.066l-.013-.003A.11.11 0 0 1 15 3.42l.633-1.738a.108.108 0 0 1 .096-.073zm-8.352.366a.112.112 0 0 1 .105.064l.393.838a.112.112 0 0 1-.055.148l-.008.004a.11.11 0 0 1-.146-.054l-.395-.838a.112.112 0 0 1 .055-.149l.008-.004a.11.11 0 0 1 .043-.01zm9.246 0a.11.11 0 0 1 .043.01l.006.003a.11.11 0 0 1 .053.149l-.391.838a.112.112 0 0 1-.148.054l-.006-.002a.112.112 0 0 1-.055-.148l.393-.84a.112.112 0 0 1 .105-.064zm-10.092.44c.04-.002.08.018.102.056l.922 1.597a.113.113 0 0 1-.041.155l-.006.002a.113.113 0 0 1-.154-.041l-.922-1.598a.113.113 0 0 1 .04-.154l.007-.002a.11.11 0 0 1 .052-.016zm10.94.001c.018 0 .035.004.052.014l.004.002a.114.114 0 0 1 .041.156l-.923 1.596a.114.114 0 0 1-.157.04l-.004-.001a.112.112 0 0 1-.04-.155l.925-1.595a.113.113 0 0 1 .102-.057zM5.729 2.93a.11.11 0 0 1 .093.047l.532.753a.114.114 0 0 1-.028.159l-.004.002a.114.114 0 0 1-.158-.028l-.531-.752a.114.114 0 0 1 .027-.158l.006-.002a.113.113 0 0 1 .063-.021zm12.542 0a.11.11 0 0 1 .063.02l.006.003a.112.112 0 0 1 .027.156l-.531.756a.112.112 0 0 1-.156.028l-.006-.004a.112.112 0 0 1-.028-.157l.532-.755a.11.11 0 0 1 .093-.047zm.747.578a.11.11 0 0 1 .08.027l.006.004c.047.04.053.111.013.158L17.932 5.11a.11.11 0 0 1-.157.016l-.005-.006a.11.11 0 0 1-.014-.156l1.185-1.414a.114.114 0 0 1 .077-.041zM4.984 3.51a.11.11 0 0 1 .077.039L6.244 4.96a.112.112 0 0 1-.014.158l-.003.004a.112.112 0 0 1-.159-.014L4.883 3.697a.112.112 0 0 1 .013-.158l.006-.004a.111.111 0 0 1 .082-.025zm-.714.64c.027 0 .055.01.076.032l.658.66a.107.107 0 0 1 0 .152l-.01.01a.107.107 0 0 1-.152 0l-.66-.658a.11.11 0 0 1 0-.155l.01-.01a.111.111 0 0 1 .078-.03zm15.462 0c.028 0 .055.01.077.032l.007.007a.109.109 0 0 1 0 .155l-.658.66a.109.109 0 0 1-.154 0l-.008-.008a.109.109 0 0 1 0-.154l.658-.66a.11.11 0 0 1 .078-.032zm.707.66c.038 0 .071.02.092.075a.112.112 0 0 1-.023.117l-7.606 8.08c-3.084 2.024-6.149 4.04-9.222 6.05-.078.051-.17.082-.211-.028a.112.112 0 0 1 .023-.118l7.594-8.08c3.084-2.023 6.161-4.039 9.234-6.049a.247.247 0 0 1 .12-.046zm-16.824.045a.109.109 0 0 1 .08.026l1.416 1.187a.11.11 0 0 1 .014.157l-.006.005a.11.11 0 0 1-.156.014L3.549 5.057a.109.109 0 0 1-.014-.155l.006-.007a.108.108 0 0 1 .074-.04zm17.336.756c.036 0 .072.017.094.05l.004.003a.114.114 0 0 1-.028.158l-.753.53a.112.112 0 0 1-.157-.028l-.004-.004a.114.114 0 0 1 .028-.158l.754-.53a.113.113 0 0 1 .062-.02zm-17.904.002c.02 0 .042.007.06.02l.76.531c.05.035.06.103.026.152l-.006.01a.109.109 0 0 1-.153.026l-.76-.532a.109.109 0 0 1-.025-.152l.006-.01a.108.108 0 0 1 .092-.045zm-.512.803c.018 0 .036.006.053.016l1.596.923a.111.111 0 0 1 .04.153l-.003.006a.111.111 0 0 1-.153.04L2.473 6.63a.111.111 0 0 1-.041-.152l.004-.006a.11.11 0 0 1 .1-.055zm18.932 0a.11.11 0 0 1 .1.055l.001.004a.113.113 0 0 1-.04.154l-1.596.926a.113.113 0 0 1-.155-.041l-.002-.004a.113.113 0 0 1 .041-.155l1.596-.925a.115.115 0 0 1 .055-.014zm-19.373.846c.014 0 .029.003.043.01l.838.392a.11.11 0 0 1 .052.147l-.004.01a.11.11 0 0 1-.146.052l-.838-.393a.11.11 0 0 1-.053-.146l.004-.01a.109.109 0 0 1 .104-.062zm19.81.002a.11.11 0 0 1 .106.062l.002.008a.11.11 0 0 1-.053.146l-.838.393a.11.11 0 0 1-.146-.053l-.004-.008a.11.11 0 0 1 .052-.146l.838-.393a.11.11 0 0 1 .043-.01zm-20.183.88c.014 0 .028.001.043.006l1.732.631a.112.112 0 0 1 .067.145l-.002.006a.11.11 0 0 1-.143.066l-1.732-.63a.113.113 0 0 1-.069-.145l.002-.004a.115.115 0 0 1 .102-.074zm20.549 0a.113.113 0 0 1 .11.075l.003.004a.115.115 0 0 1-.069.146l-1.732.629a.112.112 0 0 1-.145-.066l-.001-.006a.113.113 0 0 1 .068-.145l1.732-.63a.11.11 0 0 1 .034-.006zm-20.836.909a.11.11 0 0 1 .033.004l.892.24c.06.016.096.077.08.137l-.002.007a.11.11 0 0 1-.136.079l-.895-.239a.113.113 0 0 1-.078-.138l.002-.006a.113.113 0 0 1 .104-.084zm21.13.002a.115.115 0 0 1 .106.084v.004a.112.112 0 0 1-.078.138l-.893.239a.112.112 0 0 1-.138-.079v-.005a.112.112 0 0 1 .078-.14l.892-.237a.11.11 0 0 1 .033-.004zm-21.335.93.023.001 1.814.323c.062.01.101.069.09.13v.006a.111.111 0 0 1-.13.09l-1.815-.322a.113.113 0 0 1-.092-.131l.002-.006a.11.11 0 0 1 .108-.092zm21.519.001h.022c.052.002.1.038.109.092v.006c.01.062-.03.12-.092.13l-1.814.321a.113.113 0 0 1-.131-.092v-.005a.113.113 0 0 1 .092-.131l1.814-.32zm-21.644.944h.011l.922.084a.11.11 0 0 1 .102.119l-.002.01a.11.11 0 0 1-.121.1l-.922-.083a.11.11 0 0 1-.1-.12v-.009a.111.111 0 0 1 .11-.101zm21.779.002h.012c.056 0 .106.043.11.101v.008a.111.111 0 0 1-.1.121l-.923.08a.111.111 0 0 1-.12-.101v-.008a.111.111 0 0 1 .1-.121l.92-.08zm-11.82.73L6.091 16.95c2.02-1.324 4.039-2.646 6.066-3.976l-1.095-1.31zm11.87.219c.063 0 .114.05.114.113v.004c0 .063-.05.113-.113.113l-1.844.004a.113.113 0 0 1-.113-.113v-.004c0-.063.05-.113.113-.113l1.844-.004zm-21.869.002h1.844c.062 0 .112.05.112.111v.008c0 .062-.05.111-.112.111H1.064a.111.111 0 0 1-.11-.111v-.008c0-.061.049-.111.11-.111zm.952.875h.011a.11.11 0 0 1 .11.101v.006a.111.111 0 0 1-.102.121l-.922.08a.11.11 0 0 1-.119-.101l-.002-.006a.111.111 0 0 1 .102-.121l.922-.08zm19.955 0h.011l.922.08a.11.11 0 0 1 .102.119v.008a.112.112 0 0 1-.121.101l-.922-.08a.11.11 0 0 1-.102-.119v-.008a.111.111 0 0 1 .11-.101zm-18.924.705c.053.001.098.04.107.094l.002.004c.011.061-.03.12-.092.13l-1.812.32a.113.113 0 0 1-.13-.091v-.004a.115.115 0 0 1 .09-.133l1.811-.318a.117.117 0 0 1 .024-.002zm17.902 0c.008 0 .016 0 .024.002l1.816.32c.061.011.1.07.09.131v.004a.113.113 0 0 1-.131.092l-1.816-.32a.112.112 0 0 1-.09-.131v-.004a.113.113 0 0 1 .107-.094zM2.332 14.477a.11.11 0 0 1 .104.082l.002.005c.016.06-.02.121-.08.137l-.891.24a.112.112 0 0 1-.137-.08l-.002-.006a.112.112 0 0 1 .08-.136l.89-.239a.112.112 0 0 1 .034-.003zm19.332 0c.011 0 .024 0 .035.003l.893.239c.06.016.096.077.08.136l-.002.006a.111.111 0 0 1-.137.078l-.894-.238a.111.111 0 0 1-.078-.137l.002-.005a.109.109 0 0 1 .101-.082zm-18.213.517a.11.11 0 0 1 .11.074l.002.004a.112.112 0 0 1-.067.145l-1.732.63a.113.113 0 0 1-.145-.068l-.002-.004a.113.113 0 0 1 .069-.144L3.418 15a.11.11 0 0 1 .033-.006zm17.086 0c.015 0 .029 0 .043.006l1.734.63a.111.111 0 0 1 .067.143l-.002.008a.111.111 0 0 1-.143.067l-1.734-.631a.111.111 0 0 1-.066-.143l.002-.008a.111.111 0 0 1 .1-.072zM2.92 16.117a.109.109 0 0 1 .103.063l.004.01a.108.108 0 0 1-.052.144l-.838.393a.11.11 0 0 1-.147-.055l-.004-.008a.11.11 0 0 1 .053-.146l.838-.391a.112.112 0 0 1 .043-.01zm18.158 0a.11.11 0 0 1 .043.01l.838.39c.056.027.08.093.055.149l-.002.004a.112.112 0 0 1-.149.055l-.838-.391a.112.112 0 0 1-.054-.148l.002-.004a.112.112 0 0 1 .105-.065zm-16.957.315c.04-.001.078.02.1.056l.004.004a.11.11 0 0 1-.041.153l-1.596.921a.113.113 0 0 1-.154-.04l-.002-.005a.113.113 0 0 1 .04-.154l1.596-.922a.109.109 0 0 1 .053-.013zm15.756 0c.018 0 .036.004.053.013l1.597.924a.11.11 0 0 1 .041.152l-.002.004a.11.11 0 0 1-.152.041l-1.598-.921a.113.113 0 0 1-.04-.155l.001-.002a.111.111 0 0 1 .1-.056zm.328 1.193a.11.11 0 0 1 .06.021l.758.534c.05.035.061.102.026.152l-.004.008a.111.111 0 0 1-.154.027l-.756-.535a.109.109 0 0 1-.028-.152l.006-.008a.11.11 0 0 1 .092-.047zm-16.412.002c.035 0 .072.016.094.047l.004.008a.109.109 0 0 1-.028.152l-.756.531a.108.108 0 0 1-.152-.025l-.006-.008a.109.109 0 0 1 .028-.152l.755-.534a.107.107 0 0 1 .061-.019zm15.162.102a.112.112 0 0 1 .082.025l1.414 1.187a.11.11 0 0 1 .014.157l-.004.004a.113.113 0 0 1-.158.013L18.89 17.93a.11.11 0 0 1-.014-.157l.004-.005a.108.108 0 0 1 .074-.04zm-12.812 1.12a.11.11 0 0 1 .08.026l.007.008a.11.11 0 0 1 .014.154L5.06 20.451a.11.11 0 0 1-.155.012l-.008-.006a.11.11 0 0 1-.013-.154l1.185-1.414a.11.11 0 0 1 .075-.04zm11.703 0c.032 0 .065.015.088.042l1.181 1.41c.04.048.035.12-.013.16l-.002.002a.114.114 0 0 1-.16-.014l-1.182-1.41a.114.114 0 0 1 .013-.16l.002-.002a.115.115 0 0 1 .073-.027zm-12.928.114c.027 0 .054.01.074.031l.014.012a.107.107 0 0 1 0 .15l-.662.66a.105.105 0 0 1-.149 0l-.011-.011a.105.105 0 0 1 0-.149l.66-.662a.105.105 0 0 1 .074-.031zm14.164 0c.027 0 .053.01.074.031l.66.662a.106.106 0 0 1 0 .15l-.011.012a.106.106 0 0 1-.15-.002l-.66-.66a.106.106 0 0 1 .001-.15l.01-.012a.108.108 0 0 1 .076-.031zm-11.627.797c.018 0 .034.006.05.015l.007.004a.11.11 0 0 1 .04.15l-.921 1.598a.11.11 0 0 1-.15.041l-.008-.004a.111.111 0 0 1-.04-.152l.922-1.596a.113.113 0 0 1 .1-.056zm9.088.002a.11.11 0 0 1 .1.054l.925 1.596a.113.113 0 0 1-.04.154h-.005a.11.11 0 0 1-.152-.039l-.926-1.595a.113.113 0 0 1 .041-.155l.004-.002a.108.108 0 0 1 .053-.013zm-10.285.324c.021 0 .043.008.062.021l.004.002c.051.036.063.106.028.157l-.53.755a.112.112 0 0 1-.156.028l-.004-.002a.112.112 0 0 1-.027-.156l.53-.756a.113.113 0 0 1 .093-.05zm11.484.002c.036 0 .072.015.094.047l.53.756c.035.05.023.12-.028.156l-.004.002a.112.112 0 0 1-.156-.028l-.53-.755a.112.112 0 0 1 .028-.157l.004-.002a.112.112 0 0 1 .062-.02zm-8.863.342a.11.11 0 0 1 .043.006l.012.005c.056.02.084.081.064.137l-.633 1.74a.105.105 0 0 1-.136.063l-.014-.004a.106.106 0 0 1-.065-.137l.633-1.74a.107.107 0 0 1 .096-.07zm6.232 0a.107.107 0 0 1 .106.07l.633 1.738a.107.107 0 0 1-.065.137l-.015.006a.107.107 0 0 1-.137-.065L15 20.578a.107.107 0 0 1 .064-.137l.014-.005a.117.117 0 0 1 .033-.006zm-4.695.41c.008 0 .014 0 .021.002l.006.002c.062.01.101.067.09.129l-.318 1.812a.113.113 0 0 1-.131.092l-.004-.002a.111.111 0 0 1-.092-.129l.32-1.812a.113.113 0 0 1 .108-.094zm3.146.002c.008-.002.015 0 .022 0a.111.111 0 0 1 .107.092l.32 1.812c.012.061-.03.12-.091.131l-.004.002a.113.113 0 0 1-.13-.092l-.321-1.812a.113.113 0 0 1 .092-.131l.005-.002zm-5.79.119a.11.11 0 0 1 .042.01l.004.002a.114.114 0 0 1 .055.15l-.393.834a.112.112 0 0 1-.148.055l-.004-.002a.112.112 0 0 1-.055-.149l.393-.836a.112.112 0 0 1 .105-.064zm8.458 0a.108.108 0 0 1 .104.062l.39.84a.11.11 0 0 1-.052.147l-.008.004a.11.11 0 0 1-.146-.055l-.391-.838a.11.11 0 0 1 .053-.146l.008-.004a.11.11 0 0 1 .042-.01zm-4.236.018H12c.063 0 .115.05.115.113l.002 1.84c0 .063-.05.113-.113.113h-.006a.113.113 0 0 1-.113-.113l-.004-1.838c0-.063.05-.115.113-.115zm-2.592.578c.011 0 .022 0 .034.004l.005.002c.06.016.095.077.079.136l-.24.893a.111.111 0 0 1-.137.078l-.006-.002a.111.111 0 0 1-.078-.137l.24-.89a.113.113 0 0 1 .103-.084zm5.196.002a.11.11 0 0 1 .103.082l.24.89a.11.11 0 0 1-.078.137l-.006.002a.11.11 0 0 1-.136-.078l-.24-.89a.11.11 0 0 1 .078-.138l.005-.002a.112.112 0 0 1 .034-.003zm-3.475.302h.01l.008.002c.061.006.107.06.101.121l-.08.92a.112.112 0 0 1-.121.102h-.008a.11.11 0 0 1-.1-.121l.08-.922a.111.111 0 0 1 .11-.102zm1.736 0h.02a.11.11 0 0 1 .107.102l.08.924a.11.11 0 0 1-.101.119l-.008.002a.11.11 0 0 1-.12-.102l-.08-.924a.112.112 0 0 1 .102-.12z"/>',
10133
+ "apple": '<path d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"/>',
10064
10134
  "macos": '<path d="M0 14.727h.941v-2.453c0-.484.318-.835.771-.835.439 0 .71.276.71.722v2.566h.915V12.25c0-.48.31-.812.764-.812.46 0 .718.28.718.77v2.518h.94v-2.748c0-.801-.517-1.334-1.307-1.334-.578 0-1.054.31-1.247.805h-.023c-.147-.514-.552-.805-1.118-.805-.545 0-.968.306-1.142.771H.903v-.695H0v4.006zm7.82-.646c-.408 0-.68-.208-.68-.537 0-.318.26-.522.714-.552l.926-.057v.307c0 .483-.427.839-.96.839zm-.284.71c.514 0 1.017-.268 1.248-.703h.018v.639h.908v-2.76c0-.804-.647-1.33-1.64-1.33-1.021 0-1.66.537-1.701 1.285h.873c.06-.332.344-.548.79-.548.464 0 .748.242.748.662v.287l-1.058.06c-.976.061-1.524.488-1.524 1.199 0 .721.564 1.209 1.338 1.209zm6.305-2.642c-.065-.843-.719-1.512-1.777-1.512-1.164 0-1.92.805-1.92 2.087 0 1.3.756 2.082 1.928 2.082 1.005 0 1.697-.59 1.772-1.485h-.888c-.087.453-.397.725-.873.725-.597 0-.982-.483-.982-1.322 0-.824.381-1.323.975-1.323.502 0 .8.321.876.748h.889zm2.906-2.967c-1.591 0-2.589 1.085-2.589 2.82 0 1.735.998 2.816 2.59 2.816 1.586 0 2.584-1.081 2.584-2.816 0-1.735-.997-2.82-2.585-2.82zm0 .832c.971 0 1.591.77 1.591 1.988 0 1.213-.62 1.984-1.59 1.984-.976 0-1.592-.77-1.592-1.984 0-1.217.616-1.988 1.591-1.988zm2.982 3.178c.042 1.006.866 1.626 2.12 1.626 1.32 0 2.151-.65 2.151-1.686 0-.813-.469-1.27-1.576-1.523l-.627-.144c-.67-.158-.945-.37-.945-.733 0-.453.415-.756 1.032-.756.623 0 1.05.306 1.096.817h.93c-.023-.96-.817-1.61-2.019-1.61-1.187 0-2.03.653-2.03 1.62 0 .78.477 1.263 1.482 1.494l.707.166c.688.163.967.39.967.782 0 .454-.457.779-1.115.779-.665 0-1.167-.329-1.228-.832h-.945z"/>',
10135
+ "ubuntu": '<path d="M17.61.455a3.41 3.41 0 0 0-3.41 3.41 3.41 3.41 0 0 0 3.41 3.41 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41zM12.92.8C8.923.777 5.137 2.941 3.148 6.451a4.5 4.5 0 0 1 .26-.007 4.92 4.92 0 0 1 2.585.737A8.316 8.316 0 0 1 12.688 3.6 4.944 4.944 0 0 1 13.723.834 11.008 11.008 0 0 0 12.92.8zm9.226 4.994a4.915 4.915 0 0 1-1.918 2.246 8.36 8.36 0 0 1-.273 8.303 4.89 4.89 0 0 1 1.632 2.54 11.156 11.156 0 0 0 .559-13.089zM3.41 7.932A3.41 3.41 0 0 0 0 11.342a3.41 3.41 0 0 0 3.41 3.409 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41zm2.027 7.866a4.908 4.908 0 0 1-2.915.358 11.1 11.1 0 0 0 7.991 6.698 11.234 11.234 0 0 0 2.422.249 4.879 4.879 0 0 1-.999-2.85 8.484 8.484 0 0 1-.836-.136 8.304 8.304 0 0 1-5.663-4.32zm11.405.928a3.41 3.41 0 0 0-3.41 3.41 3.41 3.41 0 0 0 3.41 3.41 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41z"/>',
10136
+ "debian": '<path d="M13.88 12.685c-.4 0 .08.2.601.28.14-.1.27-.22.39-.33a3.001 3.001 0 01-.99.05m2.14-.53c.23-.33.4-.69.47-1.06-.06.27-.2.5-.33.73-.75.47-.07-.27 0-.56-.8 1.01-.11.6-.14.89m.781-2.05c.05-.721-.14-.501-.2-.221.07.04.13.5.2.22M12.38.31c.2.04.45.07.42.12.23-.05.28-.1-.43-.12m.43.12l-.15.03.14-.01V.43m6.633 9.944c.02.64-.2.95-.38 1.5l-.35.181c-.28.54.03.35-.17.78-.44.39-1.34 1.22-1.62 1.301-.201 0 .14-.25.19-.34-.591.4-.481.6-1.371.85l-.03-.06c-2.221 1.04-5.303-1.02-5.253-3.842-.03.17-.07.13-.12.2a3.551 3.552 0 012.001-3.501 3.361 3.362 0 013.732.48 3.341 3.342 0 00-2.721-1.3c-1.18.01-2.281.76-2.651 1.57-.6.38-.67 1.47-.93 1.661-.361 2.601.66 3.722 2.38 5.042.27.19.08.21.12.35a4.702 4.702 0 01-1.53-1.16c.23.33.47.66.8.91-.55-.18-1.27-1.3-1.48-1.35.93 1.66 3.78 2.921 5.261 2.3a6.203 6.203 0 01-2.33-.28c-.33-.16-.77-.51-.7-.57a5.802 5.803 0 005.902-.84c.44-.35.93-.94 1.07-.95-.2.32.04.16-.12.44.44-.72-.2-.3.46-1.24l.24.33c-.09-.6.74-1.321.66-2.262.19-.3.2.3 0 .97.29-.74.08-.85.15-1.46.08.2.18.42.23.63-.18-.7.2-1.2.28-1.6-.09-.05-.28.3-.32-.53 0-.37.1-.2.14-.28-.08-.05-.26-.32-.38-.861.08-.13.22.33.34.34-.08-.42-.2-.75-.2-1.08-.34-.68-.12.1-.4-.3-.34-1.091.3-.25.34-.74.54.77.84 1.96.981 2.46-.1-.6-.28-1.2-.49-1.76.16.07-.26-1.241.21-.37A7.823 7.824 0 0017.702 1.6c.18.17.42.39.33.42-.75-.45-.62-.48-.73-.67-.61-.25-.65.02-1.06 0C15.082.73 14.862.8 13.8.4l.05.23c-.77-.25-.9.1-1.73 0-.05-.04.27-.14.53-.18-.741.1-.701-.14-1.431.03.17-.13.36-.21.55-.32-.6.04-1.44.35-1.18.07C9.6.68 7.847 1.3 6.867 2.22L6.838 2c-.45.54-1.96 1.611-2.08 2.311l-.131.03c-.23.4-.38.85-.57 1.261-.3.52-.45.2-.4.28-.6 1.22-.9 2.251-1.16 3.102.18.27 0 1.65.07 2.76-.3 5.463 3.84 10.776 8.363 12.006.67.23 1.65.23 2.49.25-.99-.28-1.12-.15-2.08-.49-.7-.32-.85-.7-1.34-1.13l.2.35c-.971-.34-.57-.42-1.361-.67l.21-.27c-.31-.03-.83-.53-.97-.81l-.34.01c-.41-.501-.63-.871-.61-1.161l-.111.2c-.13-.21-1.52-1.901-.8-1.511-.13-.12-.31-.2-.5-.55l.14-.17c-.35-.44-.64-1.02-.62-1.2.2.24.32.3.45.33-.88-2.172-.93-.12-1.601-2.202l.15-.02c-.1-.16-.18-.34-.26-.51l.06-.6c-.63-.74-.18-3.102-.09-4.402.07-.54.53-1.1.88-1.981l-.21-.04c.4-.71 2.341-2.872 3.241-2.761.43-.55-.09 0-.18-.14.96-.991 1.26-.7 1.901-.88.7-.401-.6.16-.27-.151 1.2-.3.85-.7 2.421-.85.16.1-.39.14-.52.26 1-.49 3.151-.37 4.562.27 1.63.77 3.461 3.011 3.531 5.132l.08.02c-.04.85.13 1.821-.17 2.711l.2-.42M9.54 13.236l-.05.28c.26.35.47.73.8 1.01-.24-.47-.42-.66-.75-1.3m.62-.02c-.14-.15-.22-.34-.31-.52.08.32.26.6.43.88l-.12-.36m10.945-2.382l-.07.15c-.1.76-.34 1.511-.69 2.212.4-.73.65-1.541.75-2.362M12.45.12c.27-.1.66-.05.95-.12-.37.03-.74.05-1.1.1l.15.02M3.006 5.142c.07.57-.43.8.11.42.3-.66-.11-.18-.1-.42m-.64 2.661c.12-.39.15-.62.2-.84-.35.44-.17.53-.2.83"/>',
10065
10137
  "alpinelinux": '<path d="M5.998 1.607L0 12l5.998 10.393h12.004L24 12 18.002 1.607H5.998zM9.965 7.12L12.66 9.9l1.598 1.595.002-.002 2.41 2.363c-.2.14-.386.252-.563.344a3.756 3.756 0 01-.496.217 2.702 2.702 0 01-.425.111c-.131.023-.25.034-.358.034-.13 0-.242-.014-.338-.034a1.317 1.317 0 01-.24-.072.95.95 0 01-.2-.113l-1.062-1.092-3.039-3.041-1.1 1.053-3.07 3.072a.974.974 0 01-.2.111 1.274 1.274 0 01-.237.073c-.096.02-.209.033-.338.033-.108 0-.227-.009-.358-.031a2.7 2.7 0 01-.425-.114 3.748 3.748 0 01-.496-.217 5.228 5.228 0 01-.563-.343l6.803-6.727zm4.72.785l4.579 4.598 1.382 1.353a5.24 5.24 0 01-.564.344 3.73 3.73 0 01-.494.217 2.697 2.697 0 01-.426.111c-.13.023-.251.034-.36.034-.129 0-.241-.014-.337-.034a1.285 1.285 0 01-.385-.146c-.033-.02-.05-.036-.053-.04l-1.232-1.218-2.111-2.111-.334.334L12.79 9.8l1.896-1.897zm-5.966 4.12v2.529a2.128 2.128 0 01-.356-.035 2.765 2.765 0 01-.422-.116 3.708 3.708 0 01-.488-.214 5.217 5.217 0 01-.555-.34l1.82-1.825Z"/>',
10066
10138
  "cisco": '<path d="M16.331 18.171V17.06l-.022.01c-.25.121-.522.19-.801.203a1.186 1.186 0 01-.806-.237 1.038 1.038 0 01-.352-.498 1.21 1.21 0 01-.023-.667c.052-.225.178-.426.357-.569.16-.134.355-.218.562-.242a1.85 1.85 0 011.061.198l.024.013v-1.117l-.051-.014a2.862 2.862 0 00-1.011-.132 2.34 2.34 0 00-.903.206c-.287.132-.54.327-.739.571a2.221 2.221 0 00-.04 2.705c.295.378.709.645 1.175.756.491.12 1.006.102 1.487-.052l.082-.023M5.336 18.171V17.06l-.022.01c-.25.121-.522.19-.801.203a1.183 1.183 0 01-.806-.237 1.03 1.03 0 01-.351-.498 1.202 1.202 0 01-.024-.667c.052-.225.177-.426.357-.569.16-.134.355-.218.562-.242a1.85 1.85 0 011.061.198l.024.013v-1.117l-.051-.014a2.862 2.862 0 00-1.011-.132 2.344 2.344 0 00-.903.206 2.08 2.08 0 00-.74.571 2.224 2.224 0 00-.041 2.705 2.11 2.11 0 001.176.756c.491.12 1.005.102 1.487-.052l.083-.023M9.26 17.249l-.004.957.07.012c.22.041.441.069.664.085.195.019.391.022.587.012.187-.014.372-.049.551-.104.21-.06.405-.163.571-.305a1.16 1.16 0 00.333-.478 1.31 1.31 0 00-.007-.96 1.068 1.068 0 00-.298-.414 1.261 1.261 0 00-.438-.255l-.722-.268a.388.388 0 01-.197-.188.245.245 0 01.008-.219.382.382 0 01.154-.142.798.798 0 01.257-.074c.153-.022.308-.021.46.005.18.02.358.051.533.096l.038.008v-.883l-.069-.015a4.749 4.749 0 00-.543-.097 2.844 2.844 0 00-.714-.003c-.3.027-.585.143-.821.33-.16.126-.281.293-.351.484-.104.29-.105.608 0 .899.054.145.14.274.252.381.097.093.207.173.327.236.157.084.324.149.497.195.057.017.114.035.17.054l.085.031.024.01c.084.03.162.078.226.14.045.042.08.094.101.151a.325.325 0 01.001.161.339.339 0 01-.166.198.856.856 0 01-.275.086 2.032 2.032 0 01-.427.021 5.208 5.208 0 01-.557-.074 9.195 9.195 0 01-.287-.067l-.033-.006zm-2.475.995h1.05v-4.167h-1.05v4.167zm12.162-2.936a1.095 1.095 0 011.541.158 1.094 1.094 0 01-.157 1.541l-.017.014a1.096 1.096 0 01-1.367-1.713m-1.525.854a2.193 2.193 0 002.666 2.107 2.139 2.139 0 00.701-3.937 2.207 2.207 0 00-3.367 1.83M22.961 10.728a.52.52 0 001.039 0V9.573a.52.52 0 00-1.039 0v1.155M20.117 10.728a.522.522 0 001.041 0V8.139a.521.521 0 00-1.04 0v2.589M17.231 11.771a.521.521 0 001.039 0V6.17a.52.52 0 00-1.039 0v5.601M14.393 10.728a.521.521 0 001.04 0V8.139a.52.52 0 00-1.039 0v2.589M11.494 10.728a.522.522 0 001.039 0V9.573a.52.52 0 00-1.039 0v1.155M8.624 10.728a.52.52 0 001.039 0V8.139a.52.52 0 00-1.039 0v2.589M5.737 11.771a.52.52 0 001.039 0V6.17a.52.52 0 00-1.039 0v5.601M2.876 10.728a.522.522 0 001.04 0V8.139a.52.52 0 00-1.039 0v2.589M0 10.728a.521.521 0 001.039 0V9.573a.52.52 0 00-1.039 0v1.155"/>',
10067
10139
  "junipernetworks": '<path d="M23.0864 13.1643c.0456 0 .0717-.0132.0717-.062 0-.0482-.0254-.0593-.0731-.0593h-.1023v.1213zm-.1037.0417v.1285h-.0445v-.334h.1487c.0846 0 .1172.0347.1172.1006 0 .054-.0229.0912-.0806.102l.0755.1314h-.0484l-.0746-.1285zm.0746-.2918a.2535.2535 0 0 0-.2533.2531c0 .1395.1136.2532.2533.2532a.2535.2535 0 0 0 .253-.2532.2534.2534 0 0 0-.253-.2531zm-.291.2531a.2912.2912 0 0 1 .291-.2908.291.291 0 0 1 .2905.2908.291.291 0 0 1-.2905.2907.2912.2912 0 0 1-.291-.2907zm-20.7445-.6602V8.8304h-.4212v3.6767c0 .8506.0337 1.5332-1.4404 1.5332A4.029 4.029 0 0 1 0 14.0369v.397a6.215 6.215 0 0 0 .1602.0022c1.7858 0 1.8616-.8002 1.8616-1.929zm15.5404-1.6972h3.1334c-.042-.918-.1011-1.7014-1.4404-1.7014-1.2887 0-1.6425.6992-1.693 1.7014zm1.7016-2.0889c1.794 0 1.853 1.2045 1.8447 2.4764h-3.5548c.0085 1.1204.2863 1.9544 1.7436 1.9544.775 0 1.1288-.2107 1.5079-.4886l.2357.3116c-.421.3117-.918.556-1.7436.556-1.8194 0-2.1565-1.053-2.1565-2.4091 0-1.356.3877-2.4007 2.123-2.4007zm-4.1484 2.7055c.7439 0 1.1135-.3625 1.1135-1.0949 0-.7322-.3988-1.0798-1.132-1.0798h-1.7285v2.1747zM15.109 8.839c1.0678 0 1.5519.5307 1.5519 1.474 0 .9497-.478 1.527-1.5578 1.527h-1.7348v1.5981h-.4124V8.839zm-2.9253 0v4.5991h-.4122V8.839zm-1.1939 4.5991h-.4296v-2.8134c0-.8086.0084-1.491-1.474-1.491-1.4743 0-1.4405.6824-1.4405 1.5331v2.7713h-.4212v-2.7713c0-1.1288.076-1.9289 1.8616-1.9289 1.7943 0 1.9037.8001 1.9037 1.8952zM2.7466 8.8304h.4297v2.8134c0 .8088-.0084 1.491 1.474 1.491 1.4742 0 1.4405-.6822 1.4405-1.533V8.8303h.4212v2.7713c0 1.1289-.0759 1.929-1.8616 1.929-1.7943 0-1.9038-.8001-1.9038-1.8952zm18.9675 1.8364v2.7713h.421v-2.7713c0-.8507-.0336-1.533 1.4407-1.533.1579 0 .298.0083.4242.023v-.4012a4.8535 4.8535 0 0 0-.4242-.0177c-1.7859 0-1.8617.8001-1.8617 1.929zm-.4315 4.3602c.1525.096.3017.1286.4542.1286.2624 0 .3789-.0737.3789-.2486 0-.18-.1508-.2057-.3789-.2468-.2743-.048-.4594-.0944-.4594-.3514 0-.2453.1577-.3413.4594-.3413.199 0 .3412.0447.4423.1132l-.072.1097c-.0908-.06-.2263-.0995-.3703-.0995-.228 0-.3257.0636-.3257.2144 0 .1612.132.192.3584.233.2776.0499.4782.091.4782.3635 0 .2521-.1612.3737-.5074.3737-.192 0-.3652-.0393-.5263-.1456zm-.7886-.4423l-.2538.2777v.396h-.132v-1.2703h.132v.7012l.643-.7012h.156l-.456.4989.5176.7715h-.1525l-.4543-.6738m-1.1006.0326c.18 0 .2914-.0549.2914-.2555 0-.1971-.108-.2485-.2965-.2485h-.4132v.504zm-.0377.1234h-.3806v.5178h-.132V13.988h.5486c.2948 0 .4286.1183.4286.3703 0 .2194-.1046.348-.3258.377l.3068.523h-.1439l-.3017-.5177m-.924-.1166c0-.3429-.1594-.528-.5058-.528-.3446 0-.5023.1851-.5023.528 0 .3446.1577.5298.5023.5298.3464 0 .5058-.1852.5058-.5298zm-.5058-.6566c.408 0 .6412.2024.6412.655 0 .4542-.2332.6565-.6412.6565-.4063 0-.6377-.2023-.6377-.6566 0-.4525.2314-.6549.6377-.6549zm-2.3571.0206l.3342 1.0508.3412-1.0508h.1166l.3394 1.0508.336-1.0508h.1303l-.408 1.2789h-.1165l-.343-1.0577-.341 1.0577h-.1183l-.4098-1.2789zm-1.392.1286v-.1286h1.0886v.1286h-.4766v1.1418h-.1355v-1.1418zm-.204-.1286v.1286h-.7046v.42h.6874v.127h-.6874v.4713h.7114v.1235h-.8468V13.988zm-2.0539 0l.7596 1.0475V13.988h.1303v1.2704h-.1235l-.7835-1.0784v1.0784h-.1303V13.988Z"/>',
10068
10140
  "f5": '<path d="M12 0C5.373 0 0 5.373 0 12a11.943 11.943 0 002.336 7.1113c.509.004.8594-.111.8984-.33.046-.229.0068-.5825-.0332-.9395a55.067 55.067 0 01-.2344-7.4473c-.609.027-1.1547.055-1.6777.086.02-.471.046-.9188.084-1.3828.517-.05 1.064-.0936 1.666-.1446.026-.406.0568-.7983.0918-1.1953.27-2.43 2.828-3.9162 4.959-4.4902.946-.23 1.5245-.3022 1.9785-.3262.164-.005.3405-.0117.5175-.0117.442 0 .8899.0414 1.1739.2344.46.345.9135.6873 1.3965 1.0683.048.065.1024.1678-.0176.3438-.222.26-.4371.5084-.6621.7754-.13.157-.3454.1164-.5274.0664-.38-.194-.7462-.3728-1.1172-.5528-.672-.299-1.3666-.6061-2.1406-.5761-.483.039-.951.532-1 1.209a101.41 101.41 0 00-.1504 3.2285c1.343-.038 2.6837-.0624 4.0957-.0684l-.002.9453c-.46.206-.8954.413-1.3574.623-.953.011-1.8595.0202-2.7715.0352a125.13 125.13 0 00.1192 7.9317c.024.378.0424.7605.1504 1.0175.13.322.8798.5701 2.5098.6621.007.284.0153.5532.0253.8282-2.655-.077-5.205-.3302-7.248-.6992A11.962 11.962 0 0012 24c6.628 0 12-5.373 12-12a11.942 11.942 0 00-2.0957-6.7754c-.147.607-.2252 1.2378-.3672 1.8828-1.8-.234-3.9131-.4053-6.2871-.4883-.191.602-.3711 1.192-.5781 1.836 3.973.245 5.9048 1.2924 7.0508 2.5254 1.113 1.248 1.3501 2.6262 1.2851 3.9062-.143 2.081-1.0613 3.3971-2.3203 4.3711-1.274.96-2.8139 1.436-4.0469 1.539-1.819.137-4.2515-.2962-4.7695-.6132a178.03 178.03 0 01-.9492-2.2012c-.08-.166-.1294-.3371.0976-.5351.354-.339.6928-.6667 1.0508-1.0137.158-.155.3338-.2991.4668-.0781.489.755.9473 1.4477 1.4063 2.1367.522.77 1.3167 1.4695 3.0527 1.3535 1.459-.13 2.5675-1.2333 2.6855-2.4473.128-2.246-2.1446-3.8396-8.0546-4.3496a2571.27 2571.27 0 013.123-9.371c1.404.065 2.7043.1798 3.9453.3398.919.116 1.772.3287 2.627.4277A11.973 11.973 0 0012 0zm10.0195 21.1113c-.5006 0-.9082.4076-.9082.9082 0 .5007.4076.9082.9082.9082.5007 0 .9082-.4075.9082-.9082 0-.5006-.4075-.9082-.9082-.9082zm0 .127c.4318 0 .7793.3495.7793.7812a.7776.7776 0 01-.7793.7793c-.4317 0-.7812-.3475-.7812-.7793a.7809.7809 0 01.7812-.7812zm-.3652.2773v.9961h.1738v-.3926h.1387c.092 0 .1583.0112.1953.0332.062.037.0938.1146.0938.2286v.08l.002.0293a.07.07 0 01.0039.0118c0 .005-.0001.0068.0039.0098h.162l-.0058-.0137a.106.106 0 01-.0078-.0488.6846.6846 0 01-.004-.0743v-.0742a.276.276 0 00-.0527-.1543c-.037-.053-.0948-.0846-.1718-.0976A.408.408 0 0022.328 22c.066-.042.0977-.1103.0977-.1973 0-.124-.0503-.21-.1543-.252a.752.752 0 00-.2695-.035zm.1738.123h.1504a.45.45 0 01.211.0372c.042.024.0664.0735.0664.1445a.153.153 0 01-.1036.1563.451.451 0 01-.166.0214h-.1582z"/>',
10069
10141
  "paloaltonetworks": '<path d="m10.278 15.443 1.705 1.705-3.426 3.426-3.427-3.426 8.592-8.591-1.705-1.705 3.426-3.426 3.427 3.426-8.592 8.591zM0 12.017l3.426 3.426 8.591-8.59-3.426-3.427L0 12.017zm11.983 5.13 3.426 3.427L24 11.983l-3.426-3.426-8.591 8.59z"/>',
10070
10142
  "fortinet": '<path d="M0 9.785h6.788v4.454H0zm8.666-6.33h6.668v4.453H8.666zm0 12.637h6.668v4.454H8.666zm8.522-6.307H24v4.454h-6.812zM2.792 3.455C1.372 3.814.265 5.404 0 7.425v.506h6.788V3.454zM0 16.091v.554c.24 1.926 1.276 3.466 2.624 3.9h4.188v-4.454zm24-8.184v-.506c-.265-1.998-1.372-3.587-2.792-3.972h-4.02v4.454H24zM21.376 20.57c1.324-.458 2.36-1.974 2.624-3.9v-.554h-6.812v4.454Z"/>',
10143
+ "trivy": '<path d="M4.375 7.311 1.962 5.918a.1.1 0 0 1 0-.174L11.828.047a.343.343 0 0 1 .344 0l9.864 5.696a.1.1 0 0 1 0 .175L19.624 7.31a.962.962 0 0 1-.052-.074c-.914-1.478-2.124-2.592-3.596-3.31-4.088-1.994-9.164-.505-11.6 3.385ZM12.262 23.899v-3.14c5.693-2.087 9.01-7.766 7.588-12.985l2.436-1.42a.1.1 0 0 1 .151.088v11.645a.1.1 0 0 1-.05.087l-9.973 5.812a.1.1 0 0 1-.152-.087Zm-.559-3.141v3.14a.1.1 0 0 1-.151.086l-9.933-5.81a.114.114 0 0 1-.056-.099V6.436a.1.1 0 0 1 .15-.087l2.44 1.41c-1.455 5.307 1.846 10.993 7.55 13ZM7.013 8.834 4.807 7.561c2.306-3.665 7.094-5.066 10.95-3.186 1.385.676 2.526 1.727 3.39 3.124l.04.062-2.195 1.268a5.57 5.57 0 0 0-2.429-2.307c-2.603-1.27-5.901-.253-7.552 2.311Zm9.337 5.2c.813-1.371 1.088-2.99.798-4.685l2.255-1.314c1.245 4.86-1.864 10.169-7.14 12.192v-3.072c1.86-.67 3.272-1.747 4.087-3.12ZM4.6 8.018l2.27 1.31c-.225 1.571.112 3.204.951 4.606.919 1.536 2.225 2.629 3.881 3.25v3.045C6.327 18.25 3.297 13.042 4.601 8.017Zm5.303 2.486-2.459-1.42c1.52-2.34 4.53-3.268 6.9-2.112a5.075 5.075 0 0 1 2.216 2.108l-2.471 1.427a2.311 2.311 0 0 0-2.03-1.195c-.825 0-1.645.43-2.156 1.192Zm4.338.522 2.443-1.408c.22 1.51-.043 2.945-.765 4.162-.735 1.238-1.998 2.224-3.658 2.856v-2.631c1.25-.691 1.968-1.771 1.98-2.979ZM8.25 13.676A6.576 6.576 0 0 1 7.34 9.6l2.446 1.412c-.016 1.271.73 2.437 1.917 2.997v2.624a6.977 6.977 0 0 1-3.453-2.956Zm3.853-.148-.137.073-.157-.075c-1.023-.504-1.524-1.606-1.557-2.417a1.99 1.99 0 0 1 .004-.23 2.153 2.153 0 0 1 1.163-.957c.508-.178 1.034-.153 1.444.071.6.327.84.797.86.86.008.156.004.253.004.256-.038.981-.63 1.863-1.624 2.419Z"/>',
10071
10144
  "nutanix": '<path d="M.394 3.617a.395.395 0 0 0-.393.395c0 .12.054.225.14.297l8.506 7.404a.39.39 0 0 1-.013.588l-8.52 7.412a.393.393 0 0 0 .28.67h4.86a.39.39 0 0 0 .265-.104l9.17-7.98a.396.396 0 0 0 0-.596L5.52 3.721a.386.386 0 0 0-.264-.104zm18.358 0a.389.389 0 0 0-.273.113l-4.716 4.106a.392.392 0 0 0-.04.564l2.427 2.114a.393.393 0 0 0 .291.13.394.394 0 0 0 .278-.119l7.127-6.203a.389.389 0 0 0 .154-.31.395.395 0 0 0-.393-.395zm-2.31 9.742c-.116 0-.22.05-.292.13l-2.426 2.113a.392.392 0 0 0 .039.564l4.716 4.104c.07.07.166.113.273.113h4.855a.393.393 0 0 0 .239-.705l-7.127-6.203a.393.393 0 0 0-.278-.116z"/>',
10072
10145
  "proxmox": '<path d="M4.928 1.825c-1.09.553-1.09.64-.07 1.78 5.655 6.295 7.004 7.782 7.107 7.782.139.017 7.971-8.542 8.058-8.801.034-.07-.208-.312-.519-.536-.415-.312-.864-.433-1.712-.467-1.59-.104-2.144.242-4.115 2.455-.899 1.003-1.66 1.833-1.66 1.833-.017 0-.76-.813-1.642-1.798S8.473 2.1 8.127 1.91c-.796-.45-2.421-.484-3.2-.086zM1.297 4.367C.45 4.695 0 5.007 0 5.248c0 .121 1.331 1.678 2.94 3.459 1.625 1.78 2.939 3.268 2.939 3.302 0 .035-1.331 1.522-2.94 3.303C1.314 17.11.017 18.683.035 18.822c.086.467 1.504 1.055 2.541 1.055 1.678-.018 2.058-.312 5.603-4.202 1.78-1.954 3.233-3.614 3.233-3.666 0-.069-1.435-1.694-3.199-3.63-2.3-2.508-3.423-3.632-3.96-3.874-.812-.398-2.126-.467-2.956-.138zm18.467.12c-.502.26-1.764 1.505-3.943 3.891-1.763 1.937-3.199 3.562-3.199 3.631 0 .07 1.453 1.712 3.234 3.666 3.544 3.89 3.925 4.184 5.602 4.202 1.038 0 2.455-.588 2.542-1.055.017-.156-1.28-1.712-2.905-3.493-1.608-1.78-2.94-3.285-2.94-3.32 0-.034 1.332-1.539 2.94-3.32C22.72 6.91 24.017 5.352 24 5.214c-.087-.45-1.366-.968-2.473-1.038-.795-.034-1.21.035-1.763.312zM7.954 16.973c-2.144 2.369-3.908 4.374-3.943 4.46-.034.07.208.312.52.537.414.311.864.432 1.711.467 1.574.103 2.161-.26 4.15-2.508.864-.968 1.608-1.78 1.625-1.78s.761.812 1.643 1.798c2.023 2.248 2.559 2.576 4.132 2.49.848-.035 1.297-.156 1.712-.467.311-.225.553-.467.519-.536-.087-.26-7.92-8.819-8.058-8.801-.069 0-1.867 1.954-4.011 4.34z"/>',
10073
10146
  "dell": '<path d="M17.963 14.6V9.324h1.222v4.204h2.14v1.07h-3.362zm-9.784-3.288l2.98-2.292c.281.228.56.458.841.687l-2.827 2.14.611.535 2.827-2.216c.281.228.56.458.841.688a295.83 295.83 0 0 1-2.827 2.216l.61.536 2.83-2.295-.001-1.986h1.223v4.204h2.216v1.07h-3.362v-1.987c-.995.763-1.987 1.529-2.981 2.292l-2.981-2.292c-.144.729-.653 1.36-1.312 1.694-.285.147-.597.24-.915.276-.183.022-.367.017-.551.017H3.516V9.325H5.69a2.544 2.544 0 0 1 1.563.557c.454.36.778.872.927 1.43m-3.516-.917v3.21l.953-.001a1.377 1.377 0 0 0 1.036-.523 1.74 1.74 0 0 0 .182-1.889 1.494 1.494 0 0 0-.976-.766c-.166-.04-.338-.03-.507-.032h-.688zM11.82 0h.337a11.94 11.94 0 0 1 5.405 1.373 12.101 12.101 0 0 1 4.126 3.557A11.93 11.93 0 0 1 24 11.82v.36a11.963 11.963 0 0 1-3.236 8.033A11.967 11.967 0 0 1 12.182 24h-.361a11.993 11.993 0 0 1-4.145-.806 12.04 12.04 0 0 1-4.274-2.836A12.057 12.057 0 0 1 .576 15.67 12.006 12.006 0 0 1 0 12.181v-.361a11.924 11.924 0 0 1 1.992-6.396 12.211 12.211 0 0 1 4.71-4.172A11.875 11.875 0 0 1 11.82 0m-.153 1.23a10.724 10.724 0 0 0-6.43 2.375 10.78 10.78 0 0 0-3.319 4.573 10.858 10.858 0 0 0 .193 8.12 10.788 10.788 0 0 0 3.546 4.421 10.698 10.698 0 0 0 4.786 1.946c1.456.209 2.955.124 4.376-.26a10.756 10.756 0 0 0 5.075-3.062 10.742 10.742 0 0 0 2.686-5.28 10.915 10.915 0 0 0-.122-4.682 10.77 10.77 0 0 0-7.098-7.626 10.78 10.78 0 0 0-3.693-.525z"/>',
10147
+ "hashicorp": '<path d="M10.114 4.094 4.215 7.5v13.09L.666 18.542V5.45L10.114 0v4.094zm3.772 13.37 3.549-2.049V2.05L13.885 0v10.426h-3.77v-3.89L6.562 8.585v13.357l3.551 2.054V13.599h3.772v3.865zM19.783 3.41V16.5l-5.897 3.405V24l9.448-5.45V5.458l-3.551-2.05z"/>',
10148
+ "fedora": '<path d="M12.001 0C5.376 0 .008 5.369.004 11.992H.002v9.287h.002A2.726 2.726 0 0 0 2.73 24h9.275c6.626-.004 11.993-5.372 11.993-11.997C23.998 5.375 18.628 0 12 0zm2.431 4.94c2.015 0 3.917 1.543 3.917 3.671 0 .197.001.395-.03.619a1.002 1.002 0 0 1-1.137.893 1.002 1.002 0 0 1-.842-1.175 2.61 2.61 0 0 0 .013-.337c0-1.207-.987-1.672-1.92-1.672-.934 0-1.775.784-1.777 1.672.016 1.027 0 2.046 0 3.07l1.732-.012c1.352-.028 1.368 2.009.016 1.998l-1.748.013c-.004.826.006.677.002 1.093 0 0 .015 1.01-.016 1.776-.209 2.25-2.124 4.046-4.424 4.046-2.438 0-4.448-1.993-4.448-4.437.073-2.515 2.078-4.492 4.603-4.469l1.409-.01v1.996l-1.409.013h-.007c-1.388.04-2.577.984-2.6 2.47a2.438 2.438 0 0 0 2.452 2.439c1.356 0 2.441-.987 2.441-2.437l-.001-7.557c0-.14.005-.252.02-.407.23-1.848 1.883-3.256 3.754-3.256z"/>',
10149
+ "centos": '<path d="M12.076.066L8.883 3.28H3.348v5.434L0 12.01l3.349 3.298v5.39h5.374l3.285 3.236 3.285-3.236h5.43v-5.374L24 12.026l-3.232-3.252V3.321H15.31zm0 .749l2.49 2.506h-1.69v6.441l-.8.805-.81-.815V3.28H9.627zm-8.2 2.991h4.483L6.485 5.692l4.253 4.279v.654H9.94L5.674 6.423l-1.798 1.77zm5.227 0h1.635v5.415l-3.509-3.53zm4.302.043h1.687l1.83 1.842-3.517 3.539zm2.431 0h4.404v4.394l-1.83-1.842-4.241 4.267h-.764v-.69l4.261-4.287zm2.574 3.3l1.83 1.843v1.676h-5.327zm-12.735.013l3.515 3.462H3.876v-1.69zM3.348 9.454v1.697h6.377l.871.858-.782.77H3.35v1.786L.753 12.01zm17.42.068l2.488 2.503-2.533 2.55v-1.796h-6.41l-.75-.754.825-.83h6.38zm-9.502.978l.81.815.186-.188.614-.618v.686h.768l-.825.83.75.754h-.719v.808l-.842-.83-.741.73v-.707h-.7l.781-.77-.188-.186-.682-.672h.788zm-7.39 2.807h5.402l-3.603 3.55-1.798-1.772zm6.154 0h.708v.7l-4.404 4.338 1.852 1.824h-4.31v-4.342l1.798 1.77zm3.348 0h.715l4.317 4.343.186-.187 1.599-1.61v4.316h-4.366l1.853-1.825-.188-.185-4.116-4.054zm1.46 0h5.357v1.798l-1.785 1.796zm-2.83.191l.842.829v6.37h1.691l-2.532 2.495-2.533-2.495h1.79V14.23zm-1.27 1.251v5.42H8.939l-1.852-1.823zm2.64.097l3.552 3.499-1.853 1.825h-1.7z"/>',
10150
+ "rockylinux": '<path d="M23.332 15.957c.433-1.239.668-2.57.668-3.957 0-6.627-5.373-12-12-12S0 5.373 0 12c0 3.28 1.315 6.251 3.447 8.417L15.62 8.245l3.005 3.005zm-2.192 3.819l-5.52-5.52L6.975 22.9c1.528.706 3.23 1.1 5.025 1.1 3.661 0 6.94-1.64 9.14-4.224z"/>',
10151
+ "almalinux": '<path d="M23.994 15.133c.079 1.061-.668 1.927-1.69 2.005a1.8 1.8 0 0 1-1.928-1.651c-.078-1.062.63-1.849 1.691-1.967 1.023-.078 1.849.59 1.927 1.613zm-12.623 4.955c-.944 0-1.73.786-1.73 1.809 0 1.14.747 1.848 1.887 1.848.904-.04 1.691-.865 1.691-1.809 0-.983-.904-1.848-1.848-1.848zm1.061-9.675c-.039-.865-.078-1.73.08-2.556.156-.944.314-1.887.904-2.674.707-.983 1.809-.944 2.399.118.314.511.432 1.062.471 1.652 0 .354.158.432.472.393.944-.157 1.888-.157 2.792.197.118.039.236.118.394 0 .314-.276.393-1.652.196-2.006-.354-.63-.904-.55-1.455-.55-.629.039-1.18-.158-1.612-.67-.393-.471-.511-1.06-.59-1.65-.04-.276-.079-.512-.315-.709-.55-.55-1.809-.432-2.477.118-2.556 2.045-2.989 5.467-1.534 8.18.04.118.118.236.275.157zm7.984 3.658c.354-.511.865-.747 1.415-.983a.973.973 0 0 0 .59-.472c.354-.669-.078-1.81-.747-2.36-2.595-2.006-5.938-1.612-8.18.433-.118.078-.157.196-.078.314.786-.236 1.612-.472 2.477-.51.905-.08 1.848-.158 2.753.235 1.14.472 1.337 1.534.472 2.36-.393.393-.905.668-1.455.825-.315.08-.354.236-.236.551.354.865.59 1.77.472 2.753-.04.157-.079.275.078.393.354.236 1.691 0 1.967-.275.511-.472.314-1.023.196-1.534-.157-.63-.078-1.219.276-1.73zm-7.197-2.045c-.118-.079-.197-.118-.315 0 .472.708.905 1.455 1.259 2.241.314.866.668 1.73.55 2.714-.118 1.18-1.1 1.69-2.123 1.101-.511-.275-.905-.669-1.22-1.14-.196-.276-.393-.276-.629-.08-.747.63-1.533 1.102-2.516 1.26-.158 0-.315 0-.394.157-.118.393.472 1.612.826 1.809.59.354 1.062 0 1.534-.276.55-.314 1.101-.432 1.73-.236.59.197.983.63 1.337 1.102.158.196.315.353.63.432.747.197 1.77-.59 2.084-1.376 1.18-3.028-.157-6.135-2.753-7.708zm-2.556 2.438c.472-.669.826-1.416.983-2.202-.157-.04-.197.04-.315.078-.904.944-1.848 1.849-3.067 2.478-.472.236-.983.433-1.534.433-.865 0-1.376-.551-1.298-1.416a2.92 2.92 0 0 1 .787-1.849c.236-.275.236-.432-.04-.668-.786-.55-1.494-1.22-1.848-2.124-.078-.275-.275-.275-.51-.157a4.293 4.293 0 0 0-.434.236c-1.022.63-1.14 1.416-.275 2.28.63.63.944 1.338.708 2.203-.118.433-.354.747-.63 1.101a.95.95 0 0 0-.235.787c.079.747.826 1.494 1.73 1.573 2.517.236 4.562-.63 5.978-2.753zm-4.68-5.152c1.376 1.18 3.067 1.455 4.837 1.377.157 0 .315 0 .354-.118.04-.197-.157-.197-.275-.236-.826-.354-1.691-.63-2.438-1.14S6.848 8.25 6.534 7.266c-.236-.747.078-1.415.825-1.651.669-.236 1.337-.236 1.967 0 .393.157.55.078.629-.354.118-.747.354-1.455.826-2.085.55-.786.55-.865-.354-1.376-.04 0-.04-.04-.079-.04-.865-.471-1.534-.196-1.848.709-.472 1.376-1.377 1.887-2.832 1.612-.196-.04-.393-.079-.472-.079-.747.118-1.18.55-1.297 1.14-.158 1.81.786 3.107 2.084 4.17zm-2.32 3.658c-.079-.944-1.023-1.652-2.045-1.534-.905.079-1.691 1.022-1.613 1.966.08.983 1.023 1.77 1.967 1.652 1.14-.079 1.73-1.18 1.69-2.084zm15.18-8.298c.943-.079 1.73-.983 1.651-1.927-.078-.983-1.022-1.77-2.005-1.691-1.023.079-1.73.983-1.652 1.966s.983 1.73 2.006 1.652zm-12.27-.826c1.062-.157 1.77-1.023 1.652-2.045C8.107.897 7.163.149 6.18.267c-1.062.118-1.691.944-1.573 2.085.118.865 1.061 1.612 1.966 1.494z"/>',
10074
10152
  "flux": '<path d="M11.402 23.747c.154.075.306.154.454.238.181.038.37.004.525-.097l.386-.251c-1.242-.831-2.622-1.251-3.998-1.602l2.633 1.712Zm-7.495-5.783a8.088 8.088 0 0 1-.222-.236.696.696 0 0 0 .112 1.075l2.304 1.498c1.019.422 2.085.686 3.134.944 1.636.403 3.2.79 4.554 1.728l.697-.453c-1.541-1.158-3.327-1.602-5.065-2.03-2.039-.503-3.965-.977-5.514-2.526Zm1.414-1.322-.665.432c.023.024.044.049.068.073 1.702 1.702 3.825 2.225 5.877 2.731 1.778.438 3.469.856 4.9 1.982l.682-.444c-1.612-1.357-3.532-1.834-5.395-2.293-2.019-.497-3.926-.969-5.467-2.481Zm7.502 2.084c1.596.412 3.096.904 4.367 2.036l.67-.436c-1.484-1.396-3.266-1.953-5.037-2.403v.803Zm.698-2.337a64.695 64.695 0 0 1-.698-.174v.802l.512.127c2.039.503 3.965.978 5.514 2.526l.007.009.663-.431c-.041-.042-.079-.086-.121-.128-1.702-1.701-3.824-2.225-5.877-2.731Zm-.698-1.928v.816c.624.19 1.255.347 1.879.501 2.039.502 3.965.977 5.513 2.526.077.077.153.157.226.239a.704.704 0 0 0-.238-.911l-3.064-1.992c-.744-.245-1.502-.433-2.251-.618a31.436 31.436 0 0 1-2.065-.561Zm-1.646 3.049c-1.526-.4-2.96-.888-4.185-1.955l-.674.439c1.439 1.326 3.151 1.88 4.859 2.319v-.803Zm0-1.772a8.543 8.543 0 0 1-2.492-1.283l-.686.446c.975.804 2.061 1.293 3.178 1.655v-.818Zm0-1.946a7.59 7.59 0 0 1-.776-.453l-.701.456c.462.337.957.627 1.477.865v-.868Zm3.533.269-1.887-1.226v.581c.614.257 1.244.473 1.887.645Zm5.493-8.863L12.381.112a.705.705 0 0 0-.762 0L3.797 5.198a.698.698 0 0 0 0 1.171l7.38 4.797V7.678a.414.414 0 0 0-.412-.412h-.543a.413.413 0 0 1-.356-.617l1.777-3.079a.412.412 0 0 1 .714 0l1.777 3.079a.413.413 0 0 1-.356.617h-.543a.414.414 0 0 0-.412.412v3.488l7.38-4.797a.7.7 0 0 0 0-1.171Z"/>',
10075
10153
  "jfrog": '<path d="M10.655 15.631l-1.268.353c.11.32.2.893.2 1.665v3.795h1.421v-4.015c.265-.32.552-.474.86-.474.156 0 .277.033.409.11l.386-1.312a1.05 1.05 0 00-.53-.122 1.22 1.22 0 00-.463.09c-.265.131-.596.43-.805.715 0-.32-.077-.573-.21-.805zM5.76 13.757h-.154v7.676h1.477v-3.398h1.864v-1.268H7.082v-1.764H9.41l.088-.673c-1.4-.1-2.668-.32-3.738-.573zm-3.452 8.7l.684.796c.662-.265 1.49-.86 1.71-1.81.077-.308.1-.506.1-1.51v-6.165H3.308v6.33c0 .828-.032 1.136-.142 1.423-.144.32-.486.695-.86.938zm13.422-3.892c0 1.346-.264 1.92-.871 1.92a.782.782 0 01-.717-.464c-.11-.286-.176-.773-.176-1.434 0-.563.055-.96.143-1.268.11-.353.386-.574.728-.574.254 0 .474.11.606.298.199.265.287.76.287 1.522zm.87 2.206c.465-.551.674-1.225.674-2.195 0-.916-.187-1.544-.617-2.073-.464-.574-1.06-.85-1.831-.85-1.456 0-2.426 1.18-2.426 2.967 0 1.787.96 2.934 2.426 2.934.827.01 1.367-.297 1.775-.783zm4.038-3.177c0 .52-.31.805-.86.805-.497 0-.828-.23-.828-.805 0-.529.31-.838.838-.838.53 0 .85.31.85.838zm2.503-1.213l-.585-.937c-.33.31-.727.485-1.113.485-.177 0-.276-.022-.662-.12a3.282 3.282 0 00-.97-.145c-1.38 0-2.272.75-2.272 1.92 0 .837.375 1.367 1.158 1.576-.32.077-.662.243-.816.43a.79.79 0 00-.166.52c0 .176.044.33.11.463a.68.68 0 00.31.275c.253.1.66.166 1.29.177.33 0 .529.01.595.01.386.023.584.09.739.166.143.089.253.287.253.508 0 .22-.132.44-.341.573-.188.132-.497.188-.894.188-.65 0-1.014-.243-1.014-.695 0-.2.022-.243.066-.364h-1.301c-.055.11-.122.265-.122.573 0 .386.144.717.442 1.004.485.474 1.279.606 2.04.606.838 0 1.654-.198 2.128-.727.298-.331.43-.695.43-1.17 0-.507-.143-.893-.463-1.212-.375-.364-.805-.497-1.632-.508l-.761-.01c-.143 0-.232-.056-.232-.133 0-.154.199-.288.563-.464.11.01.143.01.21.01 1.146 0 1.984-.705 1.984-1.686 0-.375-.11-.662-.32-.927.177.022.232.033.364.033.375 0 .673-.12.982-.419zM5.384 7.085c-1.764.43-2.966 1.279-2.966 2.25 0 .606.463 1.157 1.224 1.587a2.155 2.155 0 01-.353-1.157c.01-1.004.794-1.941 2.095-2.68zM24 10.889c0-.64-.397-1.224-1.059-1.709.055.2.1.397.1.596 0 1.82-2.548 3.385-6.165 4.036.408.044.827.066 1.268.066 3.23-.01 5.856-1.345 5.856-2.989zm-2.084-.992c0-.673-.574-1.29-1.555-1.798.23.276.353.574.353.883 0 1.62-3.44 2.933-7.698 2.933-4.246 0-7.698-1.312-7.698-2.933 0-.21.055-.408.165-.596-.683.452-1.07.97-1.07 1.522 0 1.753 3.916 3.176 8.747 3.176 4.83 0 8.756-1.445 8.756-3.187zM18.1 9.81c-1.786 1.147-7.279 1.588-9.639.11-1.853-1.158-1.213-3-6.518-7.036-.694-.53.133-1.092.651-.728.518.364.044.453 1.092 1.5 2.117 2.118 2.095.21 2.426.938.706 1.51 2.25 3.032 2.25 3.032 1.555 1.015 2.79 1.235 5.084-.32 1.456-.981.86 1.566 4.423-.275 1.3-.673 1.246-.22 2.569-2.063.55-.76 1.6.585.408.772-.474.078-1.28.596-1.621 1.412-.496 1.224-.287 2.128-1.125 2.658zM8.196 6.7c-.44-.199-.904-.95-1.08-1.246.496-.486.297-1.29.01-1.732-.275-.44-.617-.32-.98-.727-.376-.41.142-1.467.617-.651 1.775 3.055 2.944 1.786 4.39 1.599 1.39-.177 2.624.584 3-1.566.065-.353.407-.43.44.143.033.585.254 1.996 1.015 2.173.76.187 1.378-.177 1.555-.375.176-.2.275-.177.353.33.077.497.275 1.192 1.345.42 2.195-1.566 1.566-2.173 2.426-2.58.485-.232 1.257.518.144 1.08-1.588.805-1.754 1.797-2.757 2.426-1.688 1.059-1.17.044-3.882-.342-1.048-.143-1.38 1.015-2.195.684-1.864-.772-3.177-.618-4.4.364zm5.879-5.657c.066.463.143.452.309.485.165.044.375-.22.375-.463.01-.254-.11-.408-.353-.397-.254.01-.342.132-.331.375zm8.16.827c.2.187.728.066.85-.078.32-.352.33-.562.165-.805-.165-.231-.507-.198-.85.056-.341.253-.275.727-.164.827zm-.143 2.338c-.165.22-.176.386-.055.507.132.132.397.242.585.1.187-.155.187-.376.033-.563-.166-.2-.386-.2-.563-.044zM5.352 1.45c.253.077.374.32.584.044.11-.133.12-.32-.023-.52-.088-.12-.507-.21-.683-.032-.177.177-.01.464.121.508zM.178 1.295c.463.287.76.717 1.114.33.121-.131.264-.363.01-.826C1.117.457.511.325.301.457c-.22.12-.485.618-.121.838zM4.447 3.49c.143.154.397.143.551.055.144-.088.121-.32-.022-.518-.088-.122-.353-.188-.53 0-.176.187-.098.352 0 .463z"/>',
10076
10154
  "sonatype": '<path d="M2.4568 20.5995c0 .5118-.4275.9032-1.2103.9032-.4938 0-.9454-.1565-1.2465-.4516l.289-.4577c.2048.2109.6082.4095.9876.4095.3794 0 .572-.1385.572-.3553 0-.2528-.307-.3432-.6624-.4215-.4997-.1083-1.0959-.2408-1.0959-.8912 0-.4756.4095-.8851 1.1441-.8851.4938 0 .8672.1745 1.1321.4095l-.265.4455c-.1745-.1987-.4998-.3492-.861-.3492-.3313 0-.542.1204-.542.3251 0 .2228.289.301.6323.3794.5058.1084 1.126.253 1.126.9394zm3.3115-.6263c0 .8371-.566 1.5295-1.4994 1.5295-.9214 0-1.4934-.6924-1.4934-1.5295 0-.831.572-1.5235 1.4934-1.5235.9334 0 1.4994.6926 1.4994 1.5235zm-.6564 0c0-.5118-.3011-.9634-.843-.9634-.536 0-.837.4516-.837.9634 0 .5179.301.9695.837.9695.5419 0 .843-.4516.843-.9695zm2.8117-1.5234c-.4577 0-.831.2408-1.0236.4696v-.3974h-.6323v2.9085H6.9v-2.0294c.1445-.1986.4215-.3913.7467-.3913.3553 0 .584.1505.584.6021v1.8186h.6323v-2.0474c0-.5962-.313-.9333-.9394-.9333zm4.0744 1.0537v1.927h-.6323v-.3132c-.2168.247-.554.3855-.9393.3855-.4757 0-1.0117-.3192-1.0117-.9635 0-.6685.536-.9454 1.0117-.9454.3913 0 .7286.1264.9393.3733v-.4336c0-.3371-.2769-.5419-.6804-.5419-.3251 0-.6082.1204-.861.3673l-.259-.4396c.3372-.3192.7587-.4697 1.2224-.4697.6443 0 1.2103.271 1.2103 1.0538zm-.6323.825c-.1444-.1987-.4154-.3011-.6924-.3011-.3553 0-.6203.2048-.6203.524 0 .313.265.5178.6203.5178.277 0 .548-.1024.6924-.3011v-.4395zm2.487.6142c-.1806 0-.277-.1445-.277-.3432V19.076h.5902v-.554h-.5902v-.7949h-.6322v.7949h-.4817v.554h.4817v1.68c0 .4817.259.7468.7467.7468.295 0 .4817-.0783.5961-.1867l-.1505-.4757c-.0482.0541-.1626.1023-.283.1023zm2.1175-.2409-.8491-2.1798h-.6744l1.1923 2.9446-.1445.3313c-.0843.1926-.2169.2528-.4155.2528-.0722 0-.1746-.018-.241-.0481l-.0962.566c.0903.0241.265.0422.3552.0422.4517-.006.801-.1626.9997-.6564l1.403-3.4324h-.6804l-.849 2.1798zm4.6887-.7286c0 .9575-.536 1.5295-1.2887 1.5295-.3674 0-.6986-.1626-.9334-.4757v1.5115h-.6323V18.522h.6323v.3974c.2168-.289.554-.4697.9334-.4697.7527 0 1.2887.566 1.2887 1.5235zm-.6565 0c0-.56-.3191-.9634-.819-.9634-.295 0-.608.1746-.7466.3913v1.1502c.1385.2108.4516.3914.7467.3914.4998 0 .819-.4034.819-.9695zM24 20.184h-2.2462c.0483.4396.3794.8009.9274.8009.283 0 .6203-.1144.825-.3192l.289.4155c-.289.277-.7165.4215-1.1802.4215-.8732 0-1.5234-.6081-1.5234-1.5295 0-.843.6141-1.5234 1.4752-1.5234.8732 0 1.4332.6684 1.4332 1.5836v.1506zm-.6142-.4457c-.012-.3432-.247-.7707-.819-.7707-.542 0-.7888.4155-.819.7707h1.638zm-5.4338-8.0399L12 15.1348l-5.952-3.4364V4.8256L12 1.3892l5.952 3.4364v6.8728zm-1.7072-5.8871L12 3.3607 7.7553 5.8113v4.9014L12 13.1635l4.2448-2.4506V5.8112z"/>',
10155
+ "codecov": '<path d="M12.006.481C5.391.486.005 5.831 0 12.399v.03l2.042 1.19.028-.018a5.82 5.82 0 013.308-1.02c.37 0 .733.034 1.085.1l-.036-.006a5.69 5.69 0 012.874 1.43l-.004-.002.35.326.198-.434c.192-.42.414-.814.66-1.173.1-.144.208-.29.332-.446l.205-.257-.252-.211a8.33 8.33 0 00-3.836-1.807l-.052-.008a8.565 8.565 0 00-4.08.251l.06-.016c.972-4.256 4.714-7.223 9.133-7.226a9.31 9.31 0 016.6 2.713 9.196 9.196 0 012.508 4.498 8.385 8.385 0 00-2.498-.379h-.154c-.356.006-.7.033-1.036.078l.045-.005-.042.006a8.103 8.103 0 00-.39.06c-.057.01-.114.022-.17.033a8.102 8.102 0 00-.392.09l-.138.034a9.21 9.21 0 00-.483.144l-.03.01c-.354.12-.708.268-1.05.44l-.027.013c-.152.076-.305.16-.47.256l-.035.022a8.216 8.216 0 00-2.108 1.8l-.011.014-.075.092a8.345 8.345 0 00-.378.503c-.088.13-.177.269-.288.452l-.06.104a8.985 8.985 0 00-.234.432l-.016.029c-.17.34-.317.698-.44 1.063l-.017.053a8.052 8.052 0 00-.41 2.716v-.007.112a12 12 0 00.023.431l-.002-.037a11.676 11.676 0 00.042.412l.005.042.013.103c.018.127.038.252.062.378.241 1.266.845 2.532 1.745 3.66l.041.051.042-.05c.359-.424 1.249-1.77 1.325-2.577v-.015l-.006-.013a5.56 5.56 0 01-.64-2.595c0-3.016 2.37-5.521 5.396-5.702l.2-.007a5.93 5.93 0 013.47 1.025l.027.019L24 12.416v-.03a11.77 11.77 0 00-3.51-8.423A11.962 11.962 0 0012.007.48z"/>',
10077
10156
  "opentofu": '<path d="m10.184 23.25.002-.01-.033-.017-8.388-4.611a1.6841 1.6841 0 0 1-.873-1.475V6.864c0-.614.335-1.18.873-1.476l9.424-5.18a1.6868 1.6868 0 0 1 1.622 0l8.31 4.568.022.012.006.002-.004-.001 1.09.599c.538.296.873.862.873 1.476v10.273c0 .614-.335 1.179-.873 1.475l-8.388 4.611-.03.016-1.006.553c-.505.277-1.117.277-1.622 0l-1.003-.552-.002.01Zm.603-1.158-.005-.001.012.006c.252.123.55-.055.558-.338l.001-9.147c0-.141-.078-.272-.202-.34L2.763 7.661c-.259-.142-.576.045-.576.341v9.135c0 .141.077.272.201.34l8.394 4.613.005.002Zm.556-.327Zm0 0Zm-2.539-4.802-.005.003-1.959-1.031-.003-.004c.001-.003.001-.007.001-.01.023-.305.153-.525.346-.632.194-.107.45-.101.72.041.272.143.508.397.671.691.163.293.252.628.229.935v.007ZM5.71 15.177l-.005.002-1.96-1.031-.002-.004.001-.01c.022-.304.152-.524.346-.632.194-.107.449-.101.72.042.271.143.508.396.671.69.162.294.252.628.229.935v.008Zm14.981-8.999-.003-.018a.382.382 0 0 0-.191-.25l-8.31-4.567a.3883.3883 0 0 0-.374 0L3.503 5.91c-.162.089-.226.265-.193.423l.009.007-.009-.007c.022.1.083.194.183.253l8.32 4.572c.116.064.258.064.374 0l8.321-4.573c.151-.089.212-.256.183-.407Zm-17.37.16Zm-.002.002c0-.001-.003-.003-.005-.006-.002-.002-.004-.004-.004-.003l.009.009Zm-.467-1.56-.003.002c.002.004.005.006.005.006l-.002-.008Zm.007.007c-.001.001-.002.001-.003.001h-.002l.005-.001Z"/>',
10078
10157
  "saltproject": '<path d="M0 12v10.56h12L18 12h6V1.44H12L6 12Z"/>',
10079
10158
  "elastic": '<path d="M20.345 16.33l-3.959-.926-1.05-2.01 5.177-4.535a3.962 3.962 0 012.559 3.702 4.006 4.006 0 01-2.727 3.77m-2.976 4.68c-.616 0-1.22-.207-1.714-.587l.782-4.077 3.596.841c.115.31.172.642.172.987a2.839 2.839 0 01-2.836 2.836m-2.637-.586a5.92 5.92 0 01-4.908 2.6A5.947 5.947 0 014 15.905l5.167-4.67 5.272 2.403 1.167 2.23zM.928 11.443a4.007 4.007 0 012.726-3.77l3.95.933.927 1.98-5.05 4.565a3.97 3.97 0 01-2.553-3.708m5.703-8.45a2.841 2.841 0 011.723.58l-.789 4.092-3.598-.85a2.842 2.842 0 01-.172-.986A2.84 2.84 0 016.63 2.992m2.66.59A5.92 5.92 0 0120.1 6.93c0 .4-.038.781-.114 1.164l-5.299 4.643-5.251-2.394-1.026-2.19zM24 12.571a4.723 4.723 0 00-3.124-4.454 6.695 6.695 0 00.126-1.29A6.789 6.789 0 0014.22.047 6.769 6.769 0 008.727 2.86a3.586 3.586 0 00-2.204-.754A3.604 3.604 0 003.15 6.959 4.786 4.786 0 000 11.431 4.727 4.727 0 003.139 15.9a6.876 6.876 0 00-.124 1.289 6.773 6.773 0 006.765 6.765c2.19 0 4.22-1.052 5.49-2.824a3.568 3.568 0 002.207.769 3.603 3.603 0 003.374-4.854A4.785 4.785 0 0024 12.572"/>',
@@ -10097,6 +10176,7 @@ var init_simple_catalog_generated = __esm({
10097
10176
  "electron": '<path d="M12.0111 0c-.85 0-1.5392.6891-1.5392 1.5392 0 .8501.6891 1.5393 1.5392 1.5393.595 0 1.11-.338 1.3662-.832 2.2208 1.2675 3.847 5.4728 3.847 10.3623 0 2.0715-.2891 4.056-.825 5.7685a.3215.3215 0 0 0 .2107.403.322.322 0 0 0 .4033-.2111c.5558-1.7763.8542-3.8251.8542-5.9604 0-5.1927-1.7717-9.686-4.3206-11.0027.001-.0223.0035-.0443.0035-.0669 0-.85-.6891-1.5392-1.5393-1.5392zm0 .6432a.896.896 0 1 1 0 1.792.896.896 0 1 1 0-1.792zm-5.486 4.3052c-2.067.0074-3.6473.6646-4.3885 1.9485-.7375 1.2774-.5267 2.971.5113 4.7813a.3217.3217 0 0 0 .558-.32C2.271 9.7274 2.089 8.266 2.6938 7.2185c.821-1.422 3.033-1.9552 5.9321-1.4271a.3216.3216 0 0 0 .1153-.6329c-.784-.1428-1.5271-.2125-2.216-.21zm11.0522.0176a.3216.3216 0 0 0-.0084.6432c1.8337.0239 3.1556.5956 3.7502 1.6256.8192 1.419.1798 3.5947-1.7182 5.837a.322.322 0 0 0 .0377.4535.3215.3215 0 0 0 .4532-.0377c2.0535-2.426 2.7708-4.8661 1.7845-6.5744-.7257-1.257-2.26-1.9207-4.299-1.9472zm-2.6984.2924a.3225.3225 0 0 0-.0647.0072c-1.8568.3979-3.8333 1.1755-5.7314 2.2714-4.5699 2.6384-7.5924 6.4948-7.3601 9.3717-.4726.2628-.7928.7664-.7928 1.3455 0 .85.6892 1.5392 1.5393 1.5392.85 0 1.5392-.6891 1.5392-1.5392 0-.8501-.6891-1.5393-1.5392-1.5393-.038 0-.0754.003-.1128.0057-.1002-2.5597 2.7434-6.1412 7.048-8.6265 1.8413-1.063 3.7551-1.8163 5.5445-2.1997a.3217.3217 0 0 0-.07-.636zm-2.8787 6.2364a1.1192 1.1192 0 0 0-.2243.0255c-.6012.1301-.983.7225-.8533 1.3238.1302.6012.7226.9832 1.3238.8533.6012-.1302.9832-.7226.8533-1.3238-.1139-.526-.5816-.8844-1.0995-.8788zM4.532 13.341a.321.321 0 0 0-.2318.0835.3214.3214 0 0 0-.0214.4542c1.2682 1.3936 2.9157 2.701 4.7946 3.7857 4.4146 2.5489 9.1056 3.2849 11.5608 1.8392a1.53 1.53 0 0 0 .8966.2899c.8501 0 1.5392-.6891 1.5392-1.5392 0-.8501-.689-1.5393-1.5392-1.5393-.85 0-1.5392.6892-1.5392 1.5393 0 .276.0737.5344.201.7584-2.2448 1.214-6.631.5002-10.7976-1.9054-1.8228-1.0524-3.418-2.3181-4.6404-3.6614a.3206.3206 0 0 0-.2226-.1049zm-2.0628 4.0172a.896.896 0 1 1 0 1.792.896.896 0 1 1 0-1.792zm19.0616 0a.896.896 0 1 1 0 1.792.891.891 0 0 1-.5864-.2194c-.0025-.004-.0039-.0083-.0066-.0123a.3195.3195 0 0 0-.0957-.0914.896.896 0 0 1 .6887-1.4689zm-14.0045 1.368a.3215.3215 0 0 0-.3207.4296C8.2793 22.154 10.036 24 12.0111 24c1.4406 0 2.7735-.9822 3.8128-2.711a.3215.3215 0 0 0-.11-.4413.3219.3219 0 0 0-.4415.11c-.934 1.5537-2.0812 2.399-3.2613 2.399-1.6407 0-3.2075-1.6465-4.2-4.4179a.3216.3216 0 0 0-.2848-.2126z"/>',
10098
10177
  "aspire": '<path d="M2.625 22.7445C1.1775 22.7445 0 21.567 0 20.1195c0-.472.1245-.931.36-1.3284L6.6137 7.959l.0255-.0382L9.7264 2.568c.4687-.81 1.3395-1.3125 2.274-1.3125s1.8052.5025 2.2732 1.3118L23.649 18.806c.2265.3817.351.8407.351 1.3125 0 1.4475-1.1775 2.625-2.625 2.625zm20.2508-2.625q0-.4114-.2003-.75l-3.3525-5.8123v-.0004l-.0002-.0004-2.8875-4.995q-.0062-.0105-.0127-.0204l-.0025-.0036q-.0035-.0067-.0075-.0133l-3.1123-5.3929q-.4331-.75-1.2997-.75t-1.2998.75l-3.127 5.414-.0005.0009-.0004.0003q-.0078.014-.0146.0282l-.0026.0039q-.0066.01-.0126.0204l-2.8657 4.9587-.3206.5593-.0014.0024-.0005.001L1.327 19.366q-.2021.342-.2021.7532 0 .6223.439 1.0613.4387.4387 1.0612.4387h18.7506q.622 0 1.061-.4387.4388-.439.4388-1.0613zM8.876 7.7897l2.474-4.2834q.2168-.375.6503-.375t.6502.375l3.1069 5.383.0026.0051q.0103.0208.0235.0403l.0082.0126 2.5564 4.422h-5.3884l-.6345-1.1021-.0002-.0004-2.1525-3.7275-.001-.0017-.0008-.0017q-.209-.3532-.5505-.5405-.3569-.209-.7442-.2053zm7.002 12.3294q0 .3117-.2194.5308-.2192.2194-.5306.2194h-4.9513q.0127-.022.0245-.0439.1716-.3174.1716-.7063 0-.3911-.183-.72l-.0023-.0047q-.0198-.0427-.051-.082l-.974-1.5867-.0002-.0004-2.2086-3.6064h5.574l.1228.21.0011.002.0117.02.0825.143 3.03 5.2461q.1022.1892.1022.3791m6.2475 0q0 .3117-.2192.5308-.2192.2194-.5307.2194H16.432q.0128-.022.0246-.0439.1716-.3174.1716-.7063 0-.383-.1958-.742l-.0045-.008-.0139-.0238-3.0183-5.2264h5.3859l3.2443 5.625q.1.1692.1.3752zm-12.5027 0q0 .3117-.2194.5308-.2192.2194-.5306.2194H2.625q-.3114 0-.5306-.2194-.2194-.2191-.2194-.5306 0-.2062.0979-.3718l3.0307-5.2511.0013-.0025.0006-.0009q.2076-.3506.5968-.3726.026-.0015.0529-.0015.4187 0 .6401.361l.0002.0002 2.2275 3.6375.0002.0001.99 1.6125q.007.0115.0148.0224.0949.1636.0949.3665m-3.9703-6.75 2.5336-4.3847.0233-.035q.0195-.029.033-.0608.1573-.2434.4399-.3195.2989-.0806.5617.075l.0124.007q.1626.088.2674.2645l.001.0015 2.1503 3.7238.0002.0005.4187.7275h-6.439zm3.8679 6.3705-.0028-.0047q-.045-.0766-.045-.178 0 .0502.0133.0987.0122.0443.0345.084"/>',
10099
10178
  "apache": '<path d="M17.805 2.197v.066h.156v.44h.072v-.44h.156v-.066zm.9 0l-.175.353-.172-.353h-.087v.506h.067V2.3l.172.35h.045l.172-.35v.404h.066v-.506zm-4.257 1c-.204.31-.424.66-.66 1.06l-.04.062a44.457 44.457 0 00-1.265 2.29c-.187.36-.38.742-.577 1.146l2.267-.25c.66-.302.955-.578 1.242-.976a15.5 15.5 0 00.23-.342c.23-.363.46-.763.663-1.16.197-.386.37-.767.505-1.11.083-.22.15-.422.198-.6.042-.158.074-.307.1-.45-.884.15-1.965.295-2.668.33zM11.894 7.78l-.077.16c-.078.16-.157.32-.236.488-.086.18-.172.364-.26.552l-.132.287a75.265 75.265 0 00-1.427 3.3c-.163.397-.327.807-.493 1.23-.15.38-.297.765-.45 1.164l-.02.06c-.15.396-.3.802-.453 1.22l-.01.027.72-.08a.213.213 0 01-.042-.006c.863-.106 2.01-.75 2.75-1.547.342-.367.652-.8.94-1.306.213-.377.413-.795.604-1.258.168-.405.328-.843.48-1.318-.196.105-.423.18-.673.235a2.184 2.184 0 01-.273.046c.806-.31 1.314-.905 1.683-1.64a2.816 2.816 0 01-.968.428c-.06.012-.116.022-.174.03l-.043.006h.002c.278-.118.514-.248.718-.403a2.571 2.571 0 00.637-.698l.063-.104.077-.154a8.107 8.107 0 00.367-.85l.03-.088a3.04 3.04 0 00.123-.463.733.733 0 01-.094.065c-.243.145-.66.277-.996.34l.663-.074-.664.073h-.017l-.1.017c.006-.003.01-.006.017-.008l-2.265.25-.013.022zM8.27 16.45c-.117.323-.236.654-.355.992l-.005.015c-.016.046-.032.094-.05.142-.08.227-.15.432-.31.9.264.12.475.435.675.793a1.44 1.44 0 00-.466-.99c1.293.06 2.41-.27 2.99-1.217.05-.084.096-.173.14-.268-.26.333-.59.474-1.2.44 0 0-.004 0-.005.002l.004-.002c.9-.404 1.354-.79 1.754-1.433.094-.153.186-.32.28-.503-.788.81-1.702 1.04-2.664.865l-.72.078a6.43 6.43 0 00-.067.183zM15.42.112c-.376.222-1 .85-1.748 1.763l.686 1.294c.48-.687.97-1.307 1.462-1.836l.058-.062c-.02.02-.04.04-.057.062-.16.176-.644.74-1.375 1.863.703-.035 1.784-.18 2.666-.33.262-1.47-.258-2.142-.258-2.142s-.66-1.07-1.436-.61zm-3.084 6.402a40.253 40.253 0 011.306-2.26l.04-.064c.224-.352.45-.693.677-1.02l-.685-1.293-.157.192c-.197.245-.403.51-.613.79a39.853 39.853 0 00-2.016 2.97l-.022.038.893 1.763c.19-.378.38-.752.575-1.118zm-3.73 8.32c.158-.406.319-.81.483-1.225.156-.394.32-.79.484-1.19a91.133 91.133 0 011.6-3.604l.205-.424c.12-.243.237-.485.36-.724a.125.125 0 01.02-.04l-.895-1.763-.044.07c-.207.34-.414.687-.617 1.042a38.056 38.056 0 00-1.092 2.04l-.094.193a24.573 24.573 0 00-1.258 3.087 18.492 18.492 0 00-.52 1.997l.896 1.77c.117-.317.24-.638.364-.963zm-1.376-.476a13.38 13.38 0 00-.234 1.692c0 .02-.004.04-.005.06-.28-.45-1.03-.888-1.026-.884.537.778.944 1.55 1.005 2.31-.29.058-.684-.027-1.14-.195.475.436.83.556.97.588-.434.03-.89.328-1.346.67.668-.27 1.21-.38 1.596-.29-.61 1.74-1.23 3.655-1.843 5.69a.538.538 0 00.364-.354c.11-.368.84-2.786 1.978-5.965l.097-.27.028-.078c.12-.332.246-.672.374-1.02l.09-.237v-.004L7.24 14.3c-.003.02-.01.04-.012.06z"/>',
10179
+ "archlinux": '<path d="M11.39.605C10.376 3.092 9.764 4.72 8.635 7.132c.693.734 1.543 1.589 2.923 2.554-1.484-.61-2.496-1.224-3.252-1.86C6.86 10.842 4.596 15.138 0 23.395c3.612-2.085 6.412-3.37 9.021-3.862a6.61 6.61 0 01-.171-1.547l.003-.115c.058-2.315 1.261-4.095 2.687-3.973 1.426.12 2.534 2.096 2.478 4.409a6.52 6.52 0 01-.146 1.243c2.58.505 5.352 1.787 8.914 3.844-.702-1.293-1.33-2.459-1.929-3.57-.943-.73-1.926-1.682-3.933-2.713 1.38.359 2.367.772 3.137 1.234-6.09-11.334-6.582-12.84-8.67-17.74zM22.898 21.36v-.623h-.234v-.084h.562v.084h-.234v.623h.331v-.707h.142l.167.5.034.107a2.26 2.26 0 01.038-.114l.17-.493H24v.707h-.091v-.593l-.206.593h-.084l-.205-.602v.602h-.091"/>',
10100
10180
  "nuget": '<path d="M1.998.342a1.997 1.997 0 1 0 0 3.995 1.997 1.997 0 0 0 0-3.995zm9.18 4.34a6.156 6.156 0 0 0-6.153 6.155v6.667c0 3.4 2.756 6.154 6.154 6.154h6.667c3.4 0 6.154-2.755 6.154-6.154v-6.667a6.154 6.154 0 0 0-6.154-6.155zm-1.477 2.8a2.496 2.496 0 1 1 0 4.993 2.496 2.496 0 0 1 0-4.993zm7.968 6.16a3.996 3.996 0 1 1-.002 7.992 3.996 3.996 0 0 1 .002-7.992z"/>',
10101
10181
  "fastlane": '<path d="M8.144 19.182a1.445 1.445 0 00-1.237-.868l-1.615-4.976-.37-1.135c-.017.01-.112.052-.13.06-.008.01-.025.01-.033.018a.366.366 0 00-.07.037.472.472 0 01-.102.043c-.043.016-.078.034-.12.042-.035.01-.07.027-.104.036-.04.01-.083.025-.126.034-.034.01-.068.017-.103.026a.584.584 0 01-.137.017c-.035.01-.07.01-.103.017-.028 0-.054 0-.08.01h-.16c-.052 0-.095 0-.146-.01-.035 0-.07 0-.095-.01l-.165-.025c-.026-.01-.052-.01-.086-.017a2.456 2.456 0 01-.25-.06 2.498 2.498 0 01-1.633-3.137C1.7 7.97 3.102 7.23 4.417 7.65l.344-1.1A3.673 3.673 0 00.167 8.94a3.674 3.674 0 002.39 4.59 3.877 3.877 0 001.624.128l1.634 5.035a1.432 1.432 0 00-.232.267 1.47 1.47 0 00.387 2.053 1.47 1.47 0 002.2-.662 1.572 1.572 0 00-.03-1.167zM11.901.412a3.656 3.656 0 00-3.62 3.697c.01.54.147 1.09.38 1.58L4.381 8.8a1.468 1.468 0 00-.327-.138 1.47 1.47 0 00-1.83.997c-.233.78.214 1.596.996 1.83.103.032.207.05.31.05.404.025.8-.11 1.09-.38.2-.18.354-.4.43-.678a1.44 1.44 0 00.018-.764l4.237-3.08.962-.702c-.017-.018-.077-.086-.094-.103l-.026-.026c-.017-.018-.035-.036-.052-.06a.46.46 0 01-.07-.087 1.952 1.952 0 00-.076-.103c-.026-.026-.043-.06-.07-.086a1.027 1.027 0 01-.068-.11.56.56 0 00-.06-.096.746.746 0 01-.06-.12c-.017-.034-.034-.06-.043-.095l-.026-.07c-.006-.017-.014-.042-.023-.06-.01-.034-.025-.07-.034-.094-.016-.044-.025-.096-.042-.147l-.025-.096c-.01-.05-.017-.11-.026-.163 0-.025-.01-.05-.018-.085a2.269 2.269 0 01-.017-.26 2.502 2.502 0 012.475-2.526 2.502 2.502 0 012.526 2.475l1.152-.01C15.576 2.01 13.92.386 11.9.41zm11.908 8.664a3.664 3.664 0 00-4.632-2.303 3.803 3.803 0 00-1.385.851l-4.28-3.109c.026-.113.034-.233.034-.354a1.483 1.483 0 00-1.512-1.435 1.483 1.483 0 00-1.436 1.513 1.47 1.47 0 00.744 1.23c.232.128.5.205.782.197.267-.01.525-.086.73-.224l4.239 3.077.962.705.07-.12c.008-.008.008-.025.016-.034.008-.027.025-.044.034-.07.017-.034.034-.06.05-.094a.46.46 0 00.07-.112l.06-.085c.026-.035.052-.07.086-.104.026-.026.043-.05.07-.086l.094-.095.077-.078c.018-.017.035-.034.06-.05.018-.018.036-.027.053-.044a.282.282 0 01.086-.06c.04-.026.084-.052.12-.078a.528.528 0 01.084-.05c.052-.027.094-.053.146-.08.026-.008.052-.025.077-.033a2.51 2.51 0 013.412 1.477 2.507 2.507 0 01-1.572 3.17l.37 1.09c1.9-.627 2.93-2.7 2.294-4.615zm-2.166.62a1.474 1.474 0 00-1.881-.895 1.532 1.532 0 00-.284.14c-.344.214-.584.56-.662.945-.05.258-.043.533.052.8.094.257.24.463.438.627l-1.616 4.976-.37 1.134c.018 0 .112.026.138.026.017 0 .026 0 .043.01.028.008.054.008.08.017.035.01.07.017.104.025.043.01.086.026.13.035.033.01.068.017.102.034l.12.05c.035.018.07.027.103.044.04.017.076.043.12.06.033.017.06.034.093.052.026.01.043.025.06.043.018.01.035.024.052.033.026.018.06.035.086.06a.58.58 0 01.113.096c.025.016.05.042.077.06.043.033.077.076.12.12.02.016.043.034.06.06.06.06.11.13.164.197a2.505 2.505 0 01-.516 3.497 2.507 2.507 0 01-3.5-.515l-.927.686c1.205 1.616 3.5 1.96 5.116.757 1.615-1.203 1.96-3.497.756-5.112a3.82 3.82 0 00-1.237-1.058l1.632-5.036a1.479 1.479 0 001.238-1.968zM18.2 18.905a1.446 1.446 0 00-1.315-.558 1.38 1.38 0 00-.748.3c-.215.163-.37.378-.465.61H9.243c0 .017.01.12.02.137 0 .018 0 .026.01.043 0 .026.01.052.01.078 0 .034.007.07.007.112 0 .043 0 .086.01.128v.112c0 .043-.01.086-.01.13 0 .034-.01.068-.01.11-.01.044-.02.087-.02.138-.007.035-.007.07-.015.103-.01.025-.01.05-.017.08-.01.014-.01.04-.018.06-.01.03-.017.066-.026.1-.017.043-.034.095-.052.14-.01.032-.025.06-.034.092a2.771 2.771 0 01-.077.146c-.016.025-.024.05-.033.077a2.132 2.132 0 01-.138.215 2.504 2.504 0 01-3.49.583 2.501 2.501 0 01-.585-3.489l-.937-.67a3.658 3.658 0 00.86 5.096 3.656 3.656 0 005.095-.86c.318-.445.524-.97.628-1.502h5.294a1.479 1.479 0 002.252.567c.61-.508.73-1.436.232-2.08z"/>',
10102
10182
  "bazel": '<path d="m11.7473 23.8198-5.4987-5.4987v-5.5349l5.4987 5.4986v5.535zm-.1036-17.6412-.0001-.0001.1768-.1768L5.9986.1799.1768 6.0018l.0001.0001 5.8217 5.8271 5.6451-5.6504zM0 6.5323v5.5347l5.7486 5.7539v-5.5347l-.1035-.1035.0001-.0001L0 6.5323zm17.6478 5.6504-5.6505-5.6505-5.6452 5.6504 5.6452 5.6453 5.6505-5.6452zm.1036 5.8885v-5.2853l-5.5042 5.4991v5.5351l5.5042-5.4991v-.2498zM24 6.5323l-5.6451 5.6503.0001.0001-.1036.1035v5.5346L24 12.067V6.5323zm-.1769-.5304.0001-.0001L18.0014.18l-5.8273 5.822 5.8273 5.8272 5.8217-5.8273z"/>',
@@ -10105,6 +10185,9 @@ var init_simple_catalog_generated = __esm({
10105
10185
  "serverless": '<path d="M0 17.57h4.248l-1.316 3.974H0zm0-7.557h6.75l-1.316 3.974H0zm0-7.557h9.252L7.936 6.431H0zm13.44 0H24v3.975H12.123zM9.62 13.987l1.317-3.974H24v3.974zM8.436 17.57H24v3.975H7.119Z"/>',
10106
10186
  "equinixmetal": '<path d="M22.399 7.789v7.005l-1.599.56V7.231L16 5.557v11.472l-1.601.557V4.996L12 4.16l-2.4.836v12.59l-1.599-.557V5.557L3.2 7.232v8.121l-1.599-.56V7.79L0 8.349v7.582l4.801 1.676v-9.24l1.6-.558v10.356L11.2 19.84V6.133l.8-.28.8.28v13.708l4.801-1.676V7.809l1.599.558v9.24L24 15.93V8.349z"/>',
10107
10187
  "metaai": '<path d="M10.73.032c-1.333 0-2.032 1.016-2.032 2.285 0 2.223 2.127 4.953 4.318 4.953 1.301 0 2-.953 2-2.254 0-2.254-2.095-4.984-4.286-4.984m8.413 2.984c-1.968 0-3.397 2.73-3.397 4.825 0 1.556.794 3.016 2.254 3.016 2 0 3.365-2.762 3.365-4.794 0-1.523-.762-3.047-2.222-3.047M4.857 4.159c-1.968 0-3.778 1.016-3.778 2.54 0 1.65 2.16 2.793 4.254 2.793 1.873 0 3.778-.92 3.778-2.508 0-1.682-2.159-2.825-4.254-2.825m-.222 6.476C2.413 10.635 0 13.175 0 15.397c0 1.301.825 2.159 2.095 2.159 2.19 0 4.603-2.508 4.603-4.794 0-1.27-.761-2.127-2.063-2.127m16.667.698c-2.223 0-5.016 1.62-5.016 3.651 0 1.238 1.047 2.19 2.698 2.19 2.159 0 5.016-1.587 5.016-3.682 0-1.302-1.08-2.159-2.698-2.159M7.619 16c-1.524 0-2.38 1.746-2.38 3.429 0 2.063 1.269 4.54 3.047 4.54 1.524 0 2.38-1.81 2.38-3.461C10.667 18.57 9.46 16 7.62 16m6.571 1.016c-1.333 0-2.476.667-2.476 2.032 0 2.095 2.667 4.063 4.92 4.063 1.366 0 2.54-.73 2.54-2.063 0-2.032-2.698-4.032-4.984-4.032"/>',
10188
+ "xcode": '<path d="M19.06 5.3327c.4517-.1936.7744-.2581 1.097-.1936.5163.1291.7744.5163.968.7098.1936.3872.9034.7744 1.2261.8389.2581.0645.7098-.6453 1.0325-1.2906.3227-.5808.5163-1.3552.4517-1.5488-.0645-.1936-.968-.5808-1.1616-.5808-.1291 0-.3872.1291-.8389.0645-.4517-.0645-.9034-.5808-1.1616-.968-.4517-.6453-1.097-1.0325-1.6778-1.3552-.6453-.3227-1.3552-.5163-2.065-.6453-1.0325-.2581-2.065-.4517-3.0975-.3227-.5808.0645-1.2906.1291-1.8069.3227-.0645 0-.1936.1936-.0645.1936s.5808.0645.5808.0645-.5807.1292-.5807.2583c0 .1291.0645.1291.1291.1291.0645 0 1.4842-.0645 2.065 0 .6453.1291 1.3552.4517 1.8069 1.2261.7744 1.4197.4517 2.7749.2581 3.2266-.968 2.1295-8.6472 15.2294-9.0344 16.1328-.3873.9034-.5163 1.4842.5807 2.065s1.6778.3227 2.0005-.0645c.3872-.5163 7.0339-17.1654 9.2925-18.2624zm-3.6138 8.7117h1.5488c1.0325 0 1.2261.5163 1.2261.7098.0645.5163-.1936 1.1616-1.2261 1.1616h-.968l.7744 1.2906c.4517.7744.2581 1.1616 0 1.4197-.3872.3872-1.2261.3872-1.6778-.4517l-.9034-1.5488c-.6453 1.4197-1.2906 2.9684-2.065 4.7753h4.0009c1.9359 0 3.5492-1.6133 3.5492-3.5492V6.5588c-.0645-.1291-.1936-.0645-.2581 0-.3872.4517-1.4842 2.0004-4.001 7.4856zm-9.8087 8.0019h-.3227c-2.3231 0-4.1945-1.8714-4.1945-4.1945V7.0105c0-2.3231 1.8714-4.1945 4.1945-4.1945h9.3571c-.1936-.1936-.968-.5163-1.7423-.4517-.3227 0-.968.1291-1.3552-.1291-.3872-.3227-.3227-.5163-.9034-.5163H4.9277c-2.6458 0-4.7753 2.1295-4.7753 4.7753v11.7447c0 2.6458 2.1295 4.7753 4.4527 4.7108.6452 0 .8388-.5162 1.0324-.9034zM20.4152 6.9459v10.9058c0 2.3231-1.8714 4.1945-4.1945 4.1945H11.897s-.3872 1.0325.8389 1.0325h3.8719c2.6458 0 4.7753-2.1295 4.7753-4.7753V8.8173c.0646-.9034-.7098-1.4842-.9679-1.8714zm-18.5851.0646v10.8413c0 1.9359 1.6133 3.5492 3.5492 3.5492h.5808c0-.0645.7744-1.4197 2.4522-4.2591.1936-.3872.4517-.7744.7098-1.2261H4.4114c-.5808 0-.9034-.3872-.968-.7098-.1291-.5163.1936-1.1616.9034-1.1616h2.3877l3.033-5.2916s-.7098-1.2906-.9034-1.6133c-.2582-.4517-.1291-.9034.129-1.1615.3872-.3872 1.0325-.5808 1.6778.4517l.2581.3872.2581-.3872c.5808-.8389.968-.7744 1.2906-.7098.5163.1291.8389.7098.3872 1.6133L8.864 14.0444h1.3552c.4517-.7744.9034-1.5488 1.3552-2.3877-.0645-.3227-.1291-.7098-.0645-1.0325.0645-.5163.3227-.968.6453-1.3552l.3872.6453c1.2261-2.1295 2.1295-3.9364 2.3877-4.6463.1291-.3872.3227-1.1616.1291-1.8069H5.3794c-2.0005.0001-3.5493 1.6134-3.5493 3.5494zM4.605 17.7872c0-.0645.7744-1.4197.7744-1.4197 1.2261-.3227 1.8069.4517 1.8714.5163 0 0-.8389 1.4842-1.097 1.7423s-.5808.3227-.9034.2581c-.5164-.129-.839-.6453-.6454-1.097z"/>',
10189
+ "curl": '<path d="M.803 14.8169c0-.5342.433-.9665.9665-.9665.5335 0 .9665.4323.9665.9665 0 .5335-.433.9657-.9665.9657-.5335 0-.9666-.4322-.9666-.9657m2.736 0c0-.1963-.0532-.376-.1119-.5525-.2344-.7024-.876-1.2169-1.6575-1.2169-.1249 0-.2344.0465-.3524.0708C.6149 13.2865 0 13.9646 0 14.817c0 .9764.7923 1.7694 1.7695 1.7694.9772 0 1.7694-.793 1.7694-1.7694m-1.7694-7.149c.5335 0 .9665.433.9665.9665 0 .5335-.433.9665-.9665.9665-.5343 0-.9666-.433-.9666-.9665 0-.5335.4323-.9665.9666-.9665m0 2.7359c.9772 0 1.7694-.7923 1.7694-1.7694 0-.1956-.0532-.376-.1119-.5525-.2344-.7024-.8767-1.2169-1.6575-1.2169-.1249 0-.2344.0465-.3524.0716C.6149 7.104 0 7.782 0 8.6344c0 .9771.7923 1.7694 1.7695 1.7694m13.221-5.694c-.5342 0-.9665-.433-.9665-.9664a.966.966 0 01.9666-.9665c.5335 0 .9658.4322.9658.9665 0 .5334-.4323.9664-.9658.9664m-9.6 16.5133c-.5335 0-.9666-.433-.9666-.9665 0-.5342.433-.9665.9666-.9665a.966.966 0 01.9665.9665c0 .5335-.4323.9665-.9665.9665m9.6-19.2491c-.978 0-1.7695.7922-1.7695 1.7694 0 .2085.0525.4025.1187.5882L5.039 18.5581c-.803.1681-1.4179.8462-1.4179 1.6985 0 .9772.7923 1.7694 1.7695 1.7694.9772 0 1.7694-.7922 1.7694-1.7694 0-.1963-.0525-.3759-.111-.5525l8.3427-14.2728c.7778-.1865 1.3683-.8531 1.3683-1.688 0-.977-.793-1.7693-1.7694-1.7693m7.24 2.7359c-.5343 0-.9666-.433-.9666-.9665a.966.966 0 01.9665-.9665c.5335 0 .9666.4322.9666.9665 0 .5334-.433.9665-.9666.9665M12.6313 21.223c-.5343 0-.9665-.433-.9665-.9665a.966.966 0 01.9665-.9665c.5335 0 .9658.4323.9658.9665 0 .5335-.4323.9665-.9658.9665M22.2305 1.974c-.9772 0-1.7694.7922-1.7694 1.7694 0 .2085.0525.4025.1187.5882l-8.3009 14.2265c-.8021.1681-1.417.8462-1.417 1.6985 0 .9772.7922 1.7694 1.7694 1.7694.9764 0 1.7687-.7922 1.7687-1.7694 0-.1963-.0525-.3759-.1111-.5525l8.3427-14.2728C23.4094 5.2448 24 4.5782 24 3.7433c0-.977-.7923-1.7693-1.7695-1.7693"/>',
10190
+ "gnuprivacyguard": '<path d="M2.968 11.583h1.274v-3.82A7.76 7.76 0 0 1 12.005 0a7.76 7.76 0 0 1 7.762 7.763v3.783c-.018.01-.037.028-.056.037l-.01.01-.008.009h-.01l-.01.01-.009.009H19.636l-.018.018h-.02l-.018.01h-.01l-.009.01-.009.009h-.01l-.009.009-.009.01-.01.009-.009.009-.028.019-.019.01-.028.018-.018.01-.02.009-.027.018-.019.01-.01.009-.027.019-.02.01-.046.027-.019.01-.018.009-.02.01h-.008l-.057.027h-.019c-.018.01-.037.02-.065.038h-.01l-.009.01-.028.018-.018.01-.029.018-.018.01h-.01l-.028.018-.018.01-.02.009c-.018.01-.046.019-.065.028l-.018.01-.02.009-.037.018-.037.02-.047.018-.047.019-.019.009-.037.019-.019.01c-1.545.739-4.017 1.516-8.708 1.853-3.362.244-5.403 1.723-6.724 3.502zm4.842 0h8.371v-3.82a4.184 4.184 0 0 0-4.186-4.186A4.184 4.184 0 0 0 7.81 7.763zm13.222 1.461V24H5.572c1.704-.946 2.968-.852 5.075-.787 2.865.094 6.03-1.105 7.585-2.696 1.554-1.592-.14-.375-1.901.074-1.76.45-5.17.497-7.454-.103 7.173.094 9.973-2.219 11.555-4.307 1.583-2.079-.683-.365-2.153.356-1.47.72-4.036 1.227-6.864.852 4.27-.01 7.52-2.144 9.607-4.345z"/>',
10108
10191
  "openapiinitiative": '<path d="M21.039 0a2.959 2.959 0 00-2.65 4.274l-6.447 6.447a2.96 2.96 0 101.335 1.336l6.447-6.447A2.959 2.959 0 1021.04 0zM10.628 2.745c-.072 0-.143.003-.214.004-.072.002-.143.002-.215.005-.447.018-.893.064-1.335.138l-.03.005-.185.033-.105.02a7.718 7.718 0 00-.289.062l-.032.008a10.69 10.69 0 00-2.55.95l-.155.089c-.063.034-.125.07-.187.105-.046.027-.093.051-.14.079H5.19l-.01.005-.036.02v.002l.111.184 3.15 5.23a4.168 4.168 0 01.38-.202 4.294 4.294 0 011.628-.413c.071-.004.143-.008.214-.008zm.428.01v6.333c.325.034.647.103.96.209l4.66-4.66c-.173-.12-.348-.237-.528-.347l-.026-.015c-.056-.035-.112-.067-.168-.1l-.098-.056-.099-.055a12.735 12.735 0 00-.171-.092l-.027-.014a10.628 10.628 0 00-1.425-.617c-.69-.241-1.403-.41-2.128-.505l-.089-.012-.09-.01a6.56 6.56 0 00-.17-.019l-.049-.004-.204-.017a6.44 6.44 0 00-.255-.015c-.031-.003-.062-.003-.093-.004zM4.782 4.498a9.92 9.92 0 00-1.36 1.062l4.461 4.461.018.018c.049-.04.098-.078.149-.116l-.011-.018zm-1.67 1.36c-.05.05-.098.103-.147.154l-.149.155c-.33.357-.63.73-.902 1.118l-.039.056a10.588 10.588 0 00-.216.326 10.6 10.6 0 00-1.65 5.276l-.006.215-.003.214h6.317c0-.072.007-.143.01-.214.005-.072.006-.144.013-.215.081-.822.399-1.625.952-2.3.045-.055.096-.106.144-.16.048-.052.093-.107.144-.158zm16.255 1.464l-4.663 4.663c.106.312.175.634.21.959h6.332l-.004-.094a11.579 11.579 0 00-.032-.456l-.005-.052a13.044 13.044 0 00-.026-.241v-.009l-.033-.24v-.009a10.618 10.618 0 00-.327-1.493l-.003-.01a15.839 15.839 0 00-.07-.228l-.01-.03a14.111 14.111 0 00-.069-.204l-.02-.055a5.65 5.65 0 00-.153-.405 7.84 7.84 0 00-.093-.227 16.67 16.67 0 00-.063-.144l-.037-.081a13.776 13.776 0 00-.08-.171l-.024-.052-.096-.194-.014-.027a11.2 11.2 0 00-.112-.212l-.004-.008a10.615 10.615 0 00-.604-.98zm-4.43 6.05c0 .071-.006.142-.01.214-.003.072-.005.143-.012.214a4.29 4.29 0 01-.952 2.301c-.045.055-.096.107-.144.16-.048.053-.093.108-.144.159l4.467 4.467c.051-.051.099-.104.148-.155.05-.052.1-.103.148-.155.331-.358.633-.733.905-1.122l.032-.046.098-.144.085-.13.04-.063a10.597 10.597 0 001.647-5.272c.003-.071.004-.143.006-.214.001-.071.004-.143.004-.214zM.01 13.8l.004.093.01.179.005.076.017.206.005.046c.007.076.015.153.024.228l.003.022a9.605 9.605 0 00.033.248c.072.505.182 1.005.327 1.497l.002.006c.022.077.047.154.071.23l.004.014.005.014a15.737 15.737 0 00.153.439l.03.08.059.148a7.702 7.702 0 00.093.228l.062.14.038.084.078.169.027.054a10.677 10.677 0 00.225.441l.025.043 5.408-3.258.02-.012a4.314 4.314 0 01-.395-1.414h-.025zm.505 2.846l-.206.058.002.005zm6.425-1.052l-5.415 3.262c.083.139.17.273.259.406l.008.014.004.005.008.014h.001c.007.012.014.022.022.032l.001.002v.001a10.634 10.634 0 00.298.417l.006.008a9.963 9.963 0 00.29.368l.033.04c.043.052.086.103.13.153l.057.065.112.127.064.069.029.031.083.09.035.035c.049.051.098.103.149.153L7.58 16.42a3.86 3.86 0 01-.285-.321 4.422 4.422 0 01-.356-.505zm6.416 1.111c-.05.04-.1.079-.15.116l.011.018 3.257 5.407c.151-.099.3-.2.446-.307.315-.232.62-.484.914-.756l-4.46-4.46zm-5.457.003l-.015.015-4.46 4.46a8.966 8.966 0 00.195.176c.022.02.043.04.065.058l.152.13a10.622 10.622 0 00.215.174l.023.017.191.148.008.005c.268.2.547.389.834.564l.03.018.164.097.101.057a5.458 5.458 0 00.27.148c.008.004.016.01.025.013.162.085.327.164.493.24l.158-.385 2.243-5.448.009-.02a4.328 4.328 0 01-.701-.467zm4.951.353c-.061.037-.124.07-.187.104a4.318 4.318 0 01-3.271.336c-.069-.02-.135-.047-.203-.071-.067-.024-.136-.044-.202-.072l-2.242 5.444-.088.213-.075.183v.001l.017.007a.137.137 0 00.019.007l.005.003c.052.021.106.04.159.06.067.027.133.053.2.077l.102.04c.702.247 1.43.42 2.168.518l.087.012.09.01.172.019a7.173 7.173 0 00.252.022c.023.001.048.001.071.003l.184.011.112.005a7.06 7.06 0 00.358.007h.05a10.667 10.667 0 001.793-.15l.185-.034.105-.02.109-.023.18-.04.032-.008a10.684 10.684 0 002.55-.95c.052-.028.104-.06.156-.089.063-.034.125-.07.187-.105.043-.024.087-.047.13-.073h.001l.002-.002.002-.001.002-.001.007-.004.042-.025-.11-.183-.11-.184zm3.262 5.414l-.042.025.042-.024zm-.05.029zm-.005.004h-.002z"/>',
10109
10192
  "d3": '<path d="M13.312 12C13.312 5.718 8.22.625 1.937.625H0v5h1.938c3.521 0 6.375 2.854 6.375 6.375s-2.854 6.375-6.375 6.375H0v5h1.938c6.281 0 11.374-5.093 11.374-11.375zM24 7.563C24 3.731 20.893.625 17.062.625h-8a13.4154 13.4154 0 0 1 4.686 5h3.314c1.069 0 1.938.868 1.938 1.938 0 1.07-.869 1.938-1.938 1.938h-1.938c.313 1.652.313 3.348 0 5h1.938c1.068 0 1.938.867 1.938 1.938s-.869 1.938-1.938 1.938h-3.314a13.4154 13.4154 0 0 1-4.686 5h8c1.621 0 3.191-.568 4.438-1.605 2.943-2.45 3.346-6.824.895-9.77A6.9459 6.9459 0 0 0 24 7.563z"/>',
10110
10193
  "rstudioide": '<path d="M12.178.002a12.002 12.002 0 0 0-8.662 3.515 12.002 12.002 0 0 0 0 16.97 12.002 12.002 0 0 0 16.97 0 12.002 12.002 0 0 0 0-16.97A12.002 12.002 0 0 0 12.179.002zM7.77 5.995c.562.128 1.05.217 1.663.217.921 0 1.863-.217 2.786-.217 1.79 0 3.45.814 3.45 2.8 0 1.54-.921 2.517-2.35 2.93l2.788 4.107h1.301v1.01h-1.986l-3.293-4.934h-1.757v3.924h1.718v1.01H7.77v-1.01h1.483V7.134L7.77 6.951v-.957zm4.466 1.012c-.596 0-1.213.053-1.864.127v3.798l.941.02c2.298.034 3.183-.85 3.183-2.026 0-1.376-.997-1.919-2.26-1.919z"/>',
@@ -10114,7 +10197,11 @@ var init_simple_catalog_generated = __esm({
10114
10197
  "arcgis": '<path d="M12 0a.84923.84923 0 0 0-.33766.07031l-8.5183 3.69444C2.1458 4.19776 1.4997 5.1816 1.4997 6.2697v13.2521l10.16264 4.40783c.21517.09333.46015.09407.67532.00073l8.5183-3.6959c.99824-.43301 1.64434-1.41685 1.64434-2.50495V4.47814L12.33766.06958C12.23007.02291 12.11516-.00005 12 0Zm0 4.83705c4.16294 0 7.53757 3.3746 7.53757 7.53757S16.163 19.91218 12 19.91218c-4.163 0-7.53757-3.37462-7.53757-7.53756S7.837 4.83705 12 4.83705zm-.3501 1.38871c-.89685-.02267-2.32742.2409-3.74645 1.6143.34958.55454.64544.97782.49 1.41801-.23127.65503-.5139.51378-1.07083.99466-.39567.34169.2067 1.01292-.31275 1.30595-.51945.29306-1.21315.6636-.94925 1.17557.2639.51196 1.4691.83013 1.95929 1.07522.49018.2451.92812.70605.6072 1.2371-.31403.51948-.53713 1.13083-.60134 1.60917 1.0549.94423 2.44706 1.51909 3.97423 1.51909 3.2928 0 5.81772-2.71048 5.96208-6.00017.04062-.92531-.93924-.93972-1.53447-.93972 0 0 .34061.92356.01831 1.43632-.3223.51278-.84968.76166-.83498 1.37699.01464.61533-.93743 1.5967-1.2598 1.9483-.32223.35163-.9228.74718-1.12796-.0586-.2051-.80579-.12596-1.47799.1084-2.04938.23442-.57136-.2174-.74707-.92068-.76174-.7032-.01463-1.0798-.10795-1.18656-1.19315-.08787-.89369 1.2429-1.84356 1.81426-1.84356.33406 0 1.45485.21963 1.50737-.34058.08056-.8593-.8204-1.04164-1.03934-1.60185C13.2877 7.58747 14.98596 6.60707 12 6.24993c-.10475-.01253-.22199-.02093-.3501-.02417z"/>',
10115
10198
  "googlechronicle": '<path d="m2.719 4.812 4.812 3v4l-4.812 3Zm0 10 4.812-3v9.375l-3.914-2.389a1.875 1.875 0 0 1-.898-1.6ZM2.719 0h18.562v4.812H2.719Zm4.812 21.188 13.75-8.594v4.618c0 .626-.323 1.208-.854 1.539L12 24Z"/>',
10116
10199
  "bmcsoftware": '<path d="M6.375 23.999c-.95 0-1.95-.749-1.95-2.2v-3.4c0-1.349.85-2.899 2.05-3.548l4.75-2.8-4.75-2.8C5.325 8.5 4.425 7 4.425 5.65V2.2c0-1.45 1-2.2 2.002-2.2.4 0 .849.1 1.249.35l10.7 6.35c.75.45 1.15 1.149 1.15 1.849 0 .75-.452 1.45-1.15 1.85l-2.55 1.5 2.55 1.501c.75.45 1.2 1.15 1.2 1.85 0 .75-.452 1.45-1.2 1.85L7.674 23.65c-.45.25-.85.35-1.3.35zm7.15-10.599l-5.85 3.45c-.45.25-.9 1.05-.9 1.55v3.05l10.15-6zM6.775 2.6v3.05c0 .5.45 1.3.9 1.55l5.85 3.45 3.45-2.05z"/>',
10117
- "unrealengine": '<path d="M12 0a12 12 0 1012 12A12 12 0 0012 0zm0 23.52A11.52 11.52 0 1123.52 12 11.52 11.52 0 0112 23.52zm7.13-9.791c-.206.997-1.126 3.557-4.06 4.942l-1.179-1.325-1.988 2a7.338 7.338 0 01-5.804-2.978 2.859 2.859 0 00.65.123c.326.006.678-.114.678-.66v-5.394a.89.89 0 00-1.116-.89c-.92.212-1.656 2.509-1.656 2.509a7.304 7.304 0 012.528-5.597 7.408 7.408 0 013.73-1.721c-1.006.573-1.57 1.507-1.57 2.29 0 1.262.76 1.109.984.923v7.28a1.157 1.157 0 00.148.256 1.075 1.075 0 00.88.445c.76 0 1.747-.868 1.747-.868V9.172c0-.6-.452-1.324-.905-1.572 0 0 .838-.149 1.484.346a5.537 5.537 0 01.387-.425c1.508-1.48 2.929-1.902 4.112-2.112 0 0-2.151 1.69-2.151 3.96 0 1.687.043 5.801.043 5.801.799.771 1.986-.342 3.059-1.441Z"/>'
10200
+ "unrealengine": '<path d="M12 0a12 12 0 1012 12A12 12 0 0012 0zm0 23.52A11.52 11.52 0 1123.52 12 11.52 11.52 0 0112 23.52zm7.13-9.791c-.206.997-1.126 3.557-4.06 4.942l-1.179-1.325-1.988 2a7.338 7.338 0 01-5.804-2.978 2.859 2.859 0 00.65.123c.326.006.678-.114.678-.66v-5.394a.89.89 0 00-1.116-.89c-.92.212-1.656 2.509-1.656 2.509a7.304 7.304 0 012.528-5.597 7.408 7.408 0 013.73-1.721c-1.006.573-1.57 1.507-1.57 2.29 0 1.262.76 1.109.984.923v7.28a1.157 1.157 0 00.148.256 1.075 1.075 0 00.88.445c.76 0 1.747-.868 1.747-.868V9.172c0-.6-.452-1.324-.905-1.572 0 0 .838-.149 1.484.346a5.537 5.537 0 01.387-.425c1.508-1.48 2.929-1.902 4.112-2.112 0 0-2.151 1.69-2.151 3.96 0 1.687.043 5.801.043 5.801.799.771 1.986-.342 3.059-1.441Z"/>',
10201
+ "githubpages": '<path d="M14.088 13.126h-.296V9.858h.998c.815 0 1.094.47 1.094.98s-.28.98-1.094.98h-.701v1.308zm0-1.582h.74a.642.642 0 0 0 .733-.705.642.642 0 0 0-.732-.706h-.741zm2.881-.37a1.913 1.913 0 0 0-.653.11v-.262a1.756 1.756 0 0 1 .653-.118c.654 0 .824.297.824.732v1.49h-.17l-.066-.174a1.143 1.143 0 0 1-.657.218.663.663 0 0 1-.763-.702c0-.37.205-.645.776-.68l.575-.035v-.122c0-.318-.113-.457-.519-.457zm-.078.85c-.31.03-.445.192-.445.445 0 .196.048.431.462.431a1.056 1.056 0 0 0 .58-.174v-.758zm1.86.493a.252.252 0 0 0-.083.16c0 .11.053.158.166.17l.74.088c.41.044.598.205.598.584 0 .532-.532.74-1.133.74-.61 0-.976-.178-.976-.657a.609.609 0 0 1 .449-.575v-.005a.321.321 0 0 1-.14-.287.392.392 0 0 1 .166-.297.746.746 0 0 1-.349-.714c0-.449.192-.82.85-.82a1.36 1.36 0 0 1 .349.044h.74v.165l-.365.105a.908.908 0 0 1 .126.505c0 .449-.192.82-.85.82a1.397 1.397 0 0 1-.288-.027zm.127.588c-.288.065-.532.2-.532.48 0 .322.244.413.693.413.435 0 .845-.109.845-.48 0-.221-.105-.309-.37-.34zm.727-1.381c0-.288-.056-.554-.566-.554-.51 0-.567.266-.567.554 0 .288.057.553.567.553.51 0 .566-.266.566-.554zm1.637-.82c.74 0 .828.506.828 1.133v.14h-1.438c.018.379.118.723.61.723a1.665 1.665 0 0 0 .719-.122v.261a1.765 1.765 0 0 1-.719.131c-.736 0-.915-.505-.915-1.133s.179-1.133.915-1.133zm-.61 1.024h1.133c0-.387-.022-.753-.523-.753-.506 0-.597.36-.61.753zm2.601-.052c.619.057.767.266.767.623 0 .336-.213.671-.876.671a2.147 2.147 0 0 1-.649-.109V12.8a1.924 1.924 0 0 0 .654.1c.453 0 .575-.192.575-.397 0-.2-.061-.34-.492-.374-.632-.057-.763-.28-.763-.58 0-.31.2-.645.815-.645a1.627 1.627 0 0 1 .627.11v.26a1.799 1.799 0 0 0-.631-.1c-.432 0-.523.162-.523.376 0 .19.078.29.496.326zm-20.787-.659H1.38a.05.05 0 0 0-.05.05v.522a.05.05 0 0 0 .05.05h.416v.649a1.267 1.267 0 0 1-.351.032c-.305 0-.731-.112-.731-1.048s.443-1.06.86-1.06a1.69 1.69 0 0 1 .614.094.05.05 0 0 0 .06-.05l.12-.504a.047.047 0 0 0-.02-.039 1.715 1.715 0 0 0-.903-.165C.73 9.748 0 10.05 0 11.508s.837 1.675 1.542 1.675a1.736 1.736 0 0 0 .938-.25.043.043 0 0 0 .016-.038v-1.628a.05.05 0 0 0-.05-.05zm5.545-1.294a.05.05 0 0 0-.05-.05H7.34a.05.05 0 0 0-.05.05v1.161h-.936V9.923a.05.05 0 0 0-.05-.05h-.6a.05.05 0 0 0-.05.05v3.145a.05.05 0 0 0 .05.05h.6a.05.05 0 0 0 .05-.05v-1.345h.937l-.002 1.345a.05.05 0 0 0 .05.05h.603a.05.05 0 0 0 .05-.05zm-4.389.412a.388.388 0 1 0-.387.392.39.39 0 0 0 .387-.392zm-.042 2.068v-1.451a.05.05 0 0 0-.05-.05h-.6a.057.057 0 0 0-.051.056v2.08c0 .06.038.079.087.079h.54c.06 0 .074-.03.074-.08zm6.764-1.497h-.597a.05.05 0 0 0-.05.05v1.542a.673.673 0 0 1-.367.11c-.215 0-.272-.097-.272-.307v-1.344a.05.05 0 0 0-.05-.05h-.604a.05.05 0 0 0-.05.05v1.446c0 .626.348.779.828.779a1.398 1.398 0 0 0 .71-.217 1.274 1.274 0 0 0 .022.128.052.052 0 0 0 .044.027l.385-.002a.05.05 0 0 0 .05-.05v-2.112a.05.05 0 0 0-.05-.05zm1.662-.07a1.121 1.121 0 0 0-.569.15V9.923a.05.05 0 0 0-.05-.05h-.602a.05.05 0 0 0-.05.05v3.145a.05.05 0 0 0 .05.05h.418a.05.05 0 0 0 .044-.027.973.973 0 0 0 .025-.144 1.08 1.08 0 0 0 .713.233c.548 0 .862-.278.862-1.248s-.502-1.095-.841-1.095zm-.235 1.771a.716.716 0 0 1-.347-.1v-.996a.793.793 0 0 1 .308-.1c.215-.019.422.046.422.558 0 .54-.094.647-.383.639zm-6.475-1.706h-.45l-.002-.595c0-.023-.011-.034-.037-.034h-.615c-.024 0-.036.01-.036.033v.615l-.33.08a.05.05 0 0 0-.035.048v.387a.05.05 0 0 0 .05.05h.315v.93c0 .692.484.76.812.76a1.375 1.375 0 0 0 .357-.06.046.046 0 0 0 .028-.044l.001-.426a.05.05 0 0 0-.05-.05c-.026 0-.094.01-.163.01-.221 0-.296-.102-.296-.236v-.884h.451a.05.05 0 0 0 .05-.05v-.484a.05.05 0 0 0-.05-.05z"/>',
10202
+ "poetry": '<path d="M21.604 0a19.144 19.144 0 0 1-5.268 13.213L2.396 0l13.583 13.583a19.149 19.149 0 0 1-13.583 5.624V0h19.208Zm-1.911 17.297A24.455 24.455 0 0 1 7.189 24l-4.053-4.053a19.91 19.91 0 0 0 13.37-5.838l3.187 3.188Z"/>',
10203
+ "pytest": '<path d="M2.6152 0v.8867h3.8399V0zm5.0215 0v.8867h3.8418V0zm4.957 0v.8867h3.8418V0zm4.9356 0v.8867h3.8418V0zM2.4473 1.8945a.935.935 0 0 0-.9356.9356c0 .517.4185.9375.9356.9375h19.1054c.5171 0 .9356-.4204.9356-.9375a.935.935 0 0 0-.9356-.9356zm.168 2.8477V24H6.455V4.7422zm5.0214 0V20.543h3.8418V4.7422zm4.957 0V15.291h3.8497V4.7422zm4.9356 0v6.4941h3.8418V4.7422z"/>',
10204
+ "uv": '<path d="m0 .1058.0504 11.9496.0403 9.5597c.0055 1.3199 1.08 2.3854 2.4 2.3798l9.5596-.0403 5.9749-.0252.6075-.0026c1.316-.0056 2.3799-1.0963 2.3799-2.4123h1.0946v2.3894L24 23.9042 23.8992.005 12.9056.0513l.0463 9.5245v5.9637h-1.9583L11.04 9.584 10.9936.0594Z"/>'
10118
10205
  };
10119
10206
  }
10120
10207
  });
@@ -34144,27 +34231,11 @@ function normalise(label) {
34144
34231
  function statusForLabel(label) {
34145
34232
  return label === null ? null : BY_LABEL.get(normalise(label)) ?? null;
34146
34233
  }
34147
- var EDGE_STATUS_RULES, BY_LABEL;
34234
+ var BY_LABEL;
34148
34235
  var init_statuses = __esm({
34149
34236
  "../../packages/diagrams/src/import/mapping/statuses.ts"() {
34150
34237
  "use strict";
34151
- EDGE_STATUS_RULES = [
34152
- { status: "yes", labels: ["y", "ok", "okay", "pass", "passed", "valid", "correct"] },
34153
- { status: "no", labels: ["n", "invalid", "incorrect"] },
34154
- { status: "success", labels: ["success", "successful", "succeeded", "done", "complete", "completed", "approved", "accepted"] },
34155
- { status: "error", labels: ["error", "errors", "failed", "failure", "fail", "rejected", "exception", "crash", "crashed"] },
34156
- { status: "verified", labels: ["authenticated", "verified", "signed in", "logged in"] },
34157
- { status: "allowed", labels: ["allowed", "authorized", "authorised", "permitted", "granted", "access granted"] },
34158
- { status: "denied", labels: ["denied", "forbidden", "unauthorized", "unauthorised", "unauthenticated", "not authenticated", "not authorized", "not allowed", "access denied", "permission denied"] },
34159
- { status: "blocked", labels: ["blocked", "banned", "throttled", "rate limited", "rate limit exceeded", "too many requests"] },
34160
- { status: "warning", labels: ["warning", "warn", "degraded"] },
34161
- { status: "expired", labels: ["expired", "timeout", "timed out"] },
34162
- { status: "retry", labels: ["retry", "retrying", "try again"] },
34163
- { status: "pending", labels: ["pending", "waiting"] },
34164
- { status: "skipped", labels: ["skip", "skipped"] },
34165
- { status: "running", labels: ["running", "in progress", "processing"] },
34166
- { status: "revoked", labels: ["revoked"] }
34167
- ];
34238
+ init_constants();
34168
34239
  BY_LABEL = new Map(EDGE_STATUS_RULES.flatMap((rule) => rule.labels.map((label) => [label, rule.status])));
34169
34240
  }
34170
34241
  });
@@ -133579,14 +133650,14 @@ function refuseMove(scene, ids, by) {
133579
133650
  return reason;
133580
133651
  };
133581
133652
  const touched = scene.edges.filter((edge) => moved5.has(edge.from) !== moved5.has(edge.to));
133582
- const carried = scene.edges.filter((edge) => moved5.has(edge.from) && moved5.has(edge.to));
133653
+ const carried2 = scene.edges.filter((edge) => moved5.has(edge.from) && moved5.has(edge.to));
133583
133654
  const movedRects = [...moved5].flatMap((id) => rectOf(scene, id) ?? []);
133584
- const movedLabels = [...touched, ...carried].flatMap((edge) => edge.label ?? []);
133655
+ const movedLabels = [...touched, ...carried2].flatMap((edge) => edge.label ?? []);
133585
133656
  const region = boundsOf([...movedRects, ...movedLabels].flatMap((rect) => [rect, shiftRect(rect, by, scene.isVertical)]));
133586
133657
  const area2 = region === null ? null : corners(region);
133587
133658
  const still = scene.edges.filter((edge) => !moved5.has(edge.from) && !moved5.has(edge.to) && region !== null && area2 !== null && (mayMeet(edge.points, area2, MOVE_REACH) || edge.label !== null && overlaps2(edge.label, region, MOVE_REACH)));
133588
133659
  const oldHits = new Map(touched.map((edge) => [edge.id, intrusions(scene, edge, edge.points, edge.label)]));
133589
- const movers = /* @__PURE__ */ new Set([...moved5, ...[...touched, ...carried].map((edge) => `edge:${edge.id}`)]);
133660
+ const movers = /* @__PURE__ */ new Set([...moved5, ...[...touched, ...carried2].map((edge) => `edge:${edge.id}`)]);
133590
133661
  const oldStillHits = new Map(still.map((edge) => [edge.id, intrusions(scene, edge, edge.points, edge.label, movers)]));
133591
133662
  const oldRoutes = new Map(scene.edges.map((edge) => [edge, edge.points]));
133592
133663
  const tally = (routeOf4) => {
@@ -133602,7 +133673,7 @@ function refuseMove(scene, ids, by) {
133602
133673
  return { crossings: crossings2, runs };
133603
133674
  };
133604
133675
  for (const id of moved5) commitRect(id);
133605
- for (const edge of carried) {
133676
+ for (const edge of carried2) {
133606
133677
  const [oldPoints, oldLabel] = [edge.points, edge.label];
133607
133678
  edge.points = oldPoints.map((point) => scene.isVertical ? { x: point.x + by, y: point.y } : { x: point.x, y: point.y + by });
133608
133679
  edge.label = oldLabel === null ? null : shiftRect(oldLabel, by, scene.isVertical);
@@ -133934,7 +134005,7 @@ function sizeCard(node3) {
133934
134005
  function sizePill(node3) {
133935
134006
  const iconWidth = node3.icon === null ? 0 : NODE_METRICS.iconSize + NODE_METRICS.pillIconGap;
133936
134007
  const chrome = NODE_METRICS.pillPaddingX * 2 + iconWidth;
133937
- const label = fitText(node3.label, "label", NODE_METRICS.maxWidth - chrome, NODE_METRICS.hardMaxWidth - chrome, 1);
134008
+ const label = fitText(node3.label, "label", NODE_METRICS.hardMaxWidth - chrome, NODE_METRICS.hardMaxWidth - chrome, 1);
133938
134009
  return {
133939
134010
  width: Math.ceil(Math.max(NODE_METRICS.pillMinWidth, widest3(label.lines, "label") + chrome)),
133940
134011
  height: NODE_METRICS.pillHeight,
@@ -140771,12 +140842,23 @@ function verbNamedBy(label) {
140771
140842
  return found === void 0 ? null : found[1];
140772
140843
  }
140773
140844
  function labelIconFor(label) {
140774
- const word2 = label.trim().toLowerCase();
140845
+ const word2 = normalizePhrase(label);
140775
140846
  if (Object.hasOwn(LABEL_ICON_DEFAULTS, word2)) return LABEL_ICON_DEFAULTS[word2] ?? null;
140776
140847
  const verb = verbNamedBy(label);
140777
- return verb === null ? null : EDGE_STYLES[verb].icon;
140848
+ if (verb !== null) return EDGE_STYLES[verb].icon;
140849
+ return carriedIconFor(word2);
140778
140850
  }
140779
- var phrases;
140851
+ function carriedIconFor(text5) {
140852
+ carried ??= new Map(LABEL_CARRIED_THINGS.flatMap((thing) => thing.words.map((word2) => [word2, thing.icon])));
140853
+ const words2 = text5.split(" ");
140854
+ if (text5 === "" || words2.length > LABEL_VERB_MAX_WORDS) return null;
140855
+ for (const size of [2, 1]) {
140856
+ const icon = words2.length >= size ? carried.get(words2.slice(-size).join(" ")) : void 0;
140857
+ if (icon !== void 0) return icon;
140858
+ }
140859
+ return null;
140860
+ }
140861
+ var phrases, carried;
140780
140862
  var init_label_icon = __esm({
140781
140863
  "../../packages/diagrams/src/parse/label-icon.ts"() {
140782
140864
  "use strict";
@@ -179033,7 +179115,8 @@ function buildVocabulary() {
179033
179115
  meaning: 'A dashed frame around nodes or groups it does not own, wherever layout puts them: a scaling group across two zones, or a redundant set inside a tier. Write it after the members, one line: overlay id "Name" members=a,b type=scale-group. Use a group when the frame should own what is inside it.'
179034
179116
  },
179035
179117
  lineOptions: LINE_OPTION_SPECS.map((spec) => ({ ...spec })),
179036
- labelIcons: Object.entries(LABEL_ICON_DEFAULTS).map(([label, icon]) => ({ label, icon })),
179118
+ // The commonest outcomes, enough to show the pattern: topic icon-words lists every label.
179119
+ labelIcons: OUTCOME_EXAMPLES.map((label) => ({ label, icon: LABEL_ICON_DEFAULTS[label] ?? "status:info" })),
179037
179120
  // A few phrases of each relationship, enough to show the pattern: topic icon-words and the generated reference hold every one.
179038
179121
  verbIcons: Object.entries(LABEL_VERB_PHRASES).map(([verb, words2]) => ({ icon: EDGE_STYLES[verb].icon, words: (words2 ?? []).slice(0, VERB_EXAMPLES) })),
179039
179122
  style: [...STYLE_STEPS],
@@ -179116,11 +179199,12 @@ function importFormatsOf(full) {
179116
179199
  function iconWordsOf(full) {
179117
179200
  return {
179118
179201
  answer: "icon-words",
179119
- howToGetAKind: "This is the topic icon-words: every role a node label draws an icon for (roleIcons, in kinds that take roles) and every phrase an arrow label draws a relationship icon for (verbIcons, in flow). A label needs no icon= when it uses one of these words. Call get_diagram_syntax with no kind and no topic for the language.",
179202
+ howToGetAKind: "This is the topic icon-words: every role a node label draws an icon for (roleIcons, in kinds that take roles), every outcome an arrow label draws a status icon for (labelIcons), and every phrase an arrow label draws a relationship icon for (verbIcons, in flow). A label needs no icon= when it uses one of these words. Call get_diagram_syntax with no kind and no topic for the language.",
179120
179203
  kinds: full.kinds,
179121
179204
  kindDetails: [],
179122
179205
  examples: [],
179123
179206
  roleIcons: full.roleIcons,
179207
+ labelIcons: Object.entries(LABEL_ICON_DEFAULTS).map(([label, icon]) => ({ label, icon })),
179124
179208
  verbIcons: Object.entries(LABEL_VERB_PHRASES).map(([verb, words2]) => ({ icon: EDGE_STYLES[verb].icon, words: [...words2 ?? []] }))
179125
179209
  };
179126
179210
  }
@@ -179131,7 +179215,7 @@ function buildSyntax(kind, topic) {
179131
179215
  const detail = full.kindDetails.find((entry2) => entry2.kind === kind);
179132
179216
  return detail === void 0 ? overviewOf(full) : kindOf(full, detail);
179133
179217
  }
179134
- var VERB_EXAMPLES, PLACEMENT, KIND_ONLY_TABLES, OVERVIEW_TEXT;
179218
+ var OUTCOME_EXAMPLES, VERB_EXAMPLES, PLACEMENT, KIND_ONLY_TABLES, OVERVIEW_TEXT;
179135
179219
  var init_build_vocabulary = __esm({
179136
179220
  "../../packages/diagrams/src/services/build-vocabulary.ts"() {
179137
179221
  "use strict";
@@ -179143,6 +179227,7 @@ var init_build_vocabulary = __esm({
179143
179227
  init_registry2();
179144
179228
  init_theme();
179145
179229
  init_examples_generated();
179230
+ OUTCOME_EXAMPLES = ["yes", "no", "success", "failed", "denied", "expired", "crash", "verified"];
179146
179231
  VERB_EXAMPLES = 6;
179147
179232
  PLACEMENT = {
179148
179233
  kinds: "own",
@@ -184140,8 +184225,8 @@ function stampErrorBrands(instance, ctor) {
184140
184225
  function brandedHasInstance(cls, value) {
184141
184226
  try {
184142
184227
  if (typeof value === "object" && value !== null && Object.prototype.hasOwnProperty.call(cls, "mcpBrand") && typeof cls.mcpBrand === "string" && Object.prototype.hasOwnProperty.call(value, BRANDS)) {
184143
- const carried = value[BRANDS];
184144
- if (carried && typeof carried.has === "function" && carried.has(cls.mcpBrand)) return true;
184228
+ const carried2 = value[BRANDS];
184229
+ if (carried2 && typeof carried2.has === "function" && carried2.has(cls.mcpBrand)) return true;
184145
184230
  }
184146
184231
  } catch {
184147
184232
  }
@@ -196925,9 +197010,9 @@ var init_mcp_DIH4cS6P = __esm({
196925
197010
  resolveScopeChallenge = (context) => {
196926
197011
  switch (context.request.method) {
196927
197012
  case "tools/call": {
196928
- const toolName = context.request.params?.name;
196929
- if (typeof toolName !== "string") return;
196930
- const tool = this._registeredTools[toolName];
197013
+ const toolName2 = context.request.params?.name;
197014
+ if (typeof toolName2 !== "string") return;
197015
+ const tool = this._registeredTools[toolName2];
196931
197016
  if (tool === void 0 || !tool.enabled) return;
196932
197017
  return tool.scopeChallenge?.(context);
196933
197018
  }
@@ -197011,23 +197096,23 @@ var init_mcp_DIH4cS6P = __esm({
197011
197096
  /**
197012
197097
  * Validates tool input arguments against the tool's input schema.
197013
197098
  */
197014
- async validateToolInput(tool, args, toolName) {
197015
- if (this._maxToolInputElements !== void 0 && toolInputElementCount(args, this._maxToolInputElements) > this._maxToolInputElements) throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Invalid arguments for tool ${toolName}: arguments contain more than the maximum of ${this._maxToolInputElements} elements`);
197099
+ async validateToolInput(tool, args, toolName2) {
197100
+ if (this._maxToolInputElements !== void 0 && toolInputElementCount(args, this._maxToolInputElements) > this._maxToolInputElements) throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Invalid arguments for tool ${toolName2}: arguments contain more than the maximum of ${this._maxToolInputElements} elements`);
197016
197101
  if (!tool.inputSchema) return;
197017
197102
  const parseResult = await validateStandardSchema(tool.inputSchema, args ?? {});
197018
- if (!parseResult.success) throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Input validation error: Invalid arguments for tool ${toolName}: ${parseResult.error}`);
197103
+ if (!parseResult.success) throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Input validation error: Invalid arguments for tool ${toolName2}: ${parseResult.error}`);
197019
197104
  return parseResult.data;
197020
197105
  }
197021
197106
  /**
197022
197107
  * Validates tool output against the tool's output schema.
197023
197108
  */
197024
- async validateToolOutput(tool, result, toolName) {
197109
+ async validateToolOutput(tool, result, toolName2) {
197025
197110
  if (!tool.outputSchema) return;
197026
197111
  if (isInputRequiredResult(result)) return;
197027
197112
  if (result.isError) return;
197028
- if (result.structuredContent === void 0) throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Output validation error: Tool ${toolName} has an output schema but no structured content was provided`);
197113
+ if (result.structuredContent === void 0) throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Output validation error: Tool ${toolName2} has an output schema but no structured content was provided`);
197029
197114
  const parseResult = await validateStandardSchema(tool.outputSchema, result.structuredContent);
197030
- if (!parseResult.success) throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Output validation error: Invalid structured content for tool ${toolName}: ${parseResult.error}`);
197115
+ if (!parseResult.success) throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Output validation error: Invalid structured content for tool ${toolName2}: ${parseResult.error}`);
197031
197116
  }
197032
197117
  /**
197033
197118
  * Executes a tool handler.
@@ -198377,7 +198462,7 @@ var init_vocabulary27 = __esm({
198377
198462
  overlay: OverlaySchema.describe("A dashed frame around members that may sit in different groups; it owns none of them."),
198378
198463
  group: GroupSchema.describe("How a flow group looks and what it accepts; its corner tab shows its icon and name."),
198379
198464
  lineOptions: external_exports.array(LineOptionSchema).describe("Options that animate a line (animate=on makes dashes travel toward the arrowhead) or number the steps of a flow or sequence (numbered=on, start=, and step= on a line). All are off by default."),
198380
- labelIcons: external_exports.array(LabelIconSchema).describe("Edge labels that get a tick or cross automatically; icon=none on the edge removes it."),
198465
+ labelIcons: external_exports.array(LabelIconSchema).describe("Edge labels that name an outcome and get its status icon automatically (a tick for yes, a cross for no, a clock for expired); one per icon in a kind answer, every one in topic icon-words. icon=none on the edge removes it."),
198381
198466
  verbIcons: external_exports.array(external_exports.object({ icon: external_exports.string().describe("The icon drawn in the label."), words: external_exports.array(external_exports.string()).describe('Phrases that draw it: the whole label, or its first words followed by what is acted on ("reads orders").') })).describe("The icons a flow edge label draws when it names a relationship with a verb. icon= on the edge wins, icon=none removes it, and icons=off on the header turns them all off."),
198382
198467
  style: external_exports.array(external_exports.string()).describe("How to make a flow diagram look finished: verbs on arrows, role= on lines that mean something, typed groups, product names."),
198383
198468
  autoIcons: AutoIconsSchema.describe("Items with no icon= get the icon their label names for certain (a brand, a cloud product, a common role). icon=none keeps one item plain; icons=off on the header keeps them all plain."),
@@ -198883,8 +198968,8 @@ ${body({
198883
198968
  app: " icon=lucide:bot-message-square",
198884
198969
  gateway: ' sub="Rate limits, routing"',
198885
198970
  guard: " icon=lucide:shield-check",
198886
- retrieval: " icon=lucide:search",
198887
- vector: " icon=lucide:database-zap",
198971
+ retrieval: " icon=lucide:file-search",
198972
+ vector: " icon=lucide:database-search",
198888
198973
  llm: ' sub="Managed endpoint" icon=lucide:brain-circuit',
198889
198974
  sources: " icon=lucide:file-text",
198890
198975
  chunker: " icon=lucide:layers",
@@ -198964,13 +199049,13 @@ approval ..> reviewers : "request"`;
198964
199049
  NEUTRAL2 = `flow "{{title}}" direction=down desc="{{description}}"
198965
199050
 
198966
199051
  group pipeline "{{pipeline}}" type=ci-cd {
198967
- node repo storage "{{source}}" sub="{{source-note}}" icon=lucide:git-branch
199052
+ node repo storage "{{source}}" sub="{{source-note}}" icon=lucide:git-fork
198968
199053
  node build step "{{build}}" sub="{{build-note}}" icon=lucide:cog
198969
199054
  node test step "{{test}}" sub="{{test-note}}" icon=lucide:clipboard-check
198970
199055
  node scan step "{{scan}}" sub="{{scan-note}}" icon=lucide:shield-check
198971
199056
  }
198972
199057
 
198973
- node registry storage "{{registry}}" sub="{{registry-note}}" icon=lucide:package
199058
+ node registry storage "{{registry}}" sub="{{registry-note}}" icon=lucide:boxes
198974
199059
  node alerts external "{{alerts}}" icon=lucide:bell
198975
199060
 
198976
199061
  group staging "{{staging}}" type=environment {
@@ -198991,7 +199076,7 @@ ${EDGES2}
198991
199076
  AZURE2 = `flow "{{title}}" provider=azure direction=down desc="{{description}}"
198992
199077
 
198993
199078
  group pipeline "{{pipeline}}" type=ci-cd {
198994
- node repo storage "{{source}}" sub="Azure Repos" icon=lucide:git-branch
199079
+ node repo storage "{{source}}" sub="Azure Repos" icon=lucide:git-fork
198995
199080
  node build step "{{build}}" sub="Azure Pipelines" icon=azure:devops
198996
199081
  node test step "{{test}}" sub="{{test-note}}" icon=lucide:clipboard-check
198997
199082
  node scan step "{{scan}}" sub="{{scan-note}}" icon=lucide:shield-check
@@ -199095,11 +199180,11 @@ api -> secrets : "reads secrets" role=identity`;
199095
199180
  NEUTRAL3 = `flow "{{title}}" direction=down desc="{{description}}"
199096
199181
 
199097
199182
  group delivery "{{pipeline}}" type=ci-cd {
199098
- node repo step "{{repository}}" icon=lucide:git-branch
199183
+ node repo step "{{repository}}" icon=lucide:git-fork
199099
199184
  node build step "{{build}}" icon=lucide:cog
199100
199185
  }
199101
199186
 
199102
- node registry storage "{{registry}}" icon=lucide:package
199187
+ node registry storage "{{registry}}" icon=lucide:boxes
199103
199188
 
199104
199189
  node users client "{{users}}"
199105
199190
 
@@ -199123,7 +199208,7 @@ ${EDGES3}
199123
199208
  GCP2 = `flow "{{title}}" provider=gcp direction=down desc="{{description}}"
199124
199209
 
199125
199210
  group delivery "{{pipeline}}" type=ci-cd {
199126
- node repo step "{{repository}}" icon=lucide:git-branch
199211
+ node repo step "{{repository}}" icon=lucide:git-fork
199127
199212
  node build step "{{build}}" sub="Cloud Build" icon=gcp:cloud-build
199128
199213
  }
199129
199214
 
@@ -199225,9 +199310,9 @@ group lake "{{lake}}" type=resource-group {
199225
199310
  }
199226
199311
 
199227
199312
  node warehouse database "{{warehouse}}" icon=lucide:warehouse
199228
- node dashboards service "{{dashboards}}" icon=lucide:gauge
199313
+ node dashboards service "{{dashboards}}" icon=lucide:layout-dashboard
199229
199314
  node analysts person "{{analysts}}"
199230
- node catalog service "{{catalog}}" icon=lucide:book-open
199315
+ node catalog service "{{catalog}}" icon=lucide:package-search
199231
199316
 
199232
199317
  ${EDGES4}
199233
199318
  `;
@@ -199314,7 +199399,7 @@ group lake "{{lake}}" type=resource-group {
199314
199399
  node warehouse database "{{warehouse}}" sub="BigQuery" icon=gcp:bigquery
199315
199400
  node dashboards service "{{dashboards}}" sub="Looker" icon=gcp:looker
199316
199401
  node analysts person "{{analysts}}"
199317
- node catalog service "{{catalog}}" icon=lucide:book-open
199402
+ node catalog service "{{catalog}}" icon=lucide:package-search
199318
199403
 
199319
199404
  ${EDGES4}
199320
199405
  `;
@@ -199786,7 +199871,7 @@ app-a -> db-a
199786
199871
  app-b -> db-b
199787
199872
  app-c -> db-c`;
199788
199873
  NEUTRAL8 = `flow "{{title}}" direction=down desc="{{description}}"
199789
- ${body3({ vpn: " icon=lucide:router", firewall: " icon=lucide:shield", shared: " icon=lucide:server-cog", app: "", db: "", gateway: " icon=lucide:router" })}`;
199874
+ ${body3({ vpn: " icon=lucide:router", firewall: " icon=lucide:brick-wall-fire", shared: " icon=lucide:server-cog", app: "", db: "", gateway: " icon=lucide:router" })}`;
199790
199875
  AZURE6 = `flow "{{title}}" provider=azure direction=down desc="{{description}}"
199791
199876
  ${body3({ vpn: " icon=azure:virtual-network-gateway", firewall: " icon=azure:firewall", shared: " icon=azure:dns", app: " icon=azure:app-service", db: " icon=azure:sql-database", gateway: " icon=lucide:router" })}`;
199792
199877
  AWS5 = `flow "{{title}}" provider=aws direction=down desc="{{description}}"
@@ -199897,7 +199982,7 @@ ${body4({
199897
199982
  iac: ' sub="Plan" icon=lucide:layers',
199898
199983
  policy: ' sub="Required before apply" icon=lucide:shield-check',
199899
199984
  cluster: " icon=lucide:container",
199900
- secrets: " icon=lucide:key-round",
199985
+ secrets: " icon=lucide:lock-keyhole",
199901
199986
  observability: ' sub="Metrics, logs, traces" icon=lucide:activity',
199902
199987
  cost: ' sub="Spend per team" icon=lucide:coins'
199903
199988
  })}`;
@@ -200348,10 +200433,10 @@ fim ..> siem role=async
200348
200433
  cde-fw ..> siem : "firewall logs" role=async`;
200349
200434
  NEUTRAL13 = `flow "{{title}}" direction=down desc="{{description}}"
200350
200435
  ${body8({
200351
- waf: " icon=lucide:shield",
200436
+ waf: " icon=lucide:brick-wall-fire",
200352
200437
  checkout: " icon=lucide:monitor",
200353
200438
  orders: "",
200354
- firewall: " icon=lucide:shield-x",
200439
+ firewall: " icon=lucide:brick-wall-fire",
200355
200440
  tokenise: ' sub="Card number to token" icon=lucide:key-square',
200356
200441
  payment: " icon=lucide:credit-card",
200357
200442
  vault: ' sub="Encrypted" icon=lucide:lock-keyhole',
@@ -200713,7 +200798,7 @@ function body9(icons) {
200713
200798
  group customer "{{customer}}" type=external-systems {
200714
200799
  node hr external "{{hr-system}}" icon=lucide:users
200715
200800
  node users person "{{users}}"
200716
- node idp identity "{{identity}}" sub="{{identity-sub}}" icon=lucide:fingerprint-pattern
200801
+ node idp identity "{{identity}}" sub="{{identity-sub}}" icon=lucide:id-card
200717
200802
  }
200718
200803
 
200719
200804
  group saas "{{saas}}" type=cloud-boundary {
@@ -200842,7 +200927,7 @@ publish -> bucket : "upload" role=data`;
200842
200927
  NEUTRAL18 = `flow "{{title}}" direction=down desc="{{description}}"
200843
200928
 
200844
200929
  group pipeline "{{pipeline}}" type=ci-cd {
200845
- node repo step "{{repository}}" icon=lucide:git-branch
200930
+ node repo step "{{repository}}" icon=lucide:git-fork
200846
200931
  node build step "{{build}}" icon=lucide:cog
200847
200932
  node publish step "{{publish}}" sub="{{publish-detail}}" icon=lucide:upload
200848
200933
  }
@@ -200850,9 +200935,9 @@ group pipeline "{{pipeline}}" type=ci-cd {
200850
200935
  node visitors client "{{visitors}}"
200851
200936
 
200852
200937
  group edge "{{edge}}" type=edge {
200853
- node dns service "{{dns}}" icon=lucide:book-open
200938
+ node dns service "{{dns}}" icon=lucide:signpost
200854
200939
  node cert secret "{{cert}}" icon=lucide:badge-check
200855
- node cdn gateway "{{cdn}}" icon=lucide:satellite-dish
200940
+ node cdn gateway "{{cdn}}" icon=lucide:globe
200856
200941
  }
200857
200942
 
200858
200943
  group origin "{{origin}}" type=storage-account {
@@ -200864,7 +200949,7 @@ ${EDGES15}
200864
200949
  AWS14 = `flow "{{title}}" provider=aws direction=down desc="{{description}}"
200865
200950
 
200866
200951
  group pipeline "{{pipeline}}" type=ci-cd {
200867
- node repo step "{{repository}}" icon=lucide:git-branch
200952
+ node repo step "{{repository}}" icon=lucide:git-fork
200868
200953
  node build step "{{build}}" sub="CodeBuild" icon=aws:codebuild
200869
200954
  node publish step "{{publish}}" sub="{{publish-detail}}" icon=aws:codepipeline
200870
200955
  }
@@ -201238,7 +201323,7 @@ ${body10({
201238
201323
  replica: ' sub="Reads" icon=lucide:database-backup',
201239
201324
  cache: "",
201240
201325
  storage: ' sub="Uploads" icon=lucide:hard-drive',
201241
- secrets: " icon=lucide:key-round",
201326
+ secrets: " icon=lucide:lock-keyhole",
201242
201327
  monitoring: " icon=lucide:activity"
201243
201328
  })}`;
201244
201329
  AWS16 = `flow "{{title}}" provider=aws direction=down desc="{{description}}"
@@ -201490,7 +201575,7 @@ ${body12({
201490
201575
  proxy: ' sub="Identity-aware" icon=lucide:shield-user',
201491
201576
  policy: ' sub="Checks every request" icon=lucide:list-checks',
201492
201577
  appA: " icon=lucide:book-open",
201493
- appB: " icon=lucide:server-cog",
201578
+ appB: " icon=lucide:layout-dashboard",
201494
201579
  appC: "",
201495
201580
  logs: " icon=lucide:scroll-text",
201496
201581
  siem: ' sub="Alerts and search" icon=lucide:siren',
@@ -202722,26 +202807,11 @@ function imageName(image) {
202722
202807
  const name2 = withoutDigest.split("/").pop() ?? withoutDigest;
202723
202808
  return (name2.split(":")[0] ?? name2).toLowerCase();
202724
202809
  }
202725
- function commandMark(script) {
202726
- const line5 = script.split("\n").map((each) => each.trim()).find((each) => each !== "" && !each.startsWith("#")) ?? "";
202727
- const words2 = line5.split(/\s+/).slice(0, 8);
202728
- const start2 = words2.findIndex((word2) => word2 !== "sudo" && word2 !== "exec" && !/^[A-Za-z_][A-Za-z0-9_]*=/.test(word2));
202729
- const toolAt = (index2) => {
202730
- const word2 = words2[index2] ?? "";
202731
- return word2.slice(word2.lastIndexOf("/") + 1).replace(/\.(?:exe|cmd|bat)$/i, "").toLowerCase();
202732
- };
202733
- const tool = start2 === -1 ? "" : toolAt(start2);
202734
- const runner2 = Object.hasOwn(COMMAND_MARKS, tool) ? COMMAND_MARKS[tool] ?? null : null;
202735
- const ran = RUNNERS.get(tool);
202736
- const next = ran === void 0 ? "" : toolAt(ran.includes(words2[start2 + 1] ?? "") ? start2 + 2 : ran.length === 0 ? start2 + 1 : -1);
202737
- const inner = next === "" || next.startsWith("-") ? null : Object.hasOwn(COMMAND_MARKS, next) ? COMMAND_MARKS[next] ?? null : brandMark(next);
202738
- return inner ?? runner2;
202739
- }
202740
202810
  function chartMark(name2) {
202741
202811
  const lower = name2.trim().toLowerCase();
202742
202812
  return CHART_MARKS[lower] ?? brandMark(lower);
202743
202813
  }
202744
- var OWN_NAMES, IMAGE_LOOKS, BASE_OS_IMAGES, COMMAND_MARKS, RUNNERS, CHART_MARKS;
202814
+ var OWN_NAMES, IMAGE_LOOKS, BASE_OS_IMAGES, CHART_MARKS;
202745
202815
  var init_icons3 = __esm({
202746
202816
  "../../packages/diagrams/src/importers/shared/icons.ts"() {
202747
202817
  "use strict";
@@ -202856,71 +202926,6 @@ var init_icons3 = __esm({
202856
202926
  bun: { type: "service", icon: "simple:bun" }
202857
202927
  };
202858
202928
  BASE_OS_IMAGES = /* @__PURE__ */ new Set(["alpine", "ubuntu", "debian", "busybox", "centos", "fedora", "rockylinux", "almalinux", "amazonlinux", "archlinux"]);
202859
- COMMAND_MARKS = {
202860
- npm: "simple:npm",
202861
- npx: "simple:npm",
202862
- pnpm: "simple:pnpm",
202863
- yarn: "simple:yarn",
202864
- bun: "simple:bun",
202865
- bunx: "simple:bun",
202866
- deno: "simple:deno",
202867
- node: "simple:nodedotjs",
202868
- docker: "simple:docker",
202869
- podman: "simple:podman",
202870
- terraform: "simple:terraform",
202871
- tofu: "simple:opentofu",
202872
- pulumi: "simple:pulumi",
202873
- packer: "simple:packer",
202874
- go: "simple:go",
202875
- cargo: "simple:rust",
202876
- rustc: "simple:rust",
202877
- python: "simple:python",
202878
- python3: "simple:python",
202879
- pip: "simple:python",
202880
- pip3: "simple:python",
202881
- ruby: "simple:ruby",
202882
- bundle: "simple:ruby",
202883
- php: "simple:php",
202884
- mvn: "simple:apachemaven",
202885
- mvnw: "simple:apachemaven",
202886
- gradle: "simple:gradle",
202887
- gradlew: "simple:gradle",
202888
- dotnet: "simple:dotnet",
202889
- kubectl: "simple:kubernetes",
202890
- kustomize: "simple:kubernetes",
202891
- helm: "simple:helm",
202892
- ansible: "simple:ansible",
202893
- "ansible-playbook": "simple:ansible",
202894
- aws: "aws:cloud",
202895
- cdk: "aws:cloud-development-kit",
202896
- sam: "aws:cloud",
202897
- serverless: "simple:serverless",
202898
- sls: "simple:serverless",
202899
- firebase: "simple:firebase",
202900
- az: "azure:cloud",
202901
- gcloud: "gcp:cloud",
202902
- gsutil: "gcp:cloud",
202903
- gh: "simple:github",
202904
- wrangler: "simple:cloudflare",
202905
- vercel: "simple:vercel",
202906
- netlify: "simple:netlify",
202907
- flyctl: "simple:flydotio",
202908
- turbo: "simple:turborepo",
202909
- nx: "simple:nx",
202910
- cmake: "simple:cmake",
202911
- bazel: "simple:bazel"
202912
- };
202913
- RUNNERS = /* @__PURE__ */ new Map([
202914
- ["npx", []],
202915
- ["bunx", []],
202916
- ["pnpx", []],
202917
- ["bundle", ["exec"]],
202918
- ["pnpm", ["exec", "dlx"]],
202919
- ["yarn", ["exec", "dlx"]],
202920
- ["npm", ["exec"]],
202921
- ["poetry", ["run"]],
202922
- ["uv", ["run"]]
202923
- ]);
202924
202929
  CHART_MARKS = {
202925
202930
  "ingress-nginx": "simple:nginx",
202926
202931
  "nginx-ingress": "simple:nginx",
@@ -203404,6 +203409,254 @@ var init_flow2 = __esm({
203404
203409
  }
203405
203410
  });
203406
203411
 
203412
+ // ../../packages/diagrams/src/importers/shared/ci-icons.ts
203413
+ function startIcon(platform, label) {
203414
+ const chrome = NODE_METRICS.pillPaddingX * 2 + NODE_METRICS.iconSize + NODE_METRICS.pillIconGap;
203415
+ return measureRole(label, "label") + chrome <= NODE_METRICS.hardMaxWidth ? CI_PLATFORM_MARKS[platform] : null;
203416
+ }
203417
+ function wordsOf6(label) {
203418
+ const split = /\s/.test(label.trim()) ? label : label.replace(/([a-z0-9])([A-Z])/g, "$1 $2");
203419
+ return split.toLowerCase().split(/[^a-z0-9]+/).filter((each) => each !== "");
203420
+ }
203421
+ function stepWordIcon(label) {
203422
+ const words2 = wordsOf6(label).slice(0, 24);
203423
+ for (let at3 = 0; at3 < words2.length; at3 += 1) {
203424
+ if (notPhrases.has(words2.slice(at3, at3 + 2).join(" "))) {
203425
+ at3 += 1;
203426
+ continue;
203427
+ }
203428
+ for (let length = Math.min(PHRASE_WORDS, words2.length - at3); length >= 1; length -= 1) {
203429
+ const icon = byPhrase.get(words2.slice(at3, at3 + length).join(" "));
203430
+ if (icon !== void 0) return icon;
203431
+ }
203432
+ }
203433
+ return null;
203434
+ }
203435
+ function jobIconOf(lent, name2) {
203436
+ const product = lent.find((each) => !each.tooling && isProductMark(each.icon));
203437
+ return product?.icon ?? stepWordIcon(name2) ?? lent[0]?.icon ?? null;
203438
+ }
203439
+ function isProductMark(icon) {
203440
+ return !icon.startsWith("lucide:") && !TOOLCHAIN_MARKS.has(icon);
203441
+ }
203442
+ function stepIconOf(certain, name2) {
203443
+ if (certain !== null && isProductMark(certain)) return certain;
203444
+ return (name2 === null ? null : stepWordIcon(name2)) ?? certain;
203445
+ }
203446
+ function installsOnly(script) {
203447
+ const line5 = script.split("\n").map((each) => each.trim()).find((each) => each !== "" && !each.startsWith("#")) ?? "";
203448
+ const second = line5.split(/\s+/)[1]?.toLowerCase() ?? "";
203449
+ return INSTALL_WORDS.has(second);
203450
+ }
203451
+ function runnerIcon(labels2) {
203452
+ const lower = labels2.map((label) => label.trim().toLowerCase());
203453
+ for (const { pattern: pattern3, icon } of RUNNER_MARKS) if (lower.some((label) => pattern3.test(label))) return icon;
203454
+ return null;
203455
+ }
203456
+ var CI_PLATFORM_MARKS, STEP_WORDS, NOT_STEP_PHRASES, PHRASE_WORDS, byPhrase, notPhrases, TOOLCHAIN_MARKS, INSTALL_WORDS, RUNNER_MARKS;
203457
+ var init_ci_icons = __esm({
203458
+ "../../packages/diagrams/src/importers/shared/ci-icons.ts"() {
203459
+ "use strict";
203460
+ init_constants();
203461
+ init_measure();
203462
+ init_theme();
203463
+ CI_PLATFORM_MARKS = {
203464
+ "github-actions": "simple:githubactions",
203465
+ "gitlab-ci": "simple:gitlab",
203466
+ "azure-pipelines": "azure:devops"
203467
+ };
203468
+ STEP_WORDS = [
203469
+ { icon: "simple:github", words: ["github release", "github releases"] },
203470
+ { icon: "lucide:git-branch", words: ["checkout", "check out", "checks out", "clone", "clones"] },
203471
+ { icon: "lucide:git-pull-request", words: ["pull request", "pull requests"] },
203472
+ { icon: "lucide:git-merge", words: ["merge", "merges"] },
203473
+ { icon: "lucide:git-commit-horizontal", words: ["commit", "commits"] },
203474
+ { icon: "lucide:package", words: ["install", "installs", "pack", "packs", "package", "packages", "dependencies"] },
203475
+ { icon: EDGE_STYLES.builds.icon, words: ["build", "builds", "compile", "compiles", "bundle", "bundles", "assemble"] },
203476
+ { icon: "lucide:flask-conical", words: ["test", "tests", "e2e", "smoke test", "smoke tests"] },
203477
+ { icon: "lucide:list-checks", words: ["check", "checks", "verify", "verifies", "validate", "validates", "validation", "lint", "lints", "typecheck", "assert", "asserts"] },
203478
+ { icon: EDGE_STYLES.scans.icon, words: ["scan", "scans", "audit", "audits", "codeql"] },
203479
+ { icon: "lucide:signature", words: ["sign", "signs"] },
203480
+ { icon: "lucide:badge-check", words: ["attest", "attests", "attestation", "attestations", "provenance", "sbom", "sboms"] },
203481
+ { icon: "lucide:shield-check", words: ["checksum", "checksums"] },
203482
+ { icon: "lucide:scroll-text", words: ["changelog", "release notes"] },
203483
+ { icon: "lucide:tag", words: ["tag", "tags", "version", "bump"] },
203484
+ { icon: "lucide:upload", words: ["push", "pushes"] },
203485
+ { icon: "lucide:cloud-upload", words: ["publish", "publishes", "upload", "uploads", "release", "releases"] },
203486
+ { icon: EDGE_STYLES.deploys.icon, words: ["deploy", "deploys", "promote", "promotes", "roll out", "rolls out"] },
203487
+ { icon: "lucide:rotate-ccw", words: ["roll back", "rollback", "rolls back"] },
203488
+ { icon: ROLE_ICONS["cache"] ?? "lucide:database-zap", words: ["cache", "caches"] },
203489
+ { icon: "lucide:download", words: ["download", "downloads", "fetch", "fetches"] },
203490
+ { icon: "lucide:bell", words: ["notify", "notifies", "announce"] },
203491
+ { icon: "lucide:message-square", words: ["comment", "comments"] },
203492
+ { icon: EDGE_STYLES.replicates.icon, words: ["mirror", "mirrors"] },
203493
+ { icon: EDGE_STYLES.syncs.icon, words: ["sync", "syncs"] },
203494
+ { icon: EDGE_STYLES.approves.icon, words: ["approve", "approves", "approval", "review", "reviews"] },
203495
+ { icon: "lucide:hourglass", words: ["wait", "waits"] },
203496
+ { icon: "lucide:clipboard-list", words: ["report", "reports", "summary", "summarise", "summarize"] }
203497
+ ];
203498
+ NOT_STEP_PHRASES = ["sign in", "sign into", "sign on", "sign up", "log in"];
203499
+ PHRASE_WORDS = 2;
203500
+ byPhrase = new Map(STEP_WORDS.flatMap((entry2) => entry2.words.map((words2) => [words2, entry2.icon])));
203501
+ notPhrases = new Set(NOT_STEP_PHRASES);
203502
+ TOOLCHAIN_MARKS = /* @__PURE__ */ new Set([
203503
+ "simple:npm",
203504
+ "simple:pnpm",
203505
+ "simple:yarn",
203506
+ "simple:bun",
203507
+ "simple:deno",
203508
+ "simple:nodedotjs",
203509
+ "simple:python",
203510
+ "simple:uv",
203511
+ "simple:poetry",
203512
+ "simple:go",
203513
+ "simple:rust",
203514
+ "simple:ruby",
203515
+ "simple:php",
203516
+ "simple:apachemaven",
203517
+ "simple:gradle",
203518
+ "simple:dotnet",
203519
+ "simple:openjdk",
203520
+ "simple:nuget"
203521
+ ]);
203522
+ INSTALL_WORDS = /* @__PURE__ */ new Set(["install", "ci", "i", "add", "restore"]);
203523
+ RUNNER_MARKS = [
203524
+ { pattern: /^self-hosted$/, icon: "lucide:server" },
203525
+ { pattern: /^ubuntu(?:-|$)/, icon: "simple:ubuntu" },
203526
+ { pattern: /^windows(?:-|$)/, icon: "simple:windows" },
203527
+ { pattern: /^macos(?:-|$)/, icon: "simple:apple" }
203528
+ ];
203529
+ }
203530
+ });
203531
+
203532
+ // ../../packages/diagrams/src/importers/shared/commands.ts
203533
+ function commandWords(script) {
203534
+ const line5 = script.split("\n").map((each) => each.trim()).find((each) => each !== "" && !each.startsWith("#")) ?? "";
203535
+ const words2 = line5.split(/\s+/).slice(0, 8);
203536
+ const start2 = words2.findIndex((word2) => word2 !== "sudo" && word2 !== "exec" && !/^[A-Za-z_][A-Za-z0-9_]*=/.test(word2));
203537
+ return { words: words2, start: start2 };
203538
+ }
203539
+ function toolName(word2) {
203540
+ return word2.slice(word2.lastIndexOf("/") + 1).replace(/\.(?:exe|cmd|bat)$/i, "").toLowerCase();
203541
+ }
203542
+ function commandIcon(script) {
203543
+ const mark = commandMark(script);
203544
+ if (mark !== null) return mark;
203545
+ const { words: words2, start: start2 } = commandWords(script);
203546
+ const tool = start2 === -1 ? "" : toolName(words2[start2] ?? "");
203547
+ if (tool === "grep") return words2.slice(start2 + 1).some((word2) => /^-[A-Za-z]*q/.test(word2)) ? "lucide:list-checks" : null;
203548
+ return Object.hasOwn(COMMAND_GLYPHS, tool) ? COMMAND_GLYPHS[tool] ?? null : null;
203549
+ }
203550
+ function commandMark(script) {
203551
+ const { words: words2, start: start2 } = commandWords(script);
203552
+ const toolAt = (index2) => toolName(words2[index2] ?? "");
203553
+ const tool = start2 === -1 ? "" : toolAt(start2);
203554
+ const runner2 = Object.hasOwn(COMMAND_MARKS, tool) ? COMMAND_MARKS[tool] ?? null : null;
203555
+ const ran = RUNNERS.get(tool);
203556
+ const next = ran === void 0 ? "" : toolAt(ran.includes(words2[start2 + 1] ?? "") ? start2 + 2 : ran.length === 0 ? start2 + 1 : -1);
203557
+ const inner = next === "" || next.startsWith("-") ? null : Object.hasOwn(COMMAND_MARKS, next) ? COMMAND_MARKS[next] ?? null : brandMark(next);
203558
+ return inner ?? runner2;
203559
+ }
203560
+ var COMMAND_MARKS, COMMAND_GLYPHS, RUNNERS;
203561
+ var init_commands2 = __esm({
203562
+ "../../packages/diagrams/src/importers/shared/commands.ts"() {
203563
+ "use strict";
203564
+ init_icons3();
203565
+ COMMAND_MARKS = {
203566
+ npm: "simple:npm",
203567
+ npx: "simple:npm",
203568
+ pnpm: "simple:pnpm",
203569
+ yarn: "simple:yarn",
203570
+ bun: "simple:bun",
203571
+ bunx: "simple:bun",
203572
+ deno: "simple:deno",
203573
+ node: "simple:nodedotjs",
203574
+ docker: "simple:docker",
203575
+ podman: "simple:podman",
203576
+ terraform: "simple:terraform",
203577
+ tofu: "simple:opentofu",
203578
+ pulumi: "simple:pulumi",
203579
+ packer: "simple:packer",
203580
+ go: "simple:go",
203581
+ cargo: "simple:rust",
203582
+ rustc: "simple:rust",
203583
+ python: "simple:python",
203584
+ python3: "simple:python",
203585
+ pip: "simple:python",
203586
+ pip3: "simple:python",
203587
+ ruby: "simple:ruby",
203588
+ bundle: "simple:ruby",
203589
+ php: "simple:php",
203590
+ mvn: "simple:apachemaven",
203591
+ mvnw: "simple:apachemaven",
203592
+ gradle: "simple:gradle",
203593
+ gradlew: "simple:gradle",
203594
+ dotnet: "simple:dotnet",
203595
+ kubectl: "simple:kubernetes",
203596
+ kustomize: "simple:kubernetes",
203597
+ helm: "simple:helm",
203598
+ ansible: "simple:ansible",
203599
+ "ansible-playbook": "simple:ansible",
203600
+ aws: "aws:cloud",
203601
+ cdk: "aws:cloud-development-kit",
203602
+ sam: "aws:cloud",
203603
+ serverless: "simple:serverless",
203604
+ sls: "simple:serverless",
203605
+ firebase: "simple:firebase",
203606
+ az: "azure:cloud",
203607
+ gcloud: "gcp:cloud",
203608
+ gsutil: "gcp:cloud",
203609
+ gh: "simple:github",
203610
+ wrangler: "simple:cloudflare",
203611
+ vercel: "simple:vercel",
203612
+ netlify: "simple:netlify",
203613
+ flyctl: "simple:flydotio",
203614
+ turbo: "simple:turborepo",
203615
+ nx: "simple:nx",
203616
+ cmake: "simple:cmake",
203617
+ bazel: "simple:bazel",
203618
+ git: "simple:git",
203619
+ uv: "simple:uv",
203620
+ uvx: "simple:uv",
203621
+ poetry: "simple:poetry",
203622
+ pytest: "simple:pytest",
203623
+ cosign: "simple:sigstore",
203624
+ gpg: "simple:gnuprivacyguard",
203625
+ curl: "simple:curl"
203626
+ };
203627
+ COMMAND_GLYPHS = {
203628
+ sha256sum: "lucide:shield-check",
203629
+ sha512sum: "lucide:shield-check",
203630
+ sha1sum: "lucide:shield-check",
203631
+ shasum: "lucide:shield-check",
203632
+ md5sum: "lucide:shield-check",
203633
+ wget: "lucide:download",
203634
+ jq: "lucide:braces",
203635
+ yq: "lucide:braces",
203636
+ zip: "lucide:archive",
203637
+ unzip: "lucide:archive",
203638
+ tar: "lucide:archive",
203639
+ gzip: "lucide:archive",
203640
+ make: "lucide:hammer",
203641
+ test: "lucide:list-checks",
203642
+ "[": "lucide:list-checks",
203643
+ cmp: "lucide:list-checks",
203644
+ diff: "lucide:list-checks"
203645
+ };
203646
+ RUNNERS = /* @__PURE__ */ new Map([
203647
+ ["npx", []],
203648
+ ["bunx", []],
203649
+ ["pnpx", []],
203650
+ ["bundle", ["exec"]],
203651
+ ["pnpm", ["exec", "dlx"]],
203652
+ ["yarn", ["exec", "dlx"]],
203653
+ ["npm", ["exec"]],
203654
+ ["poetry", ["run"]],
203655
+ ["uv", ["run"]]
203656
+ ]);
203657
+ }
203658
+ });
203659
+
203407
203660
  // ../../packages/diagrams/src/importers/shared/positions.ts
203408
203661
  function spanAt3(line5, column, length = 1) {
203409
203662
  return { line: Math.max(1, line5), column: Math.max(1, column), length: Math.max(1, length) };
@@ -203771,6 +204024,8 @@ var init_shared2 = __esm({
203771
204024
  init_edge_style();
203772
204025
  init_flow2();
203773
204026
  init_split_flow();
204027
+ init_ci_icons();
204028
+ init_commands2();
203774
204029
  init_icons3();
203775
204030
  init_positions();
203776
204031
  init_reporter2();
@@ -211105,17 +211360,24 @@ var init_asyncapi = __esm({
211105
211360
 
211106
211361
  // ../../packages/diagrams/src/importers/azure-pipelines/pipeline.ts
211107
211362
  function stepLook(step) {
211363
+ const named = text3(get(step, "displayName")) ?? text3(get(step, "name"));
211108
211364
  const task = text3(get(step, "task"));
211109
211365
  if (task !== null) {
211110
211366
  const name2 = (task.split("@")[0] ?? task).toLowerCase();
211111
- return { icon: TASK_ICONS[name2] ?? null, plumbing: PLUMBING_TASKS.has(name2) };
211367
+ const plumbing = PLUMBING_TASKS[name2];
211368
+ if (plumbing !== void 0) return { icon: plumbing, lends: null, plumbing: true };
211369
+ const icon = TASK_ICONS[name2] ?? null;
211370
+ return { icon: stepIconOf(icon, named) ?? PIPELINES_MARK, lends: icon === null ? null : { icon, tooling: TOOLING_TASKS.has(name2) }, plumbing: false };
211112
211371
  }
211113
- if (get(step, "checkout") !== void 0 || ["download", "publish", "getPackage", "restoreCache"].some((key) => get(step, key) !== void 0)) return { icon: null, plumbing: true };
211372
+ const moved5 = PLUMBING_KEYS.find((key) => get(step, key) !== void 0);
211373
+ if (moved5 !== void 0) return { icon: moved5 === "checkout" && text3(get(step, moved5)) === "none" ? null : PLUMBING_TASKS[moved5.toLowerCase()] ?? null, lends: null, plumbing: true };
211114
211374
  for (const key of ["script", "bash", "pwsh", "powershell"]) {
211115
211375
  const script = text3(get(step, key));
211116
- if (script !== null) return { icon: commandMark(script), plumbing: false };
211376
+ if (script === null) continue;
211377
+ const icon = commandIcon(script);
211378
+ return { icon: stepIconOf(icon, named), lends: icon === null ? null : { icon, tooling: installsOnly(script) }, plumbing: false };
211117
211379
  }
211118
- return { icon: null, plumbing: false };
211380
+ return { icon: stepIconOf(null, named), lends: null, plumbing: false };
211119
211381
  }
211120
211382
  function dependsOnOf2(node3) {
211121
211383
  const value = get(node3, "dependsOn");
@@ -211152,7 +211414,15 @@ function stepsOf(list, templates) {
211152
211414
  function poolOf(node3, fallback) {
211153
211415
  const pool = get(node3, "pool");
211154
211416
  if (pool === void 0) return fallback;
211155
- return text3(pool) ?? text3(get(pool, "vmImage")) ?? text3(get(pool, "name")) ?? fallback;
211417
+ const image = text3(get(pool, "vmImage"));
211418
+ if (image !== null) return { name: image, named: false };
211419
+ const name2 = text3(pool) ?? text3(get(pool, "name"));
211420
+ return name2 === null ? fallback : { name: name2, named: true };
211421
+ }
211422
+ function poolIcon(pool) {
211423
+ if (pool === null) return null;
211424
+ if (pool.named) return pool.name.trim().toLowerCase() === HOSTED_POOL ? null : "lucide:server";
211425
+ return runnerIcon([pool.name]);
211156
211426
  }
211157
211427
  function deploymentSteps(job, templates) {
211158
211428
  const strategy = get(job, "strategy");
@@ -211216,7 +211486,7 @@ function readPipeline2(root) {
211216
211486
  const job = { name: "Job", label: "Job", dependsOn: null, conditional: false, environment: null, pool, runs: 1, matrix: false, steps, line: 1, column: 1 };
211217
211487
  return { stages: steps.length === 0 ? [] : [{ name: "", label: "", dependsOn: [], conditional: false, jobs: [job], line: 1, column: 1 }], shape: "steps", templates };
211218
211488
  }
211219
- var TASK_ICONS, PLUMBING_TASKS, MAX_STEP_LABEL;
211489
+ var TASK_ICONS, PLUMBING_TASKS, TOOLING_TASKS, PLUMBING_KEYS, PIPELINES_MARK, MAX_STEP_LABEL, HOSTED_POOL;
211220
211490
  var init_pipeline = __esm({
211221
211491
  "../../packages/diagrams/src/importers/azure-pipelines/pipeline.ts"() {
211222
211492
  "use strict";
@@ -211262,20 +211532,55 @@ var init_pipeline = __esm({
211262
211532
  awsshellscript: "aws:cloud",
211263
211533
  s3upload: "aws:s3",
211264
211534
  lambdadeployfunction: "aws:lambda",
211265
- cloudformationcreateorupdatestack: "aws:cloudformation"
211535
+ cloudformationcreateorupdatestack: "aws:cloudformation",
211536
+ azurekeyvault: "azure:key-vault",
211537
+ githubrelease: "simple:github",
211538
+ xcode: "simple:xcode",
211539
+ androidsigning: "lucide:signature",
211540
+ vstest: "lucide:flask-conical",
211541
+ manualvalidation: "lucide:check-check",
211542
+ delay: "lucide:hourglass",
211543
+ sonarqubeprepare: "simple:sonarqubeserver",
211544
+ sonarqubeanalyze: "simple:sonarqubeserver",
211545
+ sonarqubepublish: "simple:sonarqubeserver"
211546
+ };
211547
+ PLUMBING_TASKS = {
211548
+ publishpipelineartifact: "lucide:cloud-upload",
211549
+ publishbuildartifacts: "lucide:cloud-upload",
211550
+ downloadpipelineartifact: "lucide:download",
211551
+ downloadbuildartifacts: "lucide:download",
211552
+ cache: "lucide:database-zap",
211553
+ copyfiles: "lucide:copy",
211554
+ archivefiles: "lucide:archive",
211555
+ extractfiles: "lucide:archive",
211556
+ publishtestresults: "lucide:clipboard-list",
211557
+ publishcodecoverageresults: "lucide:clipboard-list",
211558
+ checkout: "lucide:git-branch",
211559
+ download: "lucide:download",
211560
+ publish: "lucide:cloud-upload",
211561
+ getpackage: "lucide:package",
211562
+ restorecache: "lucide:database-zap"
211266
211563
  };
211267
- PLUMBING_TASKS = /* @__PURE__ */ new Set(["publishpipelineartifact", "downloadpipelineartifact", "publishbuildartifacts", "downloadbuildartifacts", "cache", "copyfiles", "archivefiles", "extractfiles", "publishtestresults", "publishcodecoverageresults"]);
211564
+ TOOLING_TASKS = /* @__PURE__ */ new Set(["nodetool", "usenode", "usepythonversion", "usedotnet", "javatoolinstaller", "gotool", "kubectlinstaller", "helminstaller", "terraforminstaller", "npmauthenticate", "pipauthenticate", "nugetauthenticate"]);
211565
+ PLUMBING_KEYS = ["checkout", "download", "publish", "getPackage", "restoreCache"];
211566
+ PIPELINES_MARK = CI_PLATFORM_MARKS["azure-pipelines"];
211268
211567
  MAX_STEP_LABEL = 48;
211568
+ HOSTED_POOL = "azure pipelines";
211269
211569
  }
211270
211570
  });
211271
211571
 
211272
211572
  // ../../packages/diagrams/src/importers/azure-pipelines/index.ts
211573
+ function jobIcon(job) {
211574
+ const lent = job.steps.map((step) => step.lends).filter((each) => each !== null);
211575
+ const deploys = job.environment === null ? null : EDGE_STYLES.deploys.icon;
211576
+ return jobIconOf(lent, job.label) ?? deploys ?? poolIcon(job.pool);
211577
+ }
211273
211578
  function subOf(job, stage) {
211274
211579
  const parts = [
211275
211580
  job.conditional || stage.conditional ? "when its condition holds" : null,
211276
211581
  job.runs > 1 ? `${job.runs} ${job.matrix ? "matrix" : "parallel"} runs` : null,
211277
211582
  job.environment === null ? null : `deploys to ${job.environment}`,
211278
- job.pool,
211583
+ job.pool?.name ?? null,
211279
211584
  job.steps.length === 0 ? null : countOf2(job.steps.length, "step")
211280
211585
  ].filter((part) => part !== null);
211281
211586
  return parts.length === 0 ? null : cleanText(parts.join(", "));
@@ -211298,7 +211603,7 @@ function readAzurePipelines(source, context) {
211298
211603
  return null;
211299
211604
  }
211300
211605
  const stages = pipeline.stages.filter((stage) => stage.jobs.length > 0);
211301
- const nodes = [{ key: START_KEY, type: "terminal", label: "Pipeline starts" }];
211606
+ const nodes = [{ key: START_KEY, type: "terminal", label: "Pipeline starts", icon: CI_PLATFORM_MARKS["azure-pipelines"] }];
211302
211607
  const groups = [];
211303
211608
  const edges = [];
211304
211609
  const unresolved = [];
@@ -211309,7 +211614,7 @@ function readAzurePipelines(source, context) {
211309
211614
  return writeFlow(
211310
211615
  {
211311
211616
  title: context.title ?? "Azure pipeline",
211312
- desc: `The ${countOf2(job.steps.length, "step")} of an Azure pipeline of one job${job.pool === null ? "" : ` on ${cleanText(job.pool)}`}, in order. Imported from Azure Pipelines.`,
211617
+ desc: `The ${countOf2(job.steps.length, "step")} of an Azure pipeline of one job${job.pool === null ? "" : ` on ${cleanText(job.pool.name)}`}, in order. Imported from Azure Pipelines.`,
211313
211618
  direction: "down",
211314
211619
  nodes,
211315
211620
  groups,
@@ -211377,16 +211682,16 @@ function readAzurePipelines(source, context) {
211377
211682
  context.report
211378
211683
  );
211379
211684
  }
211380
- var hintOf, jobIcon, START_KEY, azurePipelinesImporter;
211685
+ var hintOf, START_KEY, azurePipelinesImporter;
211381
211686
  var init_azure_pipelines = __esm({
211382
211687
  "../../packages/diagrams/src/importers/azure-pipelines/index.ts"() {
211383
211688
  "use strict";
211689
+ init_constants();
211384
211690
  init_core();
211385
211691
  init_shared2();
211386
211692
  init_yaml();
211387
211693
  init_pipeline();
211388
211694
  hintOf = (name2) => name2.replace(/([a-z0-9])([A-Z][a-z])/g, "$1_$2").toLowerCase();
211389
- jobIcon = (job) => job.steps.filter((step) => !step.plumbing).map((step) => step.icon).find((icon) => icon !== null) ?? null;
211390
211695
  START_KEY = "pipeline";
211391
211696
  azurePipelinesImporter = { format: "azure-pipelines", kinds: ["flow"], joins: null, extensions: [], read: readAzurePipelines };
211392
211697
  }
@@ -214241,7 +214546,7 @@ var init_instructions = __esm({
214241
214546
  });
214242
214547
 
214243
214548
  // ../../packages/diagrams/src/importers/dockerfile/stages.ts
214244
- function wordsOf6(args, escape2) {
214549
+ function wordsOf7(args, escape2) {
214245
214550
  const words2 = [];
214246
214551
  let current2 = "";
214247
214552
  let quote3 = "";
@@ -214316,7 +214621,7 @@ function expand2(value, vars, missing) {
214316
214621
  return out;
214317
214622
  }
214318
214623
  function pairsOf(keyword, args, escape2) {
214319
- const words2 = wordsOf6(args, escape2);
214624
+ const words2 = wordsOf7(args, escape2);
214320
214625
  if (keyword === "ENV" && words2.length >= 2 && !(words2[0] ?? "").includes("=")) return [[words2[0] ?? "", words2.slice(1).join(" ")]];
214321
214626
  return words2.map((word2) => {
214322
214627
  const equals = word2.indexOf("=");
@@ -214364,7 +214669,7 @@ function readBuild(instructions, escape2) {
214364
214669
  continue;
214365
214670
  }
214366
214671
  if (keyword === "FROM") {
214367
- const words3 = wordsOf6(args, escape2);
214672
+ const words3 = wordsOf7(args, escape2);
214368
214673
  const platform = flagOf(words3, "platform");
214369
214674
  const rest = words3.filter((word2) => !word2.startsWith("--"));
214370
214675
  const raw = rest[0] ?? "";
@@ -214391,7 +214696,7 @@ function readBuild(instructions, escape2) {
214391
214696
  } else problems.push({ kind: "before-from", offset, text: keyword });
214392
214697
  continue;
214393
214698
  }
214394
- const words2 = wordsOf6(args, escape2);
214699
+ const words2 = wordsOf7(args, escape2);
214395
214700
  const local2 = (value) => expand2(value, current2.vars, () => void 0);
214396
214701
  if (STEPS3.has(keyword)) current2.steps += 1;
214397
214702
  if (keyword === "ARG" || keyword === "ENV") {
@@ -216643,9 +216948,28 @@ function readStep2(step) {
216643
216948
  const run3 = text3(get(step, "run"));
216644
216949
  const name2 = text3(get(step, "name"));
216645
216950
  const action = uses === null ? null : uses.split("@")[0] ?? uses;
216646
- const icon = (action === null || action.startsWith("./") || action.startsWith("docker://") ? null : actionIcon(action)) ?? (run3 === null ? null : commandMark(run3));
216951
+ const local2 = action?.startsWith("./") ?? false;
216952
+ const docker = action?.startsWith("docker://") === true ? action.slice("docker://".length) : null;
216953
+ const other = action !== null && !local2 && docker === null;
216954
+ const certain = other ? actionIcon(action) : docker !== null ? imageLook(docker)?.icon ?? DOCKER_MARK : run3 === null ? null : commandIcon(run3);
216955
+ const icon = local2 ? ACTIONS_MARK : stepIconOf(certain, name2 === null ? null : readable2(name2)) ?? (other ? ACTIONS_MARK : null);
216956
+ const [owner = "", repository = "", ...rest] = (action ?? "").toLowerCase().split("/");
216957
+ const plumbing = other && PLUMBING_ACTIONS.has(`${owner}/${repository}`);
216958
+ const tooling = other && SETUP_ACTION.test(rest.at(-1) ?? repository) || run3 !== null && installsOnly(run3);
216647
216959
  const label = name2 ?? (uses !== null ? actionLabel(uses) : run3 !== null ? commandLabel(run3) : "Step");
216648
- return { label: cleanText(readable2(label), "Step"), icon, plumbing: action !== null && PLUMBING_ACTIONS.has(action.toLowerCase()), line: step.line, column: step.column };
216960
+ return { label: cleanText(readable2(label), "Step"), icon, lends: plumbing || certain === null ? null : { icon: certain, tooling }, plumbing, line: step.line, column: step.column };
216961
+ }
216962
+ function jobIcon2(job, label, steps) {
216963
+ const named = jobIconOf(
216964
+ steps.map((step) => step.lends).filter((lent) => lent !== null),
216965
+ label
216966
+ );
216967
+ if (named !== null) return named;
216968
+ if (text3(get(job, "uses")) !== null || steps.some((step) => step.icon === ACTIONS_MARK)) return ACTIONS_MARK;
216969
+ if (get(job, "environment") !== void 0) return EDGE_STYLES.deploys.icon;
216970
+ const runsOn = get(job, "runs-on");
216971
+ const runner2 = text3(runsOn);
216972
+ return runnerIcon(runner2 === null ? names8(runsOn) : [runner2]);
216649
216973
  }
216650
216974
  function jobDetail(job) {
216651
216975
  const workflow = text3(get(job, "uses"));
@@ -216659,15 +216983,11 @@ function jobDetail(job) {
216659
216983
  return parts.length === 0 ? null : cleanText(parts.join(", "));
216660
216984
  }
216661
216985
  function readJobs(root) {
216662
- return entries(get(root, "jobs")).map((entry2) => ({
216663
- id: entry2.key,
216664
- label: cleanText(readable2(text3(get(entry2.value, "name")) ?? humanize2(entry2.key)), entry2.key),
216665
- needs: names8(get(entry2.value, "needs")),
216666
- detail: jobDetail(entry2.value),
216667
- steps: items(get(entry2.value, "steps")).filter((step) => step.kind === "map").map(readStep2),
216668
- line: entry2.line,
216669
- column: entry2.column
216670
- }));
216986
+ return entries(get(root, "jobs")).map((entry2) => {
216987
+ const label = cleanText(readable2(text3(get(entry2.value, "name")) ?? humanize2(entry2.key)), entry2.key);
216988
+ const steps = items(get(entry2.value, "steps")).filter((step) => step.kind === "map").map(readStep2);
216989
+ return { id: entry2.key, label, needs: names8(get(entry2.value, "needs")), detail: jobDetail(entry2.value), icon: jobIcon2(entry2.value, label, steps), steps, line: entry2.line, column: entry2.column };
216990
+ });
216671
216991
  }
216672
216992
  function eventWords(on, event) {
216673
216993
  const settings = get(on, event);
@@ -216693,16 +217013,17 @@ function triggerOf(root) {
216693
217013
  const short3 = `${words2.map((word2) => word2.short).join(" or ")}${more}`;
216694
217014
  return { label: cleanText(`${short3.charAt(0).toUpperCase()}${short3.slice(1)}`), sentence: cleanText(`${words2.map((word2) => word2.long).join(" or ")}${more}`) };
216695
217015
  }
216696
- var PLUMBING_ACTIONS, MAX_STEP_LABEL2, ACTION_ICONS, OWNER_ICONS;
217016
+ var PLUMBING_ACTIONS, MAX_STEP_LABEL2, ACTION_ICONS, OWNER_ICONS, DOCKER_MARK, ACTIONS_MARK, SETUP_ACTION;
216697
217017
  var init_workflow = __esm({
216698
217018
  "../../packages/diagrams/src/importers/github-actions/workflow.ts"() {
216699
217019
  "use strict";
217020
+ init_constants();
216700
217021
  init_shared2();
216701
217022
  init_yaml();
216702
- PLUMBING_ACTIONS = /* @__PURE__ */ new Set(["actions/checkout", "actions/upload-artifact", "actions/download-artifact", "actions/cache"]);
217023
+ PLUMBING_ACTIONS = /* @__PURE__ */ new Set(["actions/checkout", "actions/upload-artifact", "actions/download-artifact", "actions/cache", "actions/create-github-app-token"]);
216703
217024
  MAX_STEP_LABEL2 = 48;
216704
217025
  ACTION_ICONS = {
216705
- "actions/checkout": "simple:github",
217026
+ "actions/checkout": "lucide:git-branch",
216706
217027
  "actions/setup-node": "simple:nodedotjs",
216707
217028
  "actions/setup-python": "simple:python",
216708
217029
  "actions/setup-go": "simple:go",
@@ -216713,13 +217034,40 @@ var init_workflow = __esm({
216713
217034
  "actions/cache": "lucide:database-zap",
216714
217035
  "actions/github-script": "simple:github",
216715
217036
  "actions/create-release": "simple:github",
216716
- "actions/create-github-app-token": "simple:github",
216717
- "actions/deploy-pages": "simple:github",
216718
- "actions/upload-pages-artifact": "simple:github",
216719
- "actions/configure-pages": "simple:github",
217037
+ "actions/create-github-app-token": "lucide:key-round",
217038
+ "actions/deploy-pages": "simple:githubpages",
217039
+ "actions/upload-pages-artifact": "simple:githubpages",
217040
+ "actions/configure-pages": "simple:githubpages",
217041
+ "actions/attest-build-provenance": "lucide:badge-check",
217042
+ "actions/attest-sbom": "lucide:badge-check",
217043
+ "actions/attest": "lucide:badge-check",
217044
+ "actions/dependency-review-action": "lucide:scan-search",
217045
+ "actions/labeler": "lucide:tag",
217046
+ "actions/stale": "lucide:hourglass",
216720
217047
  "softprops/action-gh-release": "simple:github",
216721
- "peter-evans/create-pull-request": "simple:github",
216722
- "github/codeql-action": "simple:github",
217048
+ "ncipollo/release-action": "simple:github",
217049
+ "peter-evans/create-pull-request": "lucide:git-pull-request",
217050
+ "peter-evans/create-or-update-comment": "lucide:message-square",
217051
+ "peter-evans/find-comment": "lucide:message-square",
217052
+ "peter-evans/repository-dispatch": "simple:github",
217053
+ "googleapis/release-please-action": "lucide:git-pull-request",
217054
+ "release-drafter/release-drafter": "lucide:scroll-text",
217055
+ "github/codeql-action": "lucide:scan-search",
217056
+ "anchore/sbom-action": "lucide:badge-check",
217057
+ "anchore/scan-action": "lucide:scan-search",
217058
+ "aquasecurity/trivy-action": "simple:trivy",
217059
+ "sigstore/cosign-installer": "simple:sigstore",
217060
+ "crazy-max/ghaction-import-gpg": "simple:gnuprivacyguard",
217061
+ "codecov/codecov-action": "simple:codecov",
217062
+ "goreleaser/goreleaser-action": "simple:go",
217063
+ "golangci/golangci-lint-action": "simple:go",
217064
+ "terraform-linters/setup-tflint": "simple:terraform",
217065
+ "hashicorp/setup-packer": "simple:packer",
217066
+ "hashicorp/vault-action": "simple:vault",
217067
+ "dorny/paths-filter": "lucide:funnel",
217068
+ "dorny/test-reporter": "lucide:clipboard-list",
217069
+ "mikepenz/action-junit-report": "lucide:clipboard-list",
217070
+ "jamesives/github-pages-deploy-action": "simple:githubpages",
216723
217071
  "pnpm/action-setup": "simple:pnpm",
216724
217072
  "oven-sh/setup-bun": "simple:bun",
216725
217073
  "denoland/setup-deno": "simple:deno",
@@ -216755,8 +217103,13 @@ var init_workflow = __esm({
216755
217103
  azure: "azure:cloud",
216756
217104
  "google-github-actions": "gcp:cloud",
216757
217105
  docker: "simple:docker",
216758
- github: "simple:github"
217106
+ github: "simple:github",
217107
+ hashicorp: "simple:hashicorp",
217108
+ sigstore: "simple:sigstore"
216759
217109
  };
217110
+ DOCKER_MARK = "simple:docker";
217111
+ ACTIONS_MARK = CI_PLATFORM_MARKS["github-actions"];
217112
+ SETUP_ACTION = /^setup-|-setup$|^action-setup$/;
216760
217113
  }
216761
217114
  });
216762
217115
 
@@ -216774,10 +217127,9 @@ function fitsSteps(jobs) {
216774
217127
  }
216775
217128
  function jobBoxes(jobs) {
216776
217129
  const nodes = jobs.map((job) => {
216777
- const icon = job.steps.filter((step) => !step.plumbing).map((step) => step.icon).find((ref2) => ref2 !== null) ?? null;
216778
217130
  const steps = job.steps.length === 0 ? null : countOf2(job.steps.length, "step");
216779
217131
  const sub = [job.detail, steps].filter((part) => part !== null).join(", ");
216780
- return { key: `job:${job.id}`, type: "step", label: job.label, sub: sub === "" ? null : sub, icon, idHint: job.id };
217132
+ return { key: `job:${job.id}`, type: "step", label: job.label, sub: sub === "" ? null : sub, icon: job.icon, idHint: job.id };
216781
217133
  });
216782
217134
  const edges = jobs.flatMap((job) => job.needs.map((need) => ({ from: `job:${need}`, to: `job:${job.id}` })));
216783
217135
  return { nodes, edges };
@@ -216789,7 +217141,7 @@ function stepBoxes(jobs) {
216789
217141
  const last = /* @__PURE__ */ new Map();
216790
217142
  for (const job of jobs) {
216791
217143
  const keys = job.steps.length === 0 ? [`job:${job.id}`] : job.steps.map((_step, index2) => `step:${job.id}:${index2}`);
216792
- if (job.steps.length === 0) nodes.push({ key: keys[0], type: "step", label: job.label, sub: job.detail, group: `job:${job.id}`, idHint: job.id });
217144
+ if (job.steps.length === 0) nodes.push({ key: keys[0], type: "step", label: job.label, sub: job.detail, icon: job.icon, group: `job:${job.id}`, idHint: job.id });
216793
217145
  job.steps.forEach((step, index2) => nodes.push({ key: keys[index2], type: "step", label: step.label, icon: step.icon, group: `job:${job.id}`, idHint: `${job.id}_${index2 + 1}` }));
216794
217146
  for (let index2 = 1; index2 < keys.length; index2 += 1) edges.push({ from: keys[index2 - 1], to: keys[index2] });
216795
217147
  first.set(job.id, keys[0]);
@@ -216831,7 +217183,7 @@ function readWorkflow(source, context) {
216831
217183
  title: context.title ?? name2 ?? "GitHub Actions workflow",
216832
217184
  desc: `${countOf2(resolved2.length, "job")}${expanded ? " and their steps" : ""} of ${name2 === null ? "a GitHub Actions workflow" : `the ${name2} workflow`}, started by ${trigger === null ? "its trigger" : trigger.sentence}, in the order their needs set, imported from GitHub Actions.`,
216833
217185
  direction: expanded || depth > 4 ? "down" : "right",
216834
- nodes: [{ key: TRIGGER, type: "terminal", label: trigger?.label ?? "Workflow starts" }, ...drawn.nodes],
217186
+ nodes: [{ key: TRIGGER, type: "terminal", label: trigger?.label ?? "Workflow starts", icon: startIcon("github-actions", trigger?.label ?? "Workflow starts") }, ...drawn.nodes],
216835
217187
  groups: drawn.groups,
216836
217188
  edges: [...starts, ...drawn.edges],
216837
217189
  noun: expanded ? "steps" : "jobs",
@@ -216930,6 +217282,7 @@ function readPipeline3(root) {
216930
217282
  needs: needs2,
216931
217283
  start: startOf3(keys),
216932
217284
  image: image === null ? null : image.split("/").pop() ?? image,
217285
+ tags: names8(keys.get("tags") ?? get(defaults, "tags")),
216933
217286
  script: text3(items(keys.get("script"))[0]) ?? null,
216934
217287
  ...runsOf6(keys.get("parallel")),
216935
217288
  environment,
@@ -216965,6 +217318,20 @@ function subOf3(job) {
216965
217318
  ].filter((part) => part !== null);
216966
217319
  return parts.length === 0 ? null : cleanText(parts.join(", "));
216967
217320
  }
217321
+ function jobIcon3(job) {
217322
+ if (job.trigger !== null) return EDGE_STYLES.triggers.icon;
217323
+ const image = job.image;
217324
+ const base = image !== null && isBaseOsImage(image);
217325
+ const imageMark = image === null || base ? void 0 : imageLook(image)?.icon;
217326
+ const scriptMark = job.script === null ? null : commandIcon(job.script);
217327
+ const lent = [
217328
+ ...imageMark === void 0 || image === null ? [] : [{ icon: imageMark, tooling: LANGUAGE_IMAGES.has(imageName(image)) }],
217329
+ ...scriptMark === null || job.script === null ? [] : [{ icon: scriptMark, tooling: installsOnly(job.script) }]
217330
+ ];
217331
+ const deploys = job.environment === null ? void 0 : EDGE_STYLES.deploys.icon;
217332
+ const system = image !== null && base ? OS_IMAGE_MARKS[imageName(image)] : void 0;
217333
+ return jobIconOf(lent, job.name) ?? deploys ?? runnerIcon(job.tags) ?? system ?? null;
217334
+ }
216968
217335
  function readGitlabCi(source, context) {
216969
217336
  const read = parseYaml(source);
216970
217337
  if (read.error !== null) {
@@ -216997,14 +217364,14 @@ function readGitlabCi(source, context) {
216997
217364
  }
216998
217365
  const ordered = [...stages, ...unknown2];
216999
217366
  const jobsOf2 = (stage) => pipeline.jobs.filter((job) => job.stage === stage);
217000
- const nodes = [{ key: START_KEY2, type: "terminal", label: "Pipeline starts" }];
217367
+ const nodes = [{ key: START_KEY2, type: "terminal", label: "Pipeline starts", icon: CI_PLATFORM_MARKS["gitlab-ci"] }];
217001
217368
  const groups = [];
217002
217369
  const edges = [];
217003
217370
  const unresolvedNeeds = [];
217004
217371
  for (const stage of ordered) {
217005
217372
  groups.push({ key: `stage:${stage}`, label: cleanText(stage), type: "ci-cd", idHint: `stage_${stage.replace(/^\./, "")}` });
217006
217373
  for (const job of jobsOf2(stage)) {
217007
- nodes.push({ key: `job:${job.name}`, type: "step", label: cleanText(job.name), sub: subOf3(job), icon: (job.image === null || isBaseOsImage(job.image) ? void 0 : imageLook(job.image)?.icon) ?? (job.script === null ? null : commandMark(job.script)), group: `stage:${stage}`, idHint: job.name });
217374
+ nodes.push({ key: `job:${job.name}`, type: "step", label: cleanText(job.name), sub: subOf3(job), icon: jobIcon3(job), group: `stage:${stage}`, idHint: job.name });
217008
217375
  if (job.trigger !== null) {
217009
217376
  nodes.push({ key: `trigger:${job.name}`, type: "external", label: cleanText(job.trigger.label), sub: job.trigger.child ? "Child pipeline" : "Downstream pipeline", icon: "simple:gitlab", idHint: `${job.name}_pipeline` });
217010
217377
  edges.push({ from: `job:${job.name}`, to: `trigger:${job.name}`, label: "triggers", verb: "triggers" });
@@ -217053,16 +217420,28 @@ function readGitlabCi(source, context) {
217053
217420
  context.report
217054
217421
  );
217055
217422
  }
217056
- var START_KEY2, START_WORDS, gitlabCiImporter;
217423
+ var START_KEY2, START_WORDS, OS_IMAGE_MARKS, LANGUAGE_IMAGES, gitlabCiImporter;
217057
217424
  var init_gitlab_ci = __esm({
217058
217425
  "../../packages/diagrams/src/importers/gitlab-ci/index.ts"() {
217059
217426
  "use strict";
217427
+ init_constants();
217060
217428
  init_core();
217061
217429
  init_shared2();
217062
217430
  init_yaml();
217063
217431
  init_pipeline2();
217064
217432
  START_KEY2 = "pipeline";
217065
217433
  START_WORDS = { always: null, manual: "manual", rules: "when its rules match", only: "only on some refs", delayed: "delayed", on_failure: "on failure" };
217434
+ OS_IMAGE_MARKS = {
217435
+ alpine: "simple:alpinelinux",
217436
+ ubuntu: "simple:ubuntu",
217437
+ debian: "simple:debian",
217438
+ centos: "simple:centos",
217439
+ fedora: "simple:fedora",
217440
+ rockylinux: "simple:rockylinux",
217441
+ almalinux: "simple:almalinux",
217442
+ archlinux: "simple:archlinux"
217443
+ };
217444
+ LANGUAGE_IMAGES = /* @__PURE__ */ new Set(["node", "python", "golang", "rust", "php", "ruby", "openjdk", "eclipse-temurin", "deno", "bun", "maven", "gradle"]);
217066
217445
  gitlabCiImporter = { format: "gitlab-ci", kinds: ["flow"], joins: null, extensions: [], read: readGitlabCi };
217067
217446
  }
217068
217447
  });
@@ -225664,7 +226043,7 @@ function isMarkCell(cell2) {
225664
226043
  const word2 = cell2.trim().toLowerCase();
225665
226044
  return YES_WORDS.includes(word2) || NO_WORDS.includes(word2) || TICKS.includes(word2) || CROSSES2.includes(word2) || word2 === "partial";
225666
226045
  }
225667
- function wordsOf7(text5) {
226046
+ function wordsOf8(text5) {
225668
226047
  return text5.toLowerCase().replace(/[^a-z0-9]+/g, " ").trim().split(" ").filter((word2) => word2 !== "");
225669
226048
  }
225670
226049
  function cleanLabel2(text5) {
@@ -225698,7 +226077,7 @@ function idMaker(fallback) {
225698
226077
  let count3 = 0;
225699
226078
  return (label) => {
225700
226079
  count3 += 1;
225701
- const words2 = wordsOf7(label).slice(0, 3);
226080
+ const words2 = wordsOf8(label).slice(0, 3);
225702
226081
  let id = words2.join("_");
225703
226082
  if (!/^[a-z]/.test(id) || RESERVED_IDS.has(id)) id = `${fallback}${count3}`;
225704
226083
  id = id.slice(0, 24);
@@ -226583,7 +226962,7 @@ function iconFor(name2, type) {
226583
226962
  if (drawn !== null) return drawn;
226584
226963
  const product = iconNamedBy(name2, null);
226585
226964
  if (product !== null) return product;
226586
- for (const word2 of wordsOf7(name2)) {
226965
+ for (const word2 of wordsOf8(name2)) {
226587
226966
  const ref2 = ROLE_ICONS2[word2] ?? ROLE_ICONS2[singular2(word2)];
226588
226967
  if (ref2 !== void 0 && isKnownIcon(ref2) && (fitting === void 0 || fitting.has(ref2))) return ref2;
226589
226968
  }
@@ -226895,13 +227274,13 @@ function stem(word2) {
226895
227274
  return word2;
226896
227275
  }
226897
227276
  function keyOf4(text5) {
226898
- return wordsOf7(text5).map(stem).join(" ");
227277
+ return wordsOf8(text5).map(stem).join(" ");
226899
227278
  }
226900
227279
  function wordPoints(texts) {
226901
227280
  const strong = /* @__PURE__ */ new Map();
226902
227281
  const weak = /* @__PURE__ */ new Map();
226903
227282
  for (const { text: text5, weight } of texts) {
226904
- const words2 = wordsOf7(text5).map(stem);
227283
+ const words2 = wordsOf8(text5).map(stem);
226905
227284
  const seen = /* @__PURE__ */ new Set();
226906
227285
  for (let start2 = 0; start2 < words2.length; start2 += 1) {
226907
227286
  let key = "";
@@ -228925,6 +229304,7 @@ var init_json_schema3 = __esm({
228925
229304
  var init_detect_sources = __esm({
228926
229305
  "../../packages/diagrams/src/settings/detect-sources.ts"() {
228927
229306
  "use strict";
229307
+ init_ci_setup();
228928
229308
  init_style_rules();
228929
229309
  }
228930
229310
  });