+ You are looking at a real-time visualization of every known{" "}
+ openDef("asteroid")}>
+ asteroid
+ {" "}
+ or{" "}
+ openDef("comet")}>
+ comet
+ {" "}
+ that is classified as a{" "}
+ openDef("neo")}>
+ Near-Earth Object (NEO)
+
+ .
+
+ With asteroids represented as blue points, and comets as white points,
+ our database is updated daily to give you approximately 36,000 NEOs (and
+ counting). Additionally, you can explore most of NASA's asteroid and
+ comet missions (past and present), from Galileo, to Lucy and DART.
+
+
+
Extra fact:
+
+ Farther from Earth, the full asteroid belt contains over a million
+ members, with the majority lying between Mars and Jupiter.
+
+
+
,
+
+
+ From 1990 to 2033
+
+ You Control Time.
+
+
+ Drag the time slider left to go backwards, or right to go forwards in
+ time. The LIVE button will always return you to the present time.
+
+
,
+
+
Learn with the footron
+
+ Select 'Learn' to access three different stories about asteroids and
+ comets, including a tour through NASA's historic missions.
+
+
,
+
+
Keep an Eye Out!
+
+ Select the 'Watch' option to see the next five closest approaches to
+ Earth, complete with a countdown.
+
+
+
Hint:
+
Don't forget to play with that time slider!
+
+
,
+
+
Fine Tuning
+
+ Use the settings menu to toggle display layers, set filters, or change
+ the lighting when the sun is not enough.
+
+
+ toggle the filters to see just the comets, or just the asteroids, or
+ just the{" "}
+ openDef("pho")}>
+ Potentially Hazardous Objects (PHOs)
+
+ .
+
+
+
Just in case:
+
The info tab will take you back here if you ever need a recap.
+
+
,
+
+
Dare Mighty Things
+
+ You are now armed with all the knowledge to explore Eyes on Asteroids
+ like a pro. Happy Learning!
+
+
+
Learning can be addictive!
+
+ Watch out for any links; they may lead you down a rabbit hole of space
+ knowledge...
+
+
+
,
+
+
Thank You
+
for engaging with this experience
+
+ This experience was ported by Christian Price to the Footron from the
+ original NASA website{" "}
+ Eyes on Asteroids.
+
+ Sometimes called minor planets, asteroids are rocky, airless
+ remnants left over from the early formation of our solar system
+ about 4.6 billion years ago.
+
+
+ Most of this ancient space rubble can be found orbiting the Sun
+ between Mars and Jupiter within the main asteroid belt.
+
+
+ Unlike{" "}
+ openDef("comet")}>
+ comets
+
+ , asteroids remain solid under extreme temperatures; this is due to
+ their formation in the high heat, high density center of the solar
+ nebula.
+
+
+ Learn more by starting the Asteroids 101 deep dive in the learn tab
+
+ Comets are frozen leftovers from the formation of the solar system
+ composed of dust, rock, and ice. They range from a few kilometers,
+ to hundreds of kilometers wide.
+
+
+ As they orbit closer to the Sun, they heat up and spew gases and
+ dust into a glowing head that can be larger than a planet. This
+ material forms a tail that stretches millions of kilometers.
+
+
+ Unlike{" "}
+ openDef("asteroid")}>
+ asteroids
+
+ , comets formed in areas of the solar nebula where it was cold
+ enough for water and gases to freeze. Consequently, they are larger
+ and rarer than asteroids, and tend to originate in the far reaches
+ of the solar system.
+
+ {" "}
+ A near-Earth object is any small solar system body whose orbit
+ brings it within a certain distance of Earth. This distance is
+ defined by having the closest approach to the sun, the{" "}
+ openDef("perihelion")}>
+ perihelion
+
+ , be within 1.3{" "}
+ openDef("au")}>
+ AU
+
+
+
+ A sub-category of the NEO is the{" "}
+ openDef("pho")}>
+ PHO
+
+ .
+
+ The MOID is the minimum distance between the orbits of two objects.
+ It indicates the closest possible approach of two objects to each
+ other.
+
+
+ For Earth, an object with a MOID of less than or equal to 0.05{" "}
+ openDef("au")}>
+ AU
+ {" "}
+ is considered a possible{" "}
+ openDef("pho")}>
+ Potentially Hazardous Object
+ {" "}
+ if it's large enough.
+
To be defined as potentially hazardous, an object must be:
+
+
+ Larger than 150 meters (almost 500 feet), roughly twice as big as
+ the Statue of Liberty is tall.
+
+
+ Approach Earth's orbit to within about 7.5 million kilometers (4.6
+ million miles). This can also be expressed as having a{" "}
+ openDef("moid")}>
+ MOID
+ {" "}
+ of less than 0.05{" "}
+ openDef("au")}>
+ AU
+ {" "}
+ (within 19.5{" "}
+ openDef("ld")}>
+ LD
+
+ s).
+
+
+
+ PHOs can be both{" "}
+ openDef("asteroid")}>
+ asteroids
+ {" "}
+ and{" "}
+ openDef("comet")}>
+ comets
+
+ , but the vast majority are asteroids. Learn more about the PHO,
+ Apophis by starting the Close Approaches deep dive in the learn tab.
+
+ );
+}
+
+const ControlsComponent = (): JSX.Element => {
+ const { sendMessage } = useMessaging();
+ const [menuOpen, setMenuOpen] = useState(false);
+ const [value, setValue] = useState(2);
+
+ const handleOpenSettings = () => {
+ setMenuOpen((prev) => !prev);
+ };
+
+ const handleClickAwaySettings = (event: MouseEvent | TouchEvent) => {
+ event.preventDefault();
+ event.stopPropagation();
+
+ setMenuOpen(false);
+ };
+
+ const getWatch = () => {
+ setValue(1);
+ sendMessage({ type: "context", value: "watch" });
+ };
+
+ const getFly = () => {
+ setValue(2);
+ sendMessage({ type: "context", value: "fly" });
+ };
+
+ const getLearn = () => {
+ setValue(3);
+ sendMessage({ type: "context", value: "learn" });
+ };
+
+ const getInfo = () => {
+ setValue(4);
+ };
+
+ function Tab(props: TabProps) {
+ const { children, onClick, selected, ...other } = props;
+
+ return (
+
+ {children}
+
+ );
+ }
+
+ return (
+
+ {/* Settings overlay */}
+ {menuOpen ? (
+
+
+
+
+
+
+
+ ) : null}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {menuOpen ? : }
+
+
+ Watch
+
+
+ Fly
+
+
+ Learn
+
+
+ Info
+
+
+
+ );
+};
+
+export default ControlsComponent;
diff --git a/experiences/asteroids/controls/lib/standardBottomUi.tsx b/experiences/asteroids/controls/lib/standardBottomUi.tsx
new file mode 100644
index 0000000..894cc63
--- /dev/null
+++ b/experiences/asteroids/controls/lib/standardBottomUi.tsx
@@ -0,0 +1,18 @@
+import { Box } from "@material-ui/core";
+import { standardBottomUiStyle } from "./style";
+import MovementControls from "./Movement";
+import TimeSlider from "./time";
+
+interface Props {
+ children?: React.ReactNode;
+}
+
+export default function StandardBottomUi({ children }: Props) {
+ return (
+
+ {children}
+
+
+
+ );
+}
diff --git a/experiences/asteroids/controls/lib/style.tsx b/experiences/asteroids/controls/lib/style.tsx
new file mode 100644
index 0000000..db0cf26
--- /dev/null
+++ b/experiences/asteroids/controls/lib/style.tsx
@@ -0,0 +1,336 @@
+import { css } from "@emotion/react";
+
+// TODO: Remove these dev styles
+
+export const pageWrapperStyle = css`
+ display: flex;
+ justify-content: center;
+ height: 100%;
+`;
+
+export const pageWidthStyle = css`
+ width: 100%;
+ height: 100%;
+
+ @media (min-width: 600px) {
+ width: 600px;
+ }
+`;
+
+export const fixedFooterStyle = css`
+ position: fixed;
+ bottom: 0;
+
+ @media (max-width: 600px) {
+ left: 0;
+ right: 0;
+ }
+
+ @media (min-width: 600px) {
+ width: 600px;
+ border-radius: 8px;
+ overflow: hidden;
+ box-shadow: rgba(0, 30, 76, 0.25) 0 5px 5px;
+ }
+`;
+
+export const headerStyle = css`
+ height: 64px;
+ width: calc(100% - 32px);
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0 16px;
+ background: #f7faff;
+ border-bottom: 2px solid #b4bfd2;
+ gap: 12px;
+`;
+
+export const titleStyle = css`
+ font-family: "Montserrat", sans-serif;
+ font-size: 20px;
+ font-weight: bold;
+ color: #001e4c;
+`;
+
+export const controlsContainerStyle = css`
+ // Height of more experiences button
+ margin-bottom: 64px;
+`;
+
+export const footerStyle = css`
+ height: 64px;
+ width: calc(100% - 32px);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 0 16px;
+ transition: background 100ms ease-out;
+ background: #001e4c;
+
+ &:hover {
+ background: #072b6a;
+ }
+
+ &:active {
+ background: #0b3379;
+ }
+`;
+
+export const footerInnerStyle = css`
+ display: flex;
+ align-items: center;
+ gap: 12px;
+`;
+
+export const bottomTitleStyle = css`
+ font-family: "Source Code Pro", sans-serif;
+ font-size: 18px;
+ font-weight: bold;
+ text-transform: uppercase;
+ color: #f0f6ff;
+`;
+
+// END dev styles
+
+export const overlayStyle = css`
+ z-index: 99999;
+`;
+
+export const overlayMenuWrapperStyle = css`
+background-color: white;
+ max-width: min(80vw, 480px);
+ max-height: min(80vh, 480px);
+ overflow: auto;
+ padding: 1em;
+ opacity: 1;
+`;
+
+export const overlayMenuStyle = css`
+display: flex;
+flex-flow: column;
+overflow: auto;
+`;
+
+export const overlaySettingsMenuStyle = css`
+display: flex;
+flex-flow: column;
+`
+export const overlaySettingsMenuContentStyle = css`
+ display: flex;
+ flex-flow: column;
+ overlow: auto;
+`
+
+export const overlayMenuHeaderStyle = css`
+ display: flex;
+ width: 100%;
+ justify-content: space-between;
+`;
+
+export const definitionListStyle = css`
+ display: flex;
+ flex-flow: row wrap;
+ width: 100%;
+ justify-content: flex-start;
+ gap: 0.5em;
+`;
+
+export const largeIconStyle = css`
+ font-size = 80px;
+`;
+
+// keeps elements from collapsing unexpectedly
+export const fullSizeStyle = css`
+ width: 100%;
+ height: 100%;
+`;
+
+export const storyBoxStyle = css`
+ border: solid;
+ border-radius: 5px;
+ padding: 1em;
+`;
+
+export const thinWidgetStyle = css`
+ display: flex;
+ justify-content: center;
+ gap: 0.5em;
+ align-items: center;
+ height: 64px;
+ padding: 0px;
+`;
+
+export const thickWidgetStyle = css`
+ background-color: lightsalmon;
+ justify-content: center;
+ gap: 0.5em;
+ align-items: center;
+ height: 192px;
+ padding: 0px;
+`;
+
+
+// We are inserted within footron's
+// controlsContainer which is not the
+// full screen, everything else should not
+// use vh
+export const wrapperStyle = css`
+ position: fixed;
+ height: calc(100vh - 128px);
+ max-height: calc(100vh - 128px);
+ padding: 0;
+ display: flex;
+ flex-flow: column;
+ width: min(100%, 600px);
+
+ @media (min-width: 600px) {
+ height: calc(100vh - 136px);
+ padding: 0 0 16px 0;
+ }
+`;
+
+export const dynamicUiwrapperStyle = css`
+ max-height: calc(100% - 64px);
+ flex: 1;
+ display: flex;
+ padding: 0 1em;
+`;
+
+// If this is set to flex
+// all tabs are rendered in the wrapper
+export const tabPanelStyle = css`
+ flex: 1;
+`;
+
+export const bottomBarStyle = css`
+ height: 64;
+ min-height: 64px;
+ display: flex;
+`;
+
+export const tabsStyle = css`
+ display: flex;
+ height: 64px;
+ align-items: stretch;
+ font: bold normal 18px "Source Code Pro", sans-serif;
+ text-transform: uppercase;
+ border-block: 2px #001e4c inset;
+
+ @media (min-width: 600px) {
+ border: solid #001e4c 3px;
+ border-radius: 8px;
+ }
+`;
+
+export const tabStyle = css`
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+`;
+
+export const selectedTabStyle = css`
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text-decoration: underline red solid 3px;
+`;
+
+export const fullUIStyle = css`
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-flow: column;
+`;
+
+export const fabStyle = css`
+ float: right;
+`;
+
+export const tabUI = css`
+ display: flex;
+ flex-flow: column nowrap;
+`;
+
+export const topUI = css`
+ flex: 1;
+ display: flex;
+ flex-flow: column;
+ gap: 0.5em;
+ overflow: auto;
+`;
+
+// Static Bottom UI
+
+export const paginationStyle = css`
+ display: flex;
+ justify-content: center;
+ gap: 0.5em;
+ align-items: center;
+ height: 32px;
+ padding: 0px;
+`;
+
+export const standardBottomUiStyle = css`
+ padding: 1em 0;
+ display: flex;
+ flex-flow: column nowrap;
+ align-items: stretch;
+ gap: 1em;
+`;
+
+export const largeBottomUiStyle = css`
+ height: 320;
+ max-height: 320;
+`;
+
+export const movementComponentStyle = css`
+ height: 112px;
+ width: 100%;
+ display: flex;
+ flex-flow: row;
+ align-items: flex-start;
+ justify-content: space-around;
+ transition: opacity 0.5s ease-in;
+`;
+
+export const joystickStyle = css`
+ flex: 1;
+ display: flex;
+ justify-content: center;
+`;
+
+export const helpMessageStyle = (visible: boolean) => css`
+ flex: 1;
+ opacity: ${visible ? 1 : 0};
+ transition: opacity 0.5s ease-in-out;
+ pointer-events: none;
+ text-align: center;
+`;
+
+export const timeComponentStyle = css`
+ height: min(50%, 192px);
+ display: flex;
+ gap: 1em;
+ align-items: stretch;
+`;
+
+export const timeSliderStyle = css`
+ flex: 4;
+ display: flex;
+ flex-flow: column nowrap;
+ align-items: center;
+ justify-content: center;
+ gap: 0;
+`;
+
+export const timeButtonsContainerStyle = css`
+ flex: 1;
+ display: flex;
+ flex-flow: column;
+ align-items: stretch;
+ justify-content: center;
+ gap: 0.5em;
+`;
diff --git a/experiences/asteroids/controls/lib/time.tsx b/experiences/asteroids/controls/lib/time.tsx
new file mode 100644
index 0000000..80e5a43
--- /dev/null
+++ b/experiences/asteroids/controls/lib/time.tsx
@@ -0,0 +1,142 @@
+import { Button, Slider, Box } from "@material-ui/core";
+import { useMessaging } from "@footron/controls-client";
+import { useEffect, useState } from "react";
+import {
+ helpMessageStyle,
+ timeButtonsContainerStyle,
+ timeComponentStyle as timeComponentStyle,
+ timeSliderStyle,
+} from "./style";
+import PauseIcon from "@mui/icons-material/Pause";
+import PlayArrowIcon from "@mui/icons-material/PlayArrow";
+
+function formatTime(seconds: number): string {
+ const units = [
+ { label: "month", value: 60 * 60 * 24 * 30.5 },
+ { label: "week", value: 60 * 60 * 24 * 7 },
+ { label: "day", value: 60 * 60 * 24 },
+ { label: "hour", value: 60 * 60 },
+ { label: "minute", value: 60 },
+ ];
+
+ let timeStr = "",
+ secondsRemaining = true;
+ timeStr += seconds < 0 ? "-" : "";
+ seconds = Math.abs(seconds);
+
+ for (const unit of units) {
+ const unitValue = Math.floor(seconds / unit.value);
+ if (unitValue > 0) {
+ timeStr += `${unitValue} ${unit.label}${unitValue > 1 ? "s" : ""} `;
+ secondsRemaining = false;
+ break;
+ }
+ }
+ timeStr = timeStr.trim();
+ timeStr += secondsRemaining ? Math.round(seconds * 10) / 10 + " seconds" : "";
+ timeStr += " / second";
+ return timeStr;
+}
+
+const sliderScale = 90 / 100;
+const fiveDays = Math.log2(60 * 60 * 24 * 5 + 1) / sliderScale;
+const live = Math.log2(2) / sliderScale;
+const pause = 0;
+
+function calculateValue(value: number) {
+ return Math.sign(value) * (2 ** Math.abs(value * sliderScale) - 1);
+}
+
+export default function TimeSlider() {
+ const [helpMessage, setHelpMessage] = useState(true);
+ const [rateMessage, setRateMessage] = useState(false);
+ const [rate, setRate] = useState(fiveDays);
+ const [oldRate, setOldRate] = useState(fiveDays);
+ const { sendMessage } = useMessaging();
+
+ useEffect(() => {
+ const timer = setTimeout(() => {
+ setHelpMessage(false);
+ }, 6000); // Adjust time as needed
+
+ return () => clearTimeout(timer);
+ }, []);
+
+ useEffect(() => {
+ let timer: number;
+ if (rateMessage) {
+ console.log("SHOW")
+ timer = setTimeout(() => {
+ setRateMessage(false);
+ console.log("RESET")
+ }, 3000); // Adjust time as needed
+ }
+
+ return () => clearTimeout(timer);
+ }, [rateMessage]);
+
+ const updateTime = (event: any, value: any) => {
+ setHelpMessage(false);
+ setRate(value);
+ setRateMessage(true)
+ sendMessage({ type: "time", value: calculateValue(value) });
+ };
+
+ const goLive = async () => {
+ setRate(live);
+ setRateMessage(true)
+ sendMessage({ type: "time", value: "live" });
+ };
+
+ const play = async () => {
+ setRate(oldRate);
+ setRateMessage(true)
+ sendMessage({ type: "time", value: calculateValue(oldRate) });
+ };
+
+ const pauseTime = async () => {
+ setOldRate(rate);
+ setRate(0);
+ setRateMessage(true)
+ sendMessage({ type: "time", value: pause });
+ };
+
+ return (
+
+
+
+
+ Change the speed of time
+
+ updateTime(e, v)}
+ />
+ {formatTime(calculateValue(rate))}
+
+
+
+
+
+
+
+ );
+}
diff --git a/experiences/asteroids/controls/lib/timeSlider.tsx b/experiences/asteroids/controls/lib/timeSlider.tsx
new file mode 100644
index 0000000..1961357
--- /dev/null
+++ b/experiences/asteroids/controls/lib/timeSlider.tsx
@@ -0,0 +1,102 @@
+import { Button, Slider, Box } from "@material-ui/core";
+import { useMessaging } from "@footron/controls-client";
+import { useState } from "react";
+import { thickBottomWidgetStyle, thinBottomWidgetStyle } from "./style";
+import PauseIcon from "@mui/icons-material/Pause";
+import PlayArrowIcon from "@mui/icons-material/PlayArrow";
+
+function formatTime(seconds: number): string {
+ const units = [
+ { label: "month", value: 60 * 60 * 24 * 30.5 },
+ { label: "week", value: 60 * 60 * 24 * 7 },
+ { label: "day", value: 60 * 60 * 24 },
+ { label: "hour", value: 60 * 60 },
+ { label: "minute", value: 60 },
+ ];
+
+ let timeStr = "", secondsRemaining = true;
+ timeStr += seconds < 0 ? "-" : "";
+ seconds = Math.abs(seconds);
+
+ for (const unit of units) {
+ const unitValue = Math.floor(seconds / unit.value);
+ if (unitValue > 0) {
+ timeStr += `${unitValue} ${unit.label}${unitValue > 1 ? "s" : ""} `;
+ secondsRemaining = false;
+ break;
+ }
+ }
+ timeStr = timeStr.trim();
+ timeStr += secondsRemaining ? Math.round(seconds * 10) / 10 + " seconds" : "";
+ timeStr += " / second";
+ return timeStr;
+}
+
+const sliderScale = 90 / 100;
+const fiveDays = Math.log2(60 * 60 * 24 * 5 + 1) / sliderScale;
+const live = Math.log2(2) / sliderScale;
+const pause = 0;
+
+function calculateValue(value: number) {
+ return Math.sign(value) * (2 ** Math.abs(value * sliderScale) - 1);
+}
+
+export default function TimeSlider() {
+ const [rate, setRate] = useState(fiveDays);
+ const [oldRate, setOldRate] = useState(fiveDays);
+ const { sendMessage } = useMessaging();
+
+ const updateTime = (event: any, value: any) => {
+ setRate(value);
+ sendMessage({ type: "time", value: calculateValue(value) });
+ };
+
+ const goLive = async () => {
+ setRate(live);
+ sendMessage({ type: "time", value: "live" });
+ };
+
+ const play = async () => {
+ setRate(oldRate);
+ sendMessage({ type: "time", value: calculateValue(oldRate) });
+ };
+
+ const pauseTime = async () => {
+ setOldRate(rate);
+ setRate(0);
+ sendMessage({ type: "time", value: pause });
+ };
+
+ return (
+
+
+ Change the speed of time
+ {formatTime(calculateValue(rate))}
+
+
+ updateTime(e, v)}
+ />
+
+
+
+
+
+
+ );
+}
diff --git a/experiences/asteroids/controls/lib/zoom.tsx b/experiences/asteroids/controls/lib/zoom.tsx
new file mode 100644
index 0000000..7e3eaf5
--- /dev/null
+++ b/experiences/asteroids/controls/lib/zoom.tsx
@@ -0,0 +1,27 @@
+import { Box } from "@material-ui/core";
+import { useMessaging } from "@footron/controls-client";
+import { thinBottomWidgetStyle } from "./style";
+import { Button } from "@mui/material";
+
+export default function ZoomControls() {
+ const { sendMessage } = useMessaging();
+
+ const handleZoomIn = () => {
+ sendMessage({ type: "zoom", value: "in" })
+ }
+
+ const handleZoomOut = () => {
+ sendMessage({ type: "zoom", value: "out" })
+ }
+
+ return (
+
+
+
+
+ );
+}
diff --git a/experiences/asteroids/controls/package.json b/experiences/asteroids/controls/package.json
new file mode 100644
index 0000000..a06dc95
--- /dev/null
+++ b/experiences/asteroids/controls/package.json
@@ -0,0 +1,50 @@
+{
+ "name": "@footron/controls-typescript-template",
+ "version": "0.1.0",
+ "scripts": {
+ "dev": "ftcontrols"
+ },
+ "dependencies": {
+ "@emotion/react": "^11.4.1",
+ "@emotion/styled": "^11.13.0",
+ "@material-ui/core": "^4.12.1",
+ "@material-ui/icons": "^4.11.2",
+ "@mui/base": "5.0.0-beta.59",
+ "@mui/icons-material": "^6.1.4",
+ "@mui/material": "^6.1.4",
+ "react": "^17.0.2",
+ "react-cool-dimensions": "^2.0.7",
+ "react-dom": "^17.0.2",
+ "react-joystick-component": "^6.2.1",
+ "react-router-dom": "^5.2.0"
+ },
+ "devDependencies": {
+ "@footron/controls-cli": "^0.1.1",
+ "@footron/controls-client": "^0.1.14",
+ "@types/react": "^17.0.14",
+ "@types/react-dom": "^17.0.9",
+ "@types/react-router-dom": "^5.1.8",
+ "@typescript-eslint/eslint-plugin": "^4.28.2",
+ "@typescript-eslint/parser": "^4.28.2",
+ "@vitejs/plugin-react-refresh": "^1.3.5",
+ "eslint": "^7.32.0",
+ "eslint-config-prettier": "^8.3.0",
+ "eslint-config-standard": "^16.0.3",
+ "eslint-import-resolver-node": "^0.3.4",
+ "eslint-plugin-import": "^2.23.4",
+ "eslint-plugin-node": "^11.1.0",
+ "eslint-plugin-promise": "^5.1.0",
+ "eslint-plugin-react": "^7.24.0",
+ "husky": ">=6",
+ "lint-staged": ">=10",
+ "pinst": ">=2",
+ "prettier": "^2.3.2",
+ "typescript": "4.3.5",
+ "vite": "2.4.1"
+ },
+ "lint-staged": {
+ "*.{html,htm,js,jsx,ts,tsx,css,md}": "yarn prettier --max-warnings=0 --write .",
+ "*.{js,jsx,ts,tsx,d.ts}": "yarn eslint --fix"
+ },
+ "packageManager": "yarn@4.5.0"
+}
diff --git a/experiences/asteroids/controls/tsconfig.json b/experiences/asteroids/controls/tsconfig.json
new file mode 100644
index 0000000..9ea6e07
--- /dev/null
+++ b/experiences/asteroids/controls/tsconfig.json
@@ -0,0 +1,22 @@
+{
+ "compilerOptions": {
+ "target": "es5",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "esModuleInterop": true,
+ "noImplicitAny": true,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "noFallthroughCasesInSwitch": true,
+ "module": "esnext",
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react-jsx",
+ "jsxImportSource": "@emotion/react"
+ },
+ "include": ["lib"]
+}
diff --git a/experiences/asteroids/controls/yarn.lock b/experiences/asteroids/controls/yarn.lock
new file mode 100644
index 0000000..160249d
--- /dev/null
+++ b/experiences/asteroids/controls/yarn.lock
@@ -0,0 +1,5934 @@
+# This file is generated by running "yarn install" inside your project.
+# Manual changes might be lost - proceed with caution!
+
+__metadata:
+ version: 8
+ cacheKey: 10c0
+
+"@ampproject/remapping@npm:^2.2.0":
+ version: 2.3.0
+ resolution: "@ampproject/remapping@npm:2.3.0"
+ dependencies:
+ "@jridgewell/gen-mapping": "npm:^0.3.5"
+ "@jridgewell/trace-mapping": "npm:^0.3.24"
+ checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed
+ languageName: node
+ linkType: hard
+
+"@babel/code-frame@npm:7.12.11":
+ version: 7.12.11
+ resolution: "@babel/code-frame@npm:7.12.11"
+ dependencies:
+ "@babel/highlight": "npm:^7.10.4"
+ checksum: 10c0/836ffd155506768e991d6dd8c51db37cad5958ed1c8e0a2329ccd9527165d5c752e943d66a5c3c92ffd45f343419f0742e7636629a529f4fbd5303e3637746b9
+ languageName: node
+ linkType: hard
+
+"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/code-frame@npm:7.25.7"
+ dependencies:
+ "@babel/highlight": "npm:^7.25.7"
+ picocolors: "npm:^1.0.0"
+ checksum: 10c0/14825c298bdec914caf3d24d1383b6d4cd6b030714686004992f4fc251831ecf432236652896f99d5d341f17170ae9a07b58d8d7b15aa0df8cfa1c5a7d5474bc
+ languageName: node
+ linkType: hard
+
+"@babel/compat-data@npm:^7.25.7":
+ version: 7.25.8
+ resolution: "@babel/compat-data@npm:7.25.8"
+ checksum: 10c0/8b81c17580e5fb4cbb6a3c52079f8c283fc59c0c6bd2fe14cfcf9c44b32d2eaab71b02c5633e2c679f5896f73f8ac4036ba2e67a4c806e8f428e4b11f526d7f4
+ languageName: node
+ linkType: hard
+
+"@babel/core@npm:^7.14.8":
+ version: 7.25.8
+ resolution: "@babel/core@npm:7.25.8"
+ dependencies:
+ "@ampproject/remapping": "npm:^2.2.0"
+ "@babel/code-frame": "npm:^7.25.7"
+ "@babel/generator": "npm:^7.25.7"
+ "@babel/helper-compilation-targets": "npm:^7.25.7"
+ "@babel/helper-module-transforms": "npm:^7.25.7"
+ "@babel/helpers": "npm:^7.25.7"
+ "@babel/parser": "npm:^7.25.8"
+ "@babel/template": "npm:^7.25.7"
+ "@babel/traverse": "npm:^7.25.7"
+ "@babel/types": "npm:^7.25.8"
+ convert-source-map: "npm:^2.0.0"
+ debug: "npm:^4.1.0"
+ gensync: "npm:^1.0.0-beta.2"
+ json5: "npm:^2.2.3"
+ semver: "npm:^6.3.1"
+ checksum: 10c0/8411ea506e6f7c8a39ab5c1524b00589fa3b087edb47389708f7fe07170929192171734666e3ea10b95a951643a531a6d09eedfe071572c9ea28516646265086
+ languageName: node
+ linkType: hard
+
+"@babel/generator@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/generator@npm:7.25.7"
+ dependencies:
+ "@babel/types": "npm:^7.25.7"
+ "@jridgewell/gen-mapping": "npm:^0.3.5"
+ "@jridgewell/trace-mapping": "npm:^0.3.25"
+ jsesc: "npm:^3.0.2"
+ checksum: 10c0/c03a26c79864d60d04ce36b649c3fa0d6fd7b2bf6a22e22854a0457aa09206508392dd73ee40e7bc8d50b3602f9ff068afa47770cda091d332e7db1ca382ee96
+ languageName: node
+ linkType: hard
+
+"@babel/helper-compilation-targets@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-compilation-targets@npm:7.25.7"
+ dependencies:
+ "@babel/compat-data": "npm:^7.25.7"
+ "@babel/helper-validator-option": "npm:^7.25.7"
+ browserslist: "npm:^4.24.0"
+ lru-cache: "npm:^5.1.1"
+ semver: "npm:^6.3.1"
+ checksum: 10c0/705be7e5274a3fdade68e3e2cf42e2b600316ab52794e13b91299a16f16c926f15886b6e9d6df20eb943ccc1cdba5a363d4766f8d01e47b8e6f4e01175f5e66c
+ languageName: node
+ linkType: hard
+
+"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-module-imports@npm:7.25.7"
+ dependencies:
+ "@babel/traverse": "npm:^7.25.7"
+ "@babel/types": "npm:^7.25.7"
+ checksum: 10c0/0fd0c3673835e5bf75558e184bcadc47c1f6dd2fe2016d53ebe1e5a6ae931a44e093015c2f9a6651c1a89f25c76d9246710c2b0b460b95ee069c464f2837fa2c
+ languageName: node
+ linkType: hard
+
+"@babel/helper-module-transforms@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-module-transforms@npm:7.25.7"
+ dependencies:
+ "@babel/helper-module-imports": "npm:^7.25.7"
+ "@babel/helper-simple-access": "npm:^7.25.7"
+ "@babel/helper-validator-identifier": "npm:^7.25.7"
+ "@babel/traverse": "npm:^7.25.7"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10c0/f37fa7d1d4df21690535b278468cbd5faf0133a3080f282000cfa4f3ffc9462a1458f866b04b6a2f2d1eec4691236cba9a867da61270dab3ab19846e62f05090
+ languageName: node
+ linkType: hard
+
+"@babel/helper-plugin-utils@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-plugin-utils@npm:7.25.7"
+ checksum: 10c0/241f8cf3c5b7700e91cab7cfe5b432a3c710ae3cd5bb96dc554da536a6d25f5b9f000cc0c0917501ceb4f76ba92599ee3beb25e10adaf96be59f8df89a842faf
+ languageName: node
+ linkType: hard
+
+"@babel/helper-simple-access@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-simple-access@npm:7.25.7"
+ dependencies:
+ "@babel/traverse": "npm:^7.25.7"
+ "@babel/types": "npm:^7.25.7"
+ checksum: 10c0/eed1b499bfb4f613c18debd61517e3de77b6da2727ca025aa05ac81599e0269f1dddb5237db04e8bb598115d015874752e0a7f11ff38672d74a4976097417059
+ languageName: node
+ linkType: hard
+
+"@babel/helper-string-parser@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-string-parser@npm:7.25.7"
+ checksum: 10c0/73ef2ceb81f8294678a0afe8ab0103729c0370cac2e830e0d5128b03be5f6a2635838af31d391d763e3c5a4460ed96f42fd7c9b552130670d525be665913bc4c
+ languageName: node
+ linkType: hard
+
+"@babel/helper-validator-identifier@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-validator-identifier@npm:7.25.7"
+ checksum: 10c0/07438e5bf01ab2882a15027fdf39ac3b0ba1b251774a5130917907014684e2f70fef8fd620137ca062c4c4eedc388508d2ea7a3a7d9936a32785f4fe116c68c0
+ languageName: node
+ linkType: hard
+
+"@babel/helper-validator-option@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-validator-option@npm:7.25.7"
+ checksum: 10c0/12ed418c8e3ed9ed44c8c80d823f4e42d399b5eb2e423adccb975e31a31a008cd3b5d8eab688b31f740caff4a1bb28fe06ea2fa7d635aee34cc0ad6995d50f0a
+ languageName: node
+ linkType: hard
+
+"@babel/helpers@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helpers@npm:7.25.7"
+ dependencies:
+ "@babel/template": "npm:^7.25.7"
+ "@babel/types": "npm:^7.25.7"
+ checksum: 10c0/3b3ae9e373bd785414195ef8f59976a69d5a6ebe0ef2165fdcc5165e5c3ee09e0fcee94bb457df2ddb8c0532e4146d0a9b7a96b3497399a4bff4ffe196b30228
+ languageName: node
+ linkType: hard
+
+"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/highlight@npm:7.25.7"
+ dependencies:
+ "@babel/helper-validator-identifier": "npm:^7.25.7"
+ chalk: "npm:^2.4.2"
+ js-tokens: "npm:^4.0.0"
+ picocolors: "npm:^1.0.0"
+ checksum: 10c0/1f5894fdb0a0af6101fb2822369b2eeeae32cbeae2ef73ff73fc6a0a4a20471565cd9cfa589f54ed69df66adeca7c57266031ca9134b7bd244d023a488d419aa
+ languageName: node
+ linkType: hard
+
+"@babel/parser@npm:^7.25.7, @babel/parser@npm:^7.25.8":
+ version: 7.25.8
+ resolution: "@babel/parser@npm:7.25.8"
+ dependencies:
+ "@babel/types": "npm:^7.25.8"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 10c0/a1a13845b7e8dda4c970791814a4bbf60004969882f18f470e260ad822d2e1f8941948f851e9335895563610f240fa6c98481ce8019865e469502bbf21daafa4
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-react-jsx-self@npm:^7.14.5":
+ version: 7.25.7
+ resolution: "@babel/plugin-transform-react-jsx-self@npm:7.25.7"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.25.7"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/51ab0302f808186b671722db40ef25d6f691f969aeaa8f7ef8565c5ca227c8b4dbd1002997478414d3f6984b1fd80a01303e98853fd8bd9606c35bcd72c94065
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-react-jsx-source@npm:^7.14.5":
+ version: 7.25.7
+ resolution: "@babel/plugin-transform-react-jsx-source@npm:7.25.7"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.25.7"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/c014de49a466c18ab77bea409542f40409a6a561afc8879ecbeca6a4618161b5aa71ab0825b733c5c87bebe09a19455a79bc1bed86488a84ef712e42e1ed2875
+ languageName: node
+ linkType: hard
+
+"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.25.7, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.4.4, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.3, @babel/runtime@npm:^7.8.7":
+ version: 7.25.7
+ resolution: "@babel/runtime@npm:7.25.7"
+ dependencies:
+ regenerator-runtime: "npm:^0.14.0"
+ checksum: 10c0/86b7829d2fc9343714a9afe92757cf96c4dc799006ca61d73cda62f4b9e29bfa1ce36794955bc6cb4c188f5b10db832c949339895e1bbe81a69022d9d578ce29
+ languageName: node
+ linkType: hard
+
+"@babel/template@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/template@npm:7.25.7"
+ dependencies:
+ "@babel/code-frame": "npm:^7.25.7"
+ "@babel/parser": "npm:^7.25.7"
+ "@babel/types": "npm:^7.25.7"
+ checksum: 10c0/8ae9e36e4330ee83d4832531d1d9bec7dc2ef6a2a8afa1ef1229506fd60667abcb17f306d1c3d7e582251270597022990c845d5d69e7add70a5aea66720decb9
+ languageName: node
+ linkType: hard
+
+"@babel/traverse@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/traverse@npm:7.25.7"
+ dependencies:
+ "@babel/code-frame": "npm:^7.25.7"
+ "@babel/generator": "npm:^7.25.7"
+ "@babel/parser": "npm:^7.25.7"
+ "@babel/template": "npm:^7.25.7"
+ "@babel/types": "npm:^7.25.7"
+ debug: "npm:^4.3.1"
+ globals: "npm:^11.1.0"
+ checksum: 10c0/75d73e52c507a7a7a4c7971d6bf4f8f26fdd094e0d3a0193d77edf6a5efa36fc3db91ec5cc48e8b94e6eb5d5ad21af0a1040e71309172851209415fd105efb1a
+ languageName: node
+ linkType: hard
+
+"@babel/types@npm:^7.25.7, @babel/types@npm:^7.25.8":
+ version: 7.25.8
+ resolution: "@babel/types@npm:7.25.8"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.25.7"
+ "@babel/helper-validator-identifier": "npm:^7.25.7"
+ to-fast-properties: "npm:^2.0.0"
+ checksum: 10c0/55ca2d6df6426c98db2769ce884ce5e9de83a512ea2dd7bcf56c811984dc14351cacf42932a723630c5afcff2455809323decd645820762182f10b7b5252b59f
+ languageName: node
+ linkType: hard
+
+"@cush/relative@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "@cush/relative@npm:1.0.0"
+ checksum: 10c0/8c91a1c9875c9a4f8b5e7baf93625fc1381c7964508c8df99ea9e731bd46a148ce6df4934d0c69fbb16188a65ddc263a65b97e62a7e58119a1a805fa309e579d
+ languageName: node
+ linkType: hard
+
+"@emotion/babel-plugin@npm:^11.12.0":
+ version: 11.12.0
+ resolution: "@emotion/babel-plugin@npm:11.12.0"
+ dependencies:
+ "@babel/helper-module-imports": "npm:^7.16.7"
+ "@babel/runtime": "npm:^7.18.3"
+ "@emotion/hash": "npm:^0.9.2"
+ "@emotion/memoize": "npm:^0.9.0"
+ "@emotion/serialize": "npm:^1.2.0"
+ babel-plugin-macros: "npm:^3.1.0"
+ convert-source-map: "npm:^1.5.0"
+ escape-string-regexp: "npm:^4.0.0"
+ find-root: "npm:^1.1.0"
+ source-map: "npm:^0.5.7"
+ stylis: "npm:4.2.0"
+ checksum: 10c0/930ff6f8768b0c24d05896ad696be20e1c65f32ed61fb5c1488f571120a947ef0a2cf69187b17114cc76e7886f771fac150876ed7b5341324fec2377185d6573
+ languageName: node
+ linkType: hard
+
+"@emotion/cache@npm:^11.13.0, @emotion/cache@npm:^11.13.1":
+ version: 11.13.1
+ resolution: "@emotion/cache@npm:11.13.1"
+ dependencies:
+ "@emotion/memoize": "npm:^0.9.0"
+ "@emotion/sheet": "npm:^1.4.0"
+ "@emotion/utils": "npm:^1.4.0"
+ "@emotion/weak-memoize": "npm:^0.4.0"
+ stylis: "npm:4.2.0"
+ checksum: 10c0/321e97d8980885737de13b47e41fd4febfbd83086f10c620f865fcbddb29b8fe198adec7e1c69cc7b137638ea9242d7c475c57f954f7ca229157fa92e368f473
+ languageName: node
+ linkType: hard
+
+"@emotion/hash@npm:^0.8.0":
+ version: 0.8.0
+ resolution: "@emotion/hash@npm:0.8.0"
+ checksum: 10c0/706303d35d416217cd7eb0d36dbda4627bb8bdf4a32ea387e8dd99be11b8e0a998e10af21216e8a5fade518ad955ff06aa8890f20e694ce3a038ae7fc1000556
+ languageName: node
+ linkType: hard
+
+"@emotion/hash@npm:^0.9.2":
+ version: 0.9.2
+ resolution: "@emotion/hash@npm:0.9.2"
+ checksum: 10c0/0dc254561a3cc0a06a10bbce7f6a997883fd240c8c1928b93713f803a2e9153a257a488537012efe89dbe1246f2abfe2add62cdb3471a13d67137fcb808e81c2
+ languageName: node
+ linkType: hard
+
+"@emotion/is-prop-valid@npm:^1.3.0":
+ version: 1.3.1
+ resolution: "@emotion/is-prop-valid@npm:1.3.1"
+ dependencies:
+ "@emotion/memoize": "npm:^0.9.0"
+ checksum: 10c0/123215540c816ff510737ec68dcc499c53ea4deb0bb6c2c27c03ed21046e2e69f6ad07a7a174d271c6cfcbcc9ea44e1763e0cf3875c92192f7689216174803cd
+ languageName: node
+ linkType: hard
+
+"@emotion/memoize@npm:^0.9.0":
+ version: 0.9.0
+ resolution: "@emotion/memoize@npm:0.9.0"
+ checksum: 10c0/13f474a9201c7f88b543e6ea42f55c04fb2fdc05e6c5a3108aced2f7e7aa7eda7794c56bba02985a46d8aaa914fcdde238727a98341a96e2aec750d372dadd15
+ languageName: node
+ linkType: hard
+
+"@emotion/react@npm:^11.4.1":
+ version: 11.13.3
+ resolution: "@emotion/react@npm:11.13.3"
+ dependencies:
+ "@babel/runtime": "npm:^7.18.3"
+ "@emotion/babel-plugin": "npm:^11.12.0"
+ "@emotion/cache": "npm:^11.13.0"
+ "@emotion/serialize": "npm:^1.3.1"
+ "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.1.0"
+ "@emotion/utils": "npm:^1.4.0"
+ "@emotion/weak-memoize": "npm:^0.4.0"
+ hoist-non-react-statics: "npm:^3.3.1"
+ peerDependencies:
+ react: ">=16.8.0"
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/a55e770b9ea35de5d35db05a7ad40a4a3f442809fa8e4fabaf56da63ac9444f09aaf691c4e75a1455dc388991ab0c0ab4e253ce67c5836f27513e45ebd01b673
+ languageName: node
+ linkType: hard
+
+"@emotion/serialize@npm:^1.2.0, @emotion/serialize@npm:^1.3.0, @emotion/serialize@npm:^1.3.1, @emotion/serialize@npm:^1.3.2":
+ version: 1.3.2
+ resolution: "@emotion/serialize@npm:1.3.2"
+ dependencies:
+ "@emotion/hash": "npm:^0.9.2"
+ "@emotion/memoize": "npm:^0.9.0"
+ "@emotion/unitless": "npm:^0.10.0"
+ "@emotion/utils": "npm:^1.4.1"
+ csstype: "npm:^3.0.2"
+ checksum: 10c0/b4873b643721d28b4450f9d77b71e6c8d0109e6825c54fc79e649d2fa438fe4080d2fa696ec8fda421b8e713fcd42306d6197b6121ddd2486ffab8e4b6311ce0
+ languageName: node
+ linkType: hard
+
+"@emotion/sheet@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "@emotion/sheet@npm:1.4.0"
+ checksum: 10c0/3ca72d1650a07d2fbb7e382761b130b4a887dcd04e6574b2d51ce578791240150d7072a9bcb4161933abbcd1e38b243a6fb4464a7fe991d700c17aa66bb5acc7
+ languageName: node
+ linkType: hard
+
+"@emotion/styled@npm:^11.13.0":
+ version: 11.13.0
+ resolution: "@emotion/styled@npm:11.13.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.18.3"
+ "@emotion/babel-plugin": "npm:^11.12.0"
+ "@emotion/is-prop-valid": "npm:^1.3.0"
+ "@emotion/serialize": "npm:^1.3.0"
+ "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.1.0"
+ "@emotion/utils": "npm:^1.4.0"
+ peerDependencies:
+ "@emotion/react": ^11.0.0-rc.0
+ react: ">=16.8.0"
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/5e2cc85c8a2f6e7bd012731cf0b6da3aef5906225e87e8d4a5c19da50572e24d9aaf92615aa36aa863f0fe6b62a121033356e1cad62617c48bfdaa2c3cf0d8a4
+ languageName: node
+ linkType: hard
+
+"@emotion/unitless@npm:^0.10.0":
+ version: 0.10.0
+ resolution: "@emotion/unitless@npm:0.10.0"
+ checksum: 10c0/150943192727b7650eb9a6851a98034ddb58a8b6958b37546080f794696141c3760966ac695ab9af97efe10178690987aee4791f9f0ad1ff76783cdca83c1d49
+ languageName: node
+ linkType: hard
+
+"@emotion/use-insertion-effect-with-fallbacks@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@emotion/use-insertion-effect-with-fallbacks@npm:1.1.0"
+ peerDependencies:
+ react: ">=16.8.0"
+ checksum: 10c0/a883480f3a7139fb4a43e71d3114ca57e2b7ae5ff204e05cd9e59251a113773b8f64eb75d3997726250aca85eb73447638c8f51930734bdd16b96762b65e58c3
+ languageName: node
+ linkType: hard
+
+"@emotion/utils@npm:^1.4.0, @emotion/utils@npm:^1.4.1":
+ version: 1.4.1
+ resolution: "@emotion/utils@npm:1.4.1"
+ checksum: 10c0/f4704e0bdf48062fd6eb9c64771c88f521aab1e108a48cb23d65b6438597c63a6945301cef4c43611e79e0e76a304ec5481c31025ea8f573d7ad5423d747602c
+ languageName: node
+ linkType: hard
+
+"@emotion/weak-memoize@npm:^0.4.0":
+ version: 0.4.0
+ resolution: "@emotion/weak-memoize@npm:0.4.0"
+ checksum: 10c0/64376af11f1266042d03b3305c30b7502e6084868e33327e944b539091a472f089db307af69240f7188f8bc6b319276fd7b141a36613f1160d73d12a60f6ca1a
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-loong64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "@esbuild/linux-loong64@npm:0.14.54"
+ conditions: os=linux & cpu=loong64
+ languageName: node
+ linkType: hard
+
+"@eslint/eslintrc@npm:^0.4.3":
+ version: 0.4.3
+ resolution: "@eslint/eslintrc@npm:0.4.3"
+ dependencies:
+ ajv: "npm:^6.12.4"
+ debug: "npm:^4.1.1"
+ espree: "npm:^7.3.0"
+ globals: "npm:^13.9.0"
+ ignore: "npm:^4.0.6"
+ import-fresh: "npm:^3.2.1"
+ js-yaml: "npm:^3.13.1"
+ minimatch: "npm:^3.0.4"
+ strip-json-comments: "npm:^3.1.1"
+ checksum: 10c0/0eed93369f72ef044686d07824742121f9b95153ff34f4614e4e69d64332ee68c84eb70da851a9005bb76b3d1d64ad76c2e6293a808edc0f7dfb883689ca136d
+ languageName: node
+ linkType: hard
+
+"@floating-ui/core@npm:^1.6.0":
+ version: 1.6.8
+ resolution: "@floating-ui/core@npm:1.6.8"
+ dependencies:
+ "@floating-ui/utils": "npm:^0.2.8"
+ checksum: 10c0/d6985462aeccae7b55a2d3f40571551c8c42bf820ae0a477fc40ef462e33edc4f3f5b7f11b100de77c9b58ecb581670c5c3f46d0af82b5e30aa185c735257eb9
+ languageName: node
+ linkType: hard
+
+"@floating-ui/dom@npm:^1.0.0":
+ version: 1.6.11
+ resolution: "@floating-ui/dom@npm:1.6.11"
+ dependencies:
+ "@floating-ui/core": "npm:^1.6.0"
+ "@floating-ui/utils": "npm:^0.2.8"
+ checksum: 10c0/02ef34a75a515543c772880338eea7b66724997bd5ec7cd58d26b50325709d46d480a306b84e7d5509d734434411a4bcf23af5680c2e461e6e6a8bf45d751df8
+ languageName: node
+ linkType: hard
+
+"@floating-ui/react-dom@npm:^2.1.1":
+ version: 2.1.2
+ resolution: "@floating-ui/react-dom@npm:2.1.2"
+ dependencies:
+ "@floating-ui/dom": "npm:^1.0.0"
+ peerDependencies:
+ react: ">=16.8.0"
+ react-dom: ">=16.8.0"
+ checksum: 10c0/e855131c74e68cab505f7f44f92cd4e2efab1c125796db3116c54c0859323adae4bf697bf292ee83ac77b9335a41ad67852193d7aeace90aa2e1c4a640cafa60
+ languageName: node
+ linkType: hard
+
+"@floating-ui/utils@npm:^0.2.8":
+ version: 0.2.8
+ resolution: "@floating-ui/utils@npm:0.2.8"
+ checksum: 10c0/a8cee5f17406c900e1c3ef63e3ca89b35e7a2ed645418459a73627b93b7377477fc888081011c6cd177cac45ec2b92a6cab018c14ea140519465498dddd2d3f9
+ languageName: node
+ linkType: hard
+
+"@footron/controls-cli@npm:^0.1.1":
+ version: 0.1.3
+ resolution: "@footron/controls-cli@npm:0.1.3"
+ dependencies:
+ "@footron/controls-client": "npm:^0.1.14"
+ "@material-ui/core": "npm:^4.12.1"
+ "@material-ui/icons": "npm:^4.11.2"
+ connect: "npm:^3.7.0"
+ fs-extra: "npm:^10.0.0"
+ react: "npm:^17.0.2"
+ react-dom: "npm:^17.0.2"
+ rollup: "npm:^2.53.0"
+ vite: "npm:^2.4.1"
+ vite-tsconfig-paths: "npm:^3.3.13"
+ yargs: "npm:^17.0.1"
+ bin:
+ ftcontrols: dist/lib/cli.js
+ checksum: 10c0/d05cf5ffc87e004202b54aefae993de21908aee4124c7e8309c76d99a0be71dfb03c1c9e804b48509d4e725df6692fad04fafe0950f5843c974bf11a6426fe49
+ languageName: node
+ linkType: hard
+
+"@footron/controls-client@npm:^0.1.14":
+ version: 0.1.34
+ resolution: "@footron/controls-client@npm:0.1.34"
+ dependencies:
+ uuid: "npm:^8.3.2"
+ checksum: 10c0/a73c9ce3d23f92b02d2a18022fb2385e3b726ddb7519fbde9bf56ee5c5f9048bfd18c550bc7d56d96715d20a1ff349329f000b04b9766725a185bf09eaefbd75
+ languageName: node
+ linkType: hard
+
+"@footron/controls-typescript-template@workspace:.":
+ version: 0.0.0-use.local
+ resolution: "@footron/controls-typescript-template@workspace:."
+ dependencies:
+ "@emotion/react": "npm:^11.4.1"
+ "@emotion/styled": "npm:^11.13.0"
+ "@footron/controls-cli": "npm:^0.1.1"
+ "@footron/controls-client": "npm:^0.1.14"
+ "@material-ui/core": "npm:^4.12.1"
+ "@material-ui/icons": "npm:^4.11.2"
+ "@mui/base": "npm:5.0.0-beta.59"
+ "@mui/icons-material": "npm:^6.1.4"
+ "@mui/material": "npm:^6.1.4"
+ "@types/react": "npm:^17.0.14"
+ "@types/react-dom": "npm:^17.0.9"
+ "@types/react-router-dom": "npm:^5.1.8"
+ "@typescript-eslint/eslint-plugin": "npm:^4.28.2"
+ "@typescript-eslint/parser": "npm:^4.28.2"
+ "@vitejs/plugin-react-refresh": "npm:^1.3.5"
+ eslint: "npm:^7.32.0"
+ eslint-config-prettier: "npm:^8.3.0"
+ eslint-config-standard: "npm:^16.0.3"
+ eslint-import-resolver-node: "npm:^0.3.4"
+ eslint-plugin-import: "npm:^2.23.4"
+ eslint-plugin-node: "npm:^11.1.0"
+ eslint-plugin-promise: "npm:^5.1.0"
+ eslint-plugin-react: "npm:^7.24.0"
+ husky: "npm:>=6"
+ lint-staged: "npm:>=10"
+ pinst: "npm:>=2"
+ prettier: "npm:^2.3.2"
+ react: "npm:^17.0.2"
+ react-cool-dimensions: "npm:^2.0.7"
+ react-dom: "npm:^17.0.2"
+ react-joystick-component: "npm:^6.2.1"
+ react-router-dom: "npm:^5.2.0"
+ typescript: "npm:4.3.5"
+ vite: "npm:2.4.1"
+ languageName: unknown
+ linkType: soft
+
+"@humanwhocodes/config-array@npm:^0.5.0":
+ version: 0.5.0
+ resolution: "@humanwhocodes/config-array@npm:0.5.0"
+ dependencies:
+ "@humanwhocodes/object-schema": "npm:^1.2.0"
+ debug: "npm:^4.1.1"
+ minimatch: "npm:^3.0.4"
+ checksum: 10c0/217fac9e03492361825a2bf761d4bb7ec6d10002a10f7314142245eb13ac9d123523d24d5619c3c4159af215c7b3e583ed386108e227014bef4efbf9caca8ccc
+ languageName: node
+ linkType: hard
+
+"@humanwhocodes/object-schema@npm:^1.2.0":
+ version: 1.2.1
+ resolution: "@humanwhocodes/object-schema@npm:1.2.1"
+ checksum: 10c0/c3c35fdb70c04a569278351c75553e293ae339684ed75895edc79facc7276e351115786946658d78133130c0cca80e57e2203bc07f8fa7fe7980300e8deef7db
+ languageName: node
+ linkType: hard
+
+"@isaacs/cliui@npm:^8.0.2":
+ version: 8.0.2
+ resolution: "@isaacs/cliui@npm:8.0.2"
+ dependencies:
+ string-width: "npm:^5.1.2"
+ string-width-cjs: "npm:string-width@^4.2.0"
+ strip-ansi: "npm:^7.0.1"
+ strip-ansi-cjs: "npm:strip-ansi@^6.0.1"
+ wrap-ansi: "npm:^8.1.0"
+ wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0"
+ checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e
+ languageName: node
+ linkType: hard
+
+"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5":
+ version: 0.3.5
+ resolution: "@jridgewell/gen-mapping@npm:0.3.5"
+ dependencies:
+ "@jridgewell/set-array": "npm:^1.2.1"
+ "@jridgewell/sourcemap-codec": "npm:^1.4.10"
+ "@jridgewell/trace-mapping": "npm:^0.3.24"
+ checksum: 10c0/1be4fd4a6b0f41337c4f5fdf4afc3bd19e39c3691924817108b82ffcb9c9e609c273f936932b9fba4b3a298ce2eb06d9bff4eb1cc3bd81c4f4ee1b4917e25feb
+ languageName: node
+ linkType: hard
+
+"@jridgewell/resolve-uri@npm:^3.1.0":
+ version: 3.1.2
+ resolution: "@jridgewell/resolve-uri@npm:3.1.2"
+ checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e
+ languageName: node
+ linkType: hard
+
+"@jridgewell/set-array@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "@jridgewell/set-array@npm:1.2.1"
+ checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4
+ languageName: node
+ linkType: hard
+
+"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14":
+ version: 1.5.0
+ resolution: "@jridgewell/sourcemap-codec@npm:1.5.0"
+ checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18
+ languageName: node
+ linkType: hard
+
+"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25":
+ version: 0.3.25
+ resolution: "@jridgewell/trace-mapping@npm:0.3.25"
+ dependencies:
+ "@jridgewell/resolve-uri": "npm:^3.1.0"
+ "@jridgewell/sourcemap-codec": "npm:^1.4.14"
+ checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4
+ languageName: node
+ linkType: hard
+
+"@material-ui/core@npm:^4.12.1":
+ version: 4.12.4
+ resolution: "@material-ui/core@npm:4.12.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.4.4"
+ "@material-ui/styles": "npm:^4.11.5"
+ "@material-ui/system": "npm:^4.12.2"
+ "@material-ui/types": "npm:5.1.0"
+ "@material-ui/utils": "npm:^4.11.3"
+ "@types/react-transition-group": "npm:^4.2.0"
+ clsx: "npm:^1.0.4"
+ hoist-non-react-statics: "npm:^3.3.2"
+ popper.js: "npm:1.16.1-lts"
+ prop-types: "npm:^15.7.2"
+ react-is: "npm:^16.8.0 || ^17.0.0"
+ react-transition-group: "npm:^4.4.0"
+ peerDependencies:
+ "@types/react": ^16.8.6 || ^17.0.0
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/4a6544d4a535f0b5bf4a900509391640f490cef9022f7667cf5dceb75d5bec7df1e9b68bc44bbfa4e5d47d0093ac2477e77d76d8a6d241791753c6e8e7bd6603
+ languageName: node
+ linkType: hard
+
+"@material-ui/icons@npm:^4.11.2":
+ version: 4.11.3
+ resolution: "@material-ui/icons@npm:4.11.3"
+ dependencies:
+ "@babel/runtime": "npm:^7.4.4"
+ peerDependencies:
+ "@material-ui/core": ^4.0.0
+ "@types/react": ^16.8.6 || ^17.0.0
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/2c405785fc9f98a7d50a796fd294c52b5447b61c5a3d4563d86e07164400cda2ac667c944110b0ab8eca80f880b01846cf3525cbd05c5584b782c3bb4fd2d6eb
+ languageName: node
+ linkType: hard
+
+"@material-ui/styles@npm:^4.11.5":
+ version: 4.11.5
+ resolution: "@material-ui/styles@npm:4.11.5"
+ dependencies:
+ "@babel/runtime": "npm:^7.4.4"
+ "@emotion/hash": "npm:^0.8.0"
+ "@material-ui/types": "npm:5.1.0"
+ "@material-ui/utils": "npm:^4.11.3"
+ clsx: "npm:^1.0.4"
+ csstype: "npm:^2.5.2"
+ hoist-non-react-statics: "npm:^3.3.2"
+ jss: "npm:^10.5.1"
+ jss-plugin-camel-case: "npm:^10.5.1"
+ jss-plugin-default-unit: "npm:^10.5.1"
+ jss-plugin-global: "npm:^10.5.1"
+ jss-plugin-nested: "npm:^10.5.1"
+ jss-plugin-props-sort: "npm:^10.5.1"
+ jss-plugin-rule-value-function: "npm:^10.5.1"
+ jss-plugin-vendor-prefixer: "npm:^10.5.1"
+ prop-types: "npm:^15.7.2"
+ peerDependencies:
+ "@types/react": ^16.8.6 || ^17.0.0
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/b03b930d16cb97926629e3643054abf9fdc1f963398699d9c0e57023d4a80e743337d2e5c1020af90f0ced16665c73dd79025c2322292ffdac21b5f65450e165
+ languageName: node
+ linkType: hard
+
+"@material-ui/system@npm:^4.12.2":
+ version: 4.12.2
+ resolution: "@material-ui/system@npm:4.12.2"
+ dependencies:
+ "@babel/runtime": "npm:^7.4.4"
+ "@material-ui/utils": "npm:^4.11.3"
+ csstype: "npm:^2.5.2"
+ prop-types: "npm:^15.7.2"
+ peerDependencies:
+ "@types/react": ^16.8.6 || ^17.0.0
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/7c423b1259c593385626abd414216f901aeab6dd54f0a3d8bf132eb2008b3e748c44c10c0315aa33cebd44ddbb1be789bc06c9dc652d191091e3198a07758d79
+ languageName: node
+ linkType: hard
+
+"@material-ui/types@npm:5.1.0":
+ version: 5.1.0
+ resolution: "@material-ui/types@npm:5.1.0"
+ peerDependencies:
+ "@types/react": "*"
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/89ec44cb31c1098fd20864f487c79f1b7267fc53dbbf132e5fad7090480e0e43a2a5e4d5e343c51ff7fc12a90484685cf286233c754af05b5fb03ac34416145b
+ languageName: node
+ linkType: hard
+
+"@material-ui/utils@npm:^4.11.3":
+ version: 4.11.3
+ resolution: "@material-ui/utils@npm:4.11.3"
+ dependencies:
+ "@babel/runtime": "npm:^7.4.4"
+ prop-types: "npm:^15.7.2"
+ react-is: "npm:^16.8.0 || ^17.0.0"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 10c0/af6d227bee05cae9044a683da94f9463748aa6166ddabc85e5301612a66067a35b20661f212a3118556ce40d6f0d3d9a70f559bfb41c036b57f710e5901c5809
+ languageName: node
+ linkType: hard
+
+"@mui/base@npm:5.0.0-beta.59":
+ version: 5.0.0-beta.59
+ resolution: "@mui/base@npm:5.0.0-beta.59"
+ dependencies:
+ "@babel/runtime": "npm:^7.25.7"
+ "@floating-ui/react-dom": "npm:^2.1.1"
+ "@mui/types": "npm:^7.2.18"
+ "@mui/utils": "npm:^6.1.4"
+ "@popperjs/core": "npm:^2.11.8"
+ clsx: "npm:^2.1.1"
+ prop-types: "npm:^15.8.1"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/ba211b939346b78a1848861501fbddd35a40d99f3455d4e6af889681cf28fc9e8392afe5e1f6ef3c58d12142a301df02d3b232352a19d018762f6366995a5eae
+ languageName: node
+ linkType: hard
+
+"@mui/core-downloads-tracker@npm:^6.1.4":
+ version: 6.1.4
+ resolution: "@mui/core-downloads-tracker@npm:6.1.4"
+ checksum: 10c0/bfd84a726c883dd681b2cda13b977eb6646c1da66ea59905dbe7b857ec4ac86576a318eb116d54633e7c479aecb52fe0c75fb957f1b6081a6c8857dd5ce4c5b9
+ languageName: node
+ linkType: hard
+
+"@mui/icons-material@npm:^6.1.4":
+ version: 6.1.4
+ resolution: "@mui/icons-material@npm:6.1.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.25.7"
+ peerDependencies:
+ "@mui/material": ^6.1.4
+ "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/8e4e8a20c7183fae76f1e013669212404696e9e146aa413afbc705ee56f0a32cfef6143a16f9ec24aeb1e8dfb567d50f9b04b9bdf381ad8bd7a2c9b09d25186c
+ languageName: node
+ linkType: hard
+
+"@mui/material@npm:^6.1.4":
+ version: 6.1.4
+ resolution: "@mui/material@npm:6.1.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.25.7"
+ "@mui/core-downloads-tracker": "npm:^6.1.4"
+ "@mui/system": "npm:^6.1.4"
+ "@mui/types": "npm:^7.2.18"
+ "@mui/utils": "npm:^6.1.4"
+ "@popperjs/core": "npm:^2.11.8"
+ "@types/react-transition-group": "npm:^4.4.11"
+ clsx: "npm:^2.1.1"
+ csstype: "npm:^3.1.3"
+ prop-types: "npm:^15.8.1"
+ react-is: "npm:^18.3.1"
+ react-transition-group: "npm:^4.4.5"
+ peerDependencies:
+ "@emotion/react": ^11.5.0
+ "@emotion/styled": ^11.3.0
+ "@mui/material-pigment-css": ^6.1.4
+ "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ "@emotion/react":
+ optional: true
+ "@emotion/styled":
+ optional: true
+ "@mui/material-pigment-css":
+ optional: true
+ "@types/react":
+ optional: true
+ checksum: 10c0/3729e56129b27706ebfab67428035dc7f0136dfd745281b467c7da07e78248cc8e2f36939cd6c33967fd565c5b5eff336629e3f7a2d877e9b176d24df67c9c81
+ languageName: node
+ linkType: hard
+
+"@mui/private-theming@npm:^6.1.4":
+ version: 6.1.4
+ resolution: "@mui/private-theming@npm:6.1.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.25.7"
+ "@mui/utils": "npm:^6.1.4"
+ prop-types: "npm:^15.8.1"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/37c81ca4529afbec2a4710d4dfa1597a5f9a33ff3ae775fa68474f86b223ed4ab953526e49883d77638ad62f0c944716c2b0dc58a105624ca91fe60a633e3b4a
+ languageName: node
+ linkType: hard
+
+"@mui/styled-engine@npm:^6.1.4":
+ version: 6.1.4
+ resolution: "@mui/styled-engine@npm:6.1.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.25.7"
+ "@emotion/cache": "npm:^11.13.1"
+ "@emotion/serialize": "npm:^1.3.2"
+ "@emotion/sheet": "npm:^1.4.0"
+ csstype: "npm:^3.1.3"
+ prop-types: "npm:^15.8.1"
+ peerDependencies:
+ "@emotion/react": ^11.4.1
+ "@emotion/styled": ^11.3.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ "@emotion/react":
+ optional: true
+ "@emotion/styled":
+ optional: true
+ checksum: 10c0/ce8f53a704aa607152ef5ef25d95bdd5c4399f7dbf240acd6e4057c24d84536bb3c884fcb13c5e88d87dbfff42935c82af2e63800ba033ad481847b1967ccf52
+ languageName: node
+ linkType: hard
+
+"@mui/system@npm:^6.1.4":
+ version: 6.1.4
+ resolution: "@mui/system@npm:6.1.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.25.7"
+ "@mui/private-theming": "npm:^6.1.4"
+ "@mui/styled-engine": "npm:^6.1.4"
+ "@mui/types": "npm:^7.2.18"
+ "@mui/utils": "npm:^6.1.4"
+ clsx: "npm:^2.1.1"
+ csstype: "npm:^3.1.3"
+ prop-types: "npm:^15.8.1"
+ peerDependencies:
+ "@emotion/react": ^11.5.0
+ "@emotion/styled": ^11.3.0
+ "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ "@emotion/react":
+ optional: true
+ "@emotion/styled":
+ optional: true
+ "@types/react":
+ optional: true
+ checksum: 10c0/766f1c695254df54b06de1af231cdf30752f71a79181edd4c24044405144b7a72c4c23248155f4041999993aa4f568878eccd130c100b4b332e7dd6b322dfd75
+ languageName: node
+ linkType: hard
+
+"@mui/types@npm:^7.2.18":
+ version: 7.2.18
+ resolution: "@mui/types@npm:7.2.18"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/338404bdef7c7f9ebcd389ebbf429c44d2cc9c25c65d8669dc900a24b2c8718240482273bf6cd953578965e3838ad40a8e7376c71d3d9146be3afb88bff1b67a
+ languageName: node
+ linkType: hard
+
+"@mui/utils@npm:^6.1.4":
+ version: 6.1.4
+ resolution: "@mui/utils@npm:6.1.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.25.7"
+ "@mui/types": "npm:^7.2.18"
+ "@types/prop-types": "npm:^15.7.13"
+ clsx: "npm:^2.1.1"
+ prop-types: "npm:^15.8.1"
+ react-is: "npm:^18.3.1"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/cac4f05904897c28444e7ef2a6891678d36c0a8fae921ccacebcd7b53da99e4c6cab05669328fdabff624313de68f1b5bcd427cba36024b6c3505b5ee945eb05
+ languageName: node
+ linkType: hard
+
+"@nodelib/fs.scandir@npm:2.1.5":
+ version: 2.1.5
+ resolution: "@nodelib/fs.scandir@npm:2.1.5"
+ dependencies:
+ "@nodelib/fs.stat": "npm:2.0.5"
+ run-parallel: "npm:^1.1.9"
+ checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb
+ languageName: node
+ linkType: hard
+
+"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2":
+ version: 2.0.5
+ resolution: "@nodelib/fs.stat@npm:2.0.5"
+ checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d
+ languageName: node
+ linkType: hard
+
+"@nodelib/fs.walk@npm:^1.2.3":
+ version: 1.2.8
+ resolution: "@nodelib/fs.walk@npm:1.2.8"
+ dependencies:
+ "@nodelib/fs.scandir": "npm:2.1.5"
+ fastq: "npm:^1.6.0"
+ checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1
+ languageName: node
+ linkType: hard
+
+"@npmcli/agent@npm:^2.0.0":
+ version: 2.2.2
+ resolution: "@npmcli/agent@npm:2.2.2"
+ dependencies:
+ agent-base: "npm:^7.1.0"
+ http-proxy-agent: "npm:^7.0.0"
+ https-proxy-agent: "npm:^7.0.1"
+ lru-cache: "npm:^10.0.1"
+ socks-proxy-agent: "npm:^8.0.3"
+ checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae
+ languageName: node
+ linkType: hard
+
+"@npmcli/fs@npm:^3.1.0":
+ version: 3.1.1
+ resolution: "@npmcli/fs@npm:3.1.1"
+ dependencies:
+ semver: "npm:^7.3.5"
+ checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99
+ languageName: node
+ linkType: hard
+
+"@pkgjs/parseargs@npm:^0.11.0":
+ version: 0.11.0
+ resolution: "@pkgjs/parseargs@npm:0.11.0"
+ checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd
+ languageName: node
+ linkType: hard
+
+"@popperjs/core@npm:^2.11.8":
+ version: 2.11.8
+ resolution: "@popperjs/core@npm:2.11.8"
+ checksum: 10c0/4681e682abc006d25eb380d0cf3efc7557043f53b6aea7a5057d0d1e7df849a00e281cd8ea79c902a35a414d7919621fc2ba293ecec05f413598e0b23d5a1e63
+ languageName: node
+ linkType: hard
+
+"@rollup/pluginutils@npm:^4.1.1":
+ version: 4.2.1
+ resolution: "@rollup/pluginutils@npm:4.2.1"
+ dependencies:
+ estree-walker: "npm:^2.0.1"
+ picomatch: "npm:^2.2.2"
+ checksum: 10c0/3ee56b2c8f1ed8dfd0a92631da1af3a2dfdd0321948f089b3752b4de1b54dc5076701eadd0e5fc18bd191b77af594ac1db6279e83951238ba16bf8a414c64c48
+ languageName: node
+ linkType: hard
+
+"@rtsao/scc@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@rtsao/scc@npm:1.1.0"
+ checksum: 10c0/b5bcfb0d87f7d1c1c7c0f7693f53b07866ed9fec4c34a97a8c948fb9a7c0082e416ce4d3b60beb4f5e167cbe04cdeefbf6771320f3ede059b9ce91188c409a5b
+ languageName: node
+ linkType: hard
+
+"@types/history@npm:^4.7.11":
+ version: 4.7.11
+ resolution: "@types/history@npm:4.7.11"
+ checksum: 10c0/3facf37c2493d1f92b2e93a22cac7ea70b06351c2ab9aaceaa3c56aa6099fb63516f6c4ec1616deb5c56b4093c026a043ea2d3373e6c0644d55710364d02c934
+ languageName: node
+ linkType: hard
+
+"@types/json-schema@npm:^7.0.7":
+ version: 7.0.15
+ resolution: "@types/json-schema@npm:7.0.15"
+ checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db
+ languageName: node
+ linkType: hard
+
+"@types/json5@npm:^0.0.29":
+ version: 0.0.29
+ resolution: "@types/json5@npm:0.0.29"
+ checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac
+ languageName: node
+ linkType: hard
+
+"@types/parse-json@npm:^4.0.0":
+ version: 4.0.2
+ resolution: "@types/parse-json@npm:4.0.2"
+ checksum: 10c0/b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1
+ languageName: node
+ linkType: hard
+
+"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.13":
+ version: 15.7.13
+ resolution: "@types/prop-types@npm:15.7.13"
+ checksum: 10c0/1b20fc67281902c6743379960247bc161f3f0406ffc0df8e7058745a85ea1538612109db0406290512947f9632fe9e10e7337bf0ce6338a91d6c948df16a7c61
+ languageName: node
+ linkType: hard
+
+"@types/react-dom@npm:^17.0.9":
+ version: 17.0.25
+ resolution: "@types/react-dom@npm:17.0.25"
+ dependencies:
+ "@types/react": "npm:^17"
+ checksum: 10c0/18a95d4d684cacc697d97ae66e3c8402da2f866c053fa6a5982694aa8eb6229afcefd3bfaaab4175c1b0ef3494c881e4d25e2167aa669bcbbb84114fd02ae5ba
+ languageName: node
+ linkType: hard
+
+"@types/react-router-dom@npm:^5.1.8":
+ version: 5.3.3
+ resolution: "@types/react-router-dom@npm:5.3.3"
+ dependencies:
+ "@types/history": "npm:^4.7.11"
+ "@types/react": "npm:*"
+ "@types/react-router": "npm:*"
+ checksum: 10c0/a9231a16afb9ed5142678147eafec9d48582809295754fb60946e29fcd3757a4c7a3180fa94b45763e4c7f6e3f02379e2fcb8dd986db479dcab40eff5fc62a91
+ languageName: node
+ linkType: hard
+
+"@types/react-router@npm:*":
+ version: 5.1.20
+ resolution: "@types/react-router@npm:5.1.20"
+ dependencies:
+ "@types/history": "npm:^4.7.11"
+ "@types/react": "npm:*"
+ checksum: 10c0/1f7eee61981d2f807fa01a34a0ef98ebc0774023832b6611a69c7f28fdff01de5a38cabf399f32e376bf8099dcb7afaf724775bea9d38870224492bea4cb5737
+ languageName: node
+ linkType: hard
+
+"@types/react-transition-group@npm:^4.2.0, @types/react-transition-group@npm:^4.4.11":
+ version: 4.4.11
+ resolution: "@types/react-transition-group@npm:4.4.11"
+ dependencies:
+ "@types/react": "npm:*"
+ checksum: 10c0/8fbf0dcc1b81985cdcebe3c59d769fe2ea3f4525f12c3a10a7429a59f93e303c82b2abb744d21cb762879f4514969d70a7ab11b9bf486f92213e8fe70e04098d
+ languageName: node
+ linkType: hard
+
+"@types/react@npm:*":
+ version: 18.3.11
+ resolution: "@types/react@npm:18.3.11"
+ dependencies:
+ "@types/prop-types": "npm:*"
+ csstype: "npm:^3.0.2"
+ checksum: 10c0/ce80512246ca5bda69db85b9f4f1835189334acfb6b2c4f3eda8cabff1ff1a3ea9ce4f3b895bdbc18c94140aa45592331aa3fdeb557f525c1b048de7ce84fc0e
+ languageName: node
+ linkType: hard
+
+"@types/react@npm:^17, @types/react@npm:^17.0.14":
+ version: 17.0.83
+ resolution: "@types/react@npm:17.0.83"
+ dependencies:
+ "@types/prop-types": "npm:*"
+ "@types/scheduler": "npm:^0.16"
+ csstype: "npm:^3.0.2"
+ checksum: 10c0/c8f76790190a9df42099f5f78d08dd4095f2da3bd97ff7cce0001d5a97ff3ffb31f703575acf2c457606e0d0b229ca8d1ba0ff459b77a4e44c5ea5154fe3fb4b
+ languageName: node
+ linkType: hard
+
+"@types/scheduler@npm:^0.16":
+ version: 0.16.8
+ resolution: "@types/scheduler@npm:0.16.8"
+ checksum: 10c0/f86de504945b8fc41b1f391f847444d542e2e4067cf7e5d9bfeb5d2d2393d3203b1161bc0ef3b1e104d828dabfb60baf06e8d2c27e27ff7e8258e6e618d8c4ec
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/eslint-plugin@npm:^4.28.2":
+ version: 4.33.0
+ resolution: "@typescript-eslint/eslint-plugin@npm:4.33.0"
+ dependencies:
+ "@typescript-eslint/experimental-utils": "npm:4.33.0"
+ "@typescript-eslint/scope-manager": "npm:4.33.0"
+ debug: "npm:^4.3.1"
+ functional-red-black-tree: "npm:^1.0.1"
+ ignore: "npm:^5.1.8"
+ regexpp: "npm:^3.1.0"
+ semver: "npm:^7.3.5"
+ tsutils: "npm:^3.21.0"
+ peerDependencies:
+ "@typescript-eslint/parser": ^4.0.0
+ eslint: ^5.0.0 || ^6.0.0 || ^7.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 10c0/c1e1e424e257fa6e5e8b18d7ff77e8a983a761f4acc0cd58ebd31de8ec56c8c472689989cff0290eee41457662a1e664b555cf74bfc1b37bdf8c87ccac2a4663
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/experimental-utils@npm:4.33.0":
+ version: 4.33.0
+ resolution: "@typescript-eslint/experimental-utils@npm:4.33.0"
+ dependencies:
+ "@types/json-schema": "npm:^7.0.7"
+ "@typescript-eslint/scope-manager": "npm:4.33.0"
+ "@typescript-eslint/types": "npm:4.33.0"
+ "@typescript-eslint/typescript-estree": "npm:4.33.0"
+ eslint-scope: "npm:^5.1.1"
+ eslint-utils: "npm:^3.0.0"
+ peerDependencies:
+ eslint: "*"
+ checksum: 10c0/bb2a48c9df21ef06ccbcd083753b8c51b30a46cde67ab56d278b30ad7868d2e07641e51b6f7fb54437dcb7aff134fac44708e730e2b8f6e43027fefe8629bcb9
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/parser@npm:^4.28.2":
+ version: 4.33.0
+ resolution: "@typescript-eslint/parser@npm:4.33.0"
+ dependencies:
+ "@typescript-eslint/scope-manager": "npm:4.33.0"
+ "@typescript-eslint/types": "npm:4.33.0"
+ "@typescript-eslint/typescript-estree": "npm:4.33.0"
+ debug: "npm:^4.3.1"
+ peerDependencies:
+ eslint: ^5.0.0 || ^6.0.0 || ^7.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 10c0/d6f91479b2c0d0ff20ac2dbc7540b28c175fd834a220a4f227209f6c74c55401ac6bd41b2bb4cf40b3ba7761075ccded2019bfc6096c2e4f273bd4ae86c44172
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/scope-manager@npm:4.33.0":
+ version: 4.33.0
+ resolution: "@typescript-eslint/scope-manager@npm:4.33.0"
+ dependencies:
+ "@typescript-eslint/types": "npm:4.33.0"
+ "@typescript-eslint/visitor-keys": "npm:4.33.0"
+ checksum: 10c0/1dfe65777eeb430c1ef778bdad35e6065d4b3075ddb2639d0747d8db93c02eebf6832ba82388a7f80662e0e9f61f1922fe939b53a20889e11fb9f80c4029c6b7
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/types@npm:4.33.0":
+ version: 4.33.0
+ resolution: "@typescript-eslint/types@npm:4.33.0"
+ checksum: 10c0/6c94780a589eca7a75ae2b014f320bc412b50794c39ab04889918bb39a40e72584b65c8c0b035330cb0599579afaa3adccee40701f63cf39c0e89299de199d4b
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/typescript-estree@npm:4.33.0":
+ version: 4.33.0
+ resolution: "@typescript-eslint/typescript-estree@npm:4.33.0"
+ dependencies:
+ "@typescript-eslint/types": "npm:4.33.0"
+ "@typescript-eslint/visitor-keys": "npm:4.33.0"
+ debug: "npm:^4.3.1"
+ globby: "npm:^11.0.3"
+ is-glob: "npm:^4.0.1"
+ semver: "npm:^7.3.5"
+ tsutils: "npm:^3.21.0"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 10c0/67609a7bdd680136765d103dec4b8afb38a17436e8a5cd830da84f62c6153c3acba561da3b9e2140137b1a0bcbbfc19d4256c692f7072acfebcff88db079e22b
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/visitor-keys@npm:4.33.0":
+ version: 4.33.0
+ resolution: "@typescript-eslint/visitor-keys@npm:4.33.0"
+ dependencies:
+ "@typescript-eslint/types": "npm:4.33.0"
+ eslint-visitor-keys: "npm:^2.0.0"
+ checksum: 10c0/95b3904db6113ef365892567d47365e6af3708e6fa905743426036f99e1b7fd4a275facec5d939afecb618369f9d615e379d39f96b8936f469e75507c41c249c
+ languageName: node
+ linkType: hard
+
+"@vitejs/plugin-react-refresh@npm:^1.3.5":
+ version: 1.3.6
+ resolution: "@vitejs/plugin-react-refresh@npm:1.3.6"
+ dependencies:
+ "@babel/core": "npm:^7.14.8"
+ "@babel/plugin-transform-react-jsx-self": "npm:^7.14.5"
+ "@babel/plugin-transform-react-jsx-source": "npm:^7.14.5"
+ "@rollup/pluginutils": "npm:^4.1.1"
+ react-refresh: "npm:^0.10.0"
+ checksum: 10c0/991c714beca345f3693ff61409b2c5a8c63b1c09e8f5c71af9f107173889a97a57b1a209c92b8a20113028114e1206971fb3acc85a608f249ff5cf2d103db7fa
+ languageName: node
+ linkType: hard
+
+"abbrev@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "abbrev@npm:2.0.0"
+ checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372
+ languageName: node
+ linkType: hard
+
+"acorn-jsx@npm:^5.3.1":
+ version: 5.3.2
+ resolution: "acorn-jsx@npm:5.3.2"
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1
+ languageName: node
+ linkType: hard
+
+"acorn@npm:^7.4.0":
+ version: 7.4.1
+ resolution: "acorn@npm:7.4.1"
+ bin:
+ acorn: bin/acorn
+ checksum: 10c0/bd0b2c2b0f334bbee48828ff897c12bd2eb5898d03bf556dcc8942022cec795ac5bb5b6b585e2de687db6231faf07e096b59a361231dd8c9344d5df5f7f0e526
+ languageName: node
+ linkType: hard
+
+"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1":
+ version: 7.1.1
+ resolution: "agent-base@npm:7.1.1"
+ dependencies:
+ debug: "npm:^4.3.4"
+ checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50
+ languageName: node
+ linkType: hard
+
+"aggregate-error@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "aggregate-error@npm:3.1.0"
+ dependencies:
+ clean-stack: "npm:^2.0.0"
+ indent-string: "npm:^4.0.0"
+ checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039
+ languageName: node
+ linkType: hard
+
+"ajv@npm:^6.10.0, ajv@npm:^6.12.4":
+ version: 6.12.6
+ resolution: "ajv@npm:6.12.6"
+ dependencies:
+ fast-deep-equal: "npm:^3.1.1"
+ fast-json-stable-stringify: "npm:^2.0.0"
+ json-schema-traverse: "npm:^0.4.1"
+ uri-js: "npm:^4.2.2"
+ checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71
+ languageName: node
+ linkType: hard
+
+"ajv@npm:^8.0.1":
+ version: 8.17.1
+ resolution: "ajv@npm:8.17.1"
+ dependencies:
+ fast-deep-equal: "npm:^3.1.3"
+ fast-uri: "npm:^3.0.1"
+ json-schema-traverse: "npm:^1.0.0"
+ require-from-string: "npm:^2.0.2"
+ checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35
+ languageName: node
+ linkType: hard
+
+"ansi-colors@npm:^4.1.1":
+ version: 4.1.3
+ resolution: "ansi-colors@npm:4.1.3"
+ checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9
+ languageName: node
+ linkType: hard
+
+"ansi-escapes@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "ansi-escapes@npm:7.0.0"
+ dependencies:
+ environment: "npm:^1.0.0"
+ checksum: 10c0/86e51e36fabef18c9c004af0a280573e828900641cea35134a124d2715e0c5a473494ab4ce396614505da77638ae290ff72dd8002d9747d2ee53f5d6bbe336be
+ languageName: node
+ linkType: hard
+
+"ansi-regex@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "ansi-regex@npm:5.0.1"
+ checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737
+ languageName: node
+ linkType: hard
+
+"ansi-regex@npm:^6.0.1":
+ version: 6.1.0
+ resolution: "ansi-regex@npm:6.1.0"
+ checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc
+ languageName: node
+ linkType: hard
+
+"ansi-styles@npm:^3.2.1":
+ version: 3.2.1
+ resolution: "ansi-styles@npm:3.2.1"
+ dependencies:
+ color-convert: "npm:^1.9.0"
+ checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b
+ languageName: node
+ linkType: hard
+
+"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0":
+ version: 4.3.0
+ resolution: "ansi-styles@npm:4.3.0"
+ dependencies:
+ color-convert: "npm:^2.0.1"
+ checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041
+ languageName: node
+ linkType: hard
+
+"ansi-styles@npm:^6.0.0, ansi-styles@npm:^6.1.0, ansi-styles@npm:^6.2.1":
+ version: 6.2.1
+ resolution: "ansi-styles@npm:6.2.1"
+ checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c
+ languageName: node
+ linkType: hard
+
+"any-promise@npm:^1.0.0":
+ version: 1.3.0
+ resolution: "any-promise@npm:1.3.0"
+ checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889
+ languageName: node
+ linkType: hard
+
+"argparse@npm:^1.0.7":
+ version: 1.0.10
+ resolution: "argparse@npm:1.0.10"
+ dependencies:
+ sprintf-js: "npm:~1.0.2"
+ checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de
+ languageName: node
+ linkType: hard
+
+"array-buffer-byte-length@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "array-buffer-byte-length@npm:1.0.1"
+ dependencies:
+ call-bind: "npm:^1.0.5"
+ is-array-buffer: "npm:^3.0.4"
+ checksum: 10c0/f5cdf54527cd18a3d2852ddf73df79efec03829e7373a8322ef5df2b4ef546fb365c19c71d6b42d641cb6bfe0f1a2f19bc0ece5b533295f86d7c3d522f228917
+ languageName: node
+ linkType: hard
+
+"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8":
+ version: 3.1.8
+ resolution: "array-includes@npm:3.1.8"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.2"
+ es-object-atoms: "npm:^1.0.0"
+ get-intrinsic: "npm:^1.2.4"
+ is-string: "npm:^1.0.7"
+ checksum: 10c0/5b1004d203e85873b96ddc493f090c9672fd6c80d7a60b798da8a14bff8a670ff95db5aafc9abc14a211943f05220dacf8ea17638ae0af1a6a47b8c0b48ce370
+ languageName: node
+ linkType: hard
+
+"array-union@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "array-union@npm:2.1.0"
+ checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962
+ languageName: node
+ linkType: hard
+
+"array.prototype.findlast@npm:^1.2.5":
+ version: 1.2.5
+ resolution: "array.prototype.findlast@npm:1.2.5"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.2"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.0.0"
+ es-shim-unscopables: "npm:^1.0.2"
+ checksum: 10c0/ddc952b829145ab45411b9d6adcb51a8c17c76bf89c9dd64b52d5dffa65d033da8c076ed2e17091779e83bc892b9848188d7b4b33453c5565e65a92863cb2775
+ languageName: node
+ linkType: hard
+
+"array.prototype.findlastindex@npm:^1.2.5":
+ version: 1.2.5
+ resolution: "array.prototype.findlastindex@npm:1.2.5"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.2"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.0.0"
+ es-shim-unscopables: "npm:^1.0.2"
+ checksum: 10c0/962189487728b034f3134802b421b5f39e42ee2356d13b42d2ddb0e52057ffdcc170b9524867f4f0611a6f638f4c19b31e14606e8bcbda67799e26685b195aa3
+ languageName: node
+ linkType: hard
+
+"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2":
+ version: 1.3.2
+ resolution: "array.prototype.flat@npm:1.3.2"
+ dependencies:
+ call-bind: "npm:^1.0.2"
+ define-properties: "npm:^1.2.0"
+ es-abstract: "npm:^1.22.1"
+ es-shim-unscopables: "npm:^1.0.0"
+ checksum: 10c0/a578ed836a786efbb6c2db0899ae80781b476200617f65a44846cb1ed8bd8b24c8821b83703375d8af639c689497b7b07277060024b9919db94ac3e10dc8a49b
+ languageName: node
+ linkType: hard
+
+"array.prototype.flatmap@npm:^1.3.2":
+ version: 1.3.2
+ resolution: "array.prototype.flatmap@npm:1.3.2"
+ dependencies:
+ call-bind: "npm:^1.0.2"
+ define-properties: "npm:^1.2.0"
+ es-abstract: "npm:^1.22.1"
+ es-shim-unscopables: "npm:^1.0.0"
+ checksum: 10c0/67b3f1d602bb73713265145853128b1ad77cc0f9b833c7e1e056b323fbeac41a4ff1c9c99c7b9445903caea924d9ca2450578d9011913191aa88cc3c3a4b54f4
+ languageName: node
+ linkType: hard
+
+"array.prototype.tosorted@npm:^1.1.4":
+ version: 1.1.4
+ resolution: "array.prototype.tosorted@npm:1.1.4"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.3"
+ es-errors: "npm:^1.3.0"
+ es-shim-unscopables: "npm:^1.0.2"
+ checksum: 10c0/eb3c4c4fc0381b0bf6dba2ea4d48d367c2827a0d4236a5718d97caaccc6b78f11f4cadf090736e86301d295a6aa4967ed45568f92ced51be8cbbacd9ca410943
+ languageName: node
+ linkType: hard
+
+"arraybuffer.prototype.slice@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "arraybuffer.prototype.slice@npm:1.0.3"
+ dependencies:
+ array-buffer-byte-length: "npm:^1.0.1"
+ call-bind: "npm:^1.0.5"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.22.3"
+ es-errors: "npm:^1.2.1"
+ get-intrinsic: "npm:^1.2.3"
+ is-array-buffer: "npm:^3.0.4"
+ is-shared-array-buffer: "npm:^1.0.2"
+ checksum: 10c0/d32754045bcb2294ade881d45140a5e52bda2321b9e98fa514797b7f0d252c4c5ab0d1edb34112652c62fa6a9398def568da63a4d7544672229afea283358c36
+ languageName: node
+ linkType: hard
+
+"astral-regex@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "astral-regex@npm:2.0.0"
+ checksum: 10c0/f63d439cc383db1b9c5c6080d1e240bd14dae745f15d11ec5da863e182bbeca70df6c8191cffef5deba0b566ef98834610a68be79ac6379c95eeb26e1b310e25
+ languageName: node
+ linkType: hard
+
+"available-typed-arrays@npm:^1.0.7":
+ version: 1.0.7
+ resolution: "available-typed-arrays@npm:1.0.7"
+ dependencies:
+ possible-typed-array-names: "npm:^1.0.0"
+ checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2
+ languageName: node
+ linkType: hard
+
+"babel-plugin-macros@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "babel-plugin-macros@npm:3.1.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.12.5"
+ cosmiconfig: "npm:^7.0.0"
+ resolve: "npm:^1.19.0"
+ checksum: 10c0/c6dfb15de96f67871d95bd2e8c58b0c81edc08b9b087dc16755e7157f357dc1090a8dc60ebab955e92587a9101f02eba07e730adc253a1e4cf593ca3ebd3839c
+ languageName: node
+ linkType: hard
+
+"balanced-match@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "balanced-match@npm:1.0.2"
+ checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee
+ languageName: node
+ linkType: hard
+
+"brace-expansion@npm:^1.1.7":
+ version: 1.1.11
+ resolution: "brace-expansion@npm:1.1.11"
+ dependencies:
+ balanced-match: "npm:^1.0.0"
+ concat-map: "npm:0.0.1"
+ checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668
+ languageName: node
+ linkType: hard
+
+"brace-expansion@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "brace-expansion@npm:2.0.1"
+ dependencies:
+ balanced-match: "npm:^1.0.0"
+ checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f
+ languageName: node
+ linkType: hard
+
+"braces@npm:^3.0.3":
+ version: 3.0.3
+ resolution: "braces@npm:3.0.3"
+ dependencies:
+ fill-range: "npm:^7.1.1"
+ checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04
+ languageName: node
+ linkType: hard
+
+"browserslist@npm:^4.24.0":
+ version: 4.24.0
+ resolution: "browserslist@npm:4.24.0"
+ dependencies:
+ caniuse-lite: "npm:^1.0.30001663"
+ electron-to-chromium: "npm:^1.5.28"
+ node-releases: "npm:^2.0.18"
+ update-browserslist-db: "npm:^1.1.0"
+ bin:
+ browserslist: cli.js
+ checksum: 10c0/95e76ad522753c4c470427f6e3c8a4bb5478ff448841e22b3d3e53f89ecaf17b6984666d6c7e715c370f1e7fa0cf684f42e34e554236a8b2fab38ea76b9e4c52
+ languageName: node
+ linkType: hard
+
+"cacache@npm:^18.0.0":
+ version: 18.0.4
+ resolution: "cacache@npm:18.0.4"
+ dependencies:
+ "@npmcli/fs": "npm:^3.1.0"
+ fs-minipass: "npm:^3.0.0"
+ glob: "npm:^10.2.2"
+ lru-cache: "npm:^10.0.1"
+ minipass: "npm:^7.0.3"
+ minipass-collect: "npm:^2.0.1"
+ minipass-flush: "npm:^1.0.5"
+ minipass-pipeline: "npm:^1.2.4"
+ p-map: "npm:^4.0.0"
+ ssri: "npm:^10.0.0"
+ tar: "npm:^6.1.11"
+ unique-filename: "npm:^3.0.0"
+ checksum: 10c0/6c055bafed9de4f3dcc64ac3dc7dd24e863210902b7c470eb9ce55a806309b3efff78033e3d8b4f7dcc5d467f2db43c6a2857aaaf26f0094b8a351d44c42179f
+ languageName: node
+ linkType: hard
+
+"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7":
+ version: 1.0.7
+ resolution: "call-bind@npm:1.0.7"
+ dependencies:
+ es-define-property: "npm:^1.0.0"
+ es-errors: "npm:^1.3.0"
+ function-bind: "npm:^1.1.2"
+ get-intrinsic: "npm:^1.2.4"
+ set-function-length: "npm:^1.2.1"
+ checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d
+ languageName: node
+ linkType: hard
+
+"callsites@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "callsites@npm:3.1.0"
+ checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301
+ languageName: node
+ linkType: hard
+
+"caniuse-lite@npm:^1.0.30001663":
+ version: 1.0.30001669
+ resolution: "caniuse-lite@npm:1.0.30001669"
+ checksum: 10c0/f125f23440d3dbb6c25ffb8d55f4ce48af36a84d0932b152b3b74f143a4170cbe92e02b0a9676209c86609bf7bf34119ff10cc2bc7c1b7ea40e936cc16598408
+ languageName: node
+ linkType: hard
+
+"chalk@npm:^2.4.2":
+ version: 2.4.2
+ resolution: "chalk@npm:2.4.2"
+ dependencies:
+ ansi-styles: "npm:^3.2.1"
+ escape-string-regexp: "npm:^1.0.5"
+ supports-color: "npm:^5.3.0"
+ checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073
+ languageName: node
+ linkType: hard
+
+"chalk@npm:^4.0.0":
+ version: 4.1.2
+ resolution: "chalk@npm:4.1.2"
+ dependencies:
+ ansi-styles: "npm:^4.1.0"
+ supports-color: "npm:^7.1.0"
+ checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880
+ languageName: node
+ linkType: hard
+
+"chalk@npm:~5.3.0":
+ version: 5.3.0
+ resolution: "chalk@npm:5.3.0"
+ checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09
+ languageName: node
+ linkType: hard
+
+"chownr@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "chownr@npm:2.0.0"
+ checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6
+ languageName: node
+ linkType: hard
+
+"clean-stack@npm:^2.0.0":
+ version: 2.2.0
+ resolution: "clean-stack@npm:2.2.0"
+ checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1
+ languageName: node
+ linkType: hard
+
+"cli-cursor@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "cli-cursor@npm:5.0.0"
+ dependencies:
+ restore-cursor: "npm:^5.0.0"
+ checksum: 10c0/7ec62f69b79f6734ab209a3e4dbdc8af7422d44d360a7cb1efa8a0887bbe466a6e625650c466fe4359aee44dbe2dc0b6994b583d40a05d0808a5cb193641d220
+ languageName: node
+ linkType: hard
+
+"cli-truncate@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "cli-truncate@npm:4.0.0"
+ dependencies:
+ slice-ansi: "npm:^5.0.0"
+ string-width: "npm:^7.0.0"
+ checksum: 10c0/d7f0b73e3d9b88cb496e6c086df7410b541b56a43d18ade6a573c9c18bd001b1c3fba1ad578f741a4218fdc794d042385f8ac02c25e1c295a2d8b9f3cb86eb4c
+ languageName: node
+ linkType: hard
+
+"cliui@npm:^8.0.1":
+ version: 8.0.1
+ resolution: "cliui@npm:8.0.1"
+ dependencies:
+ string-width: "npm:^4.2.0"
+ strip-ansi: "npm:^6.0.1"
+ wrap-ansi: "npm:^7.0.0"
+ checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5
+ languageName: node
+ linkType: hard
+
+"clsx@npm:^1.0.4":
+ version: 1.2.1
+ resolution: "clsx@npm:1.2.1"
+ checksum: 10c0/34dead8bee24f5e96f6e7937d711978380647e936a22e76380290e35486afd8634966ce300fc4b74a32f3762c7d4c0303f442c3e259f4ce02374eb0c82834f27
+ languageName: node
+ linkType: hard
+
+"clsx@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "clsx@npm:2.1.1"
+ checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839
+ languageName: node
+ linkType: hard
+
+"color-convert@npm:^1.9.0":
+ version: 1.9.3
+ resolution: "color-convert@npm:1.9.3"
+ dependencies:
+ color-name: "npm:1.1.3"
+ checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c
+ languageName: node
+ linkType: hard
+
+"color-convert@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "color-convert@npm:2.0.1"
+ dependencies:
+ color-name: "npm:~1.1.4"
+ checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7
+ languageName: node
+ linkType: hard
+
+"color-name@npm:1.1.3":
+ version: 1.1.3
+ resolution: "color-name@npm:1.1.3"
+ checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6
+ languageName: node
+ linkType: hard
+
+"color-name@npm:~1.1.4":
+ version: 1.1.4
+ resolution: "color-name@npm:1.1.4"
+ checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95
+ languageName: node
+ linkType: hard
+
+"colorette@npm:^2.0.20":
+ version: 2.0.20
+ resolution: "colorette@npm:2.0.20"
+ checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40
+ languageName: node
+ linkType: hard
+
+"commander@npm:^4.0.0":
+ version: 4.1.1
+ resolution: "commander@npm:4.1.1"
+ checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab
+ languageName: node
+ linkType: hard
+
+"commander@npm:~12.1.0":
+ version: 12.1.0
+ resolution: "commander@npm:12.1.0"
+ checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9
+ languageName: node
+ linkType: hard
+
+"concat-map@npm:0.0.1":
+ version: 0.0.1
+ resolution: "concat-map@npm:0.0.1"
+ checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f
+ languageName: node
+ linkType: hard
+
+"connect@npm:^3.7.0":
+ version: 3.7.0
+ resolution: "connect@npm:3.7.0"
+ dependencies:
+ debug: "npm:2.6.9"
+ finalhandler: "npm:1.1.2"
+ parseurl: "npm:~1.3.3"
+ utils-merge: "npm:1.0.1"
+ checksum: 10c0/f120c6116bb16a0a7d2703c0b4a0cd7ed787dc5ec91978097bf62aa967289020a9f41a9cd3c3276a7b92aaa36f382d2cd35fed7138fd466a55c8e9fdbed11ca8
+ languageName: node
+ linkType: hard
+
+"convert-source-map@npm:^1.5.0":
+ version: 1.9.0
+ resolution: "convert-source-map@npm:1.9.0"
+ checksum: 10c0/281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b
+ languageName: node
+ linkType: hard
+
+"convert-source-map@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "convert-source-map@npm:2.0.0"
+ checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b
+ languageName: node
+ linkType: hard
+
+"cosmiconfig@npm:^7.0.0":
+ version: 7.1.0
+ resolution: "cosmiconfig@npm:7.1.0"
+ dependencies:
+ "@types/parse-json": "npm:^4.0.0"
+ import-fresh: "npm:^3.2.1"
+ parse-json: "npm:^5.0.0"
+ path-type: "npm:^4.0.0"
+ yaml: "npm:^1.10.0"
+ checksum: 10c0/b923ff6af581638128e5f074a5450ba12c0300b71302398ea38dbeabd33bbcaa0245ca9adbedfcf284a07da50f99ede5658c80bb3e39e2ce770a99d28a21ef03
+ languageName: node
+ linkType: hard
+
+"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3":
+ version: 7.0.3
+ resolution: "cross-spawn@npm:7.0.3"
+ dependencies:
+ path-key: "npm:^3.1.0"
+ shebang-command: "npm:^2.0.0"
+ which: "npm:^2.0.1"
+ checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750
+ languageName: node
+ linkType: hard
+
+"css-vendor@npm:^2.0.8":
+ version: 2.0.8
+ resolution: "css-vendor@npm:2.0.8"
+ dependencies:
+ "@babel/runtime": "npm:^7.8.3"
+ is-in-browser: "npm:^1.0.2"
+ checksum: 10c0/2538bc37adf72eb79781929dbb8c48e12c6a4b926594ad4134408b3000249f1a50d25be374f0e63f688c863368814aa6cc2e9ea11ea22a7309a7d966b281244c
+ languageName: node
+ linkType: hard
+
+"csstype@npm:^2.5.2":
+ version: 2.6.21
+ resolution: "csstype@npm:2.6.21"
+ checksum: 10c0/e07f27f2100bce9890bb4c3cb9263af97388f0d99b50073b663f1e363fa51b68ac7e2c8a612cd911d2b33c52d83afd1b0b8bc4de1d3ca76ee019a230295daffb
+ languageName: node
+ linkType: hard
+
+"csstype@npm:^3.0.2, csstype@npm:^3.1.3":
+ version: 3.1.3
+ resolution: "csstype@npm:3.1.3"
+ checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248
+ languageName: node
+ linkType: hard
+
+"data-view-buffer@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "data-view-buffer@npm:1.0.1"
+ dependencies:
+ call-bind: "npm:^1.0.6"
+ es-errors: "npm:^1.3.0"
+ is-data-view: "npm:^1.0.1"
+ checksum: 10c0/8984119e59dbed906a11fcfb417d7d861936f16697a0e7216fe2c6c810f6b5e8f4a5281e73f2c28e8e9259027190ac4a33e2a65fdd7fa86ac06b76e838918583
+ languageName: node
+ linkType: hard
+
+"data-view-byte-length@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "data-view-byte-length@npm:1.0.1"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ es-errors: "npm:^1.3.0"
+ is-data-view: "npm:^1.0.1"
+ checksum: 10c0/b7d9e48a0cf5aefed9ab7d123559917b2d7e0d65531f43b2fd95b9d3a6b46042dd3fca597c42bba384e66b70d7ad66ff23932f8367b241f53d93af42cfe04ec2
+ languageName: node
+ linkType: hard
+
+"data-view-byte-offset@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "data-view-byte-offset@npm:1.0.0"
+ dependencies:
+ call-bind: "npm:^1.0.6"
+ es-errors: "npm:^1.3.0"
+ is-data-view: "npm:^1.0.1"
+ checksum: 10c0/21b0d2e53fd6e20cc4257c873bf6d36d77bd6185624b84076c0a1ddaa757b49aaf076254006341d35568e89f52eecd1ccb1a502cfb620f2beca04f48a6a62a8f
+ languageName: node
+ linkType: hard
+
+"debug@npm:2.6.9":
+ version: 2.6.9
+ resolution: "debug@npm:2.6.9"
+ dependencies:
+ ms: "npm:2.0.0"
+ checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589
+ languageName: node
+ linkType: hard
+
+"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4, debug@npm:~4.3.6":
+ version: 4.3.7
+ resolution: "debug@npm:4.3.7"
+ dependencies:
+ ms: "npm:^2.1.3"
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b
+ languageName: node
+ linkType: hard
+
+"debug@npm:^3.2.7":
+ version: 3.2.7
+ resolution: "debug@npm:3.2.7"
+ dependencies:
+ ms: "npm:^2.1.1"
+ checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a
+ languageName: node
+ linkType: hard
+
+"deep-is@npm:^0.1.3":
+ version: 0.1.4
+ resolution: "deep-is@npm:0.1.4"
+ checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c
+ languageName: node
+ linkType: hard
+
+"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4":
+ version: 1.1.4
+ resolution: "define-data-property@npm:1.1.4"
+ dependencies:
+ es-define-property: "npm:^1.0.0"
+ es-errors: "npm:^1.3.0"
+ gopd: "npm:^1.0.1"
+ checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37
+ languageName: node
+ linkType: hard
+
+"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "define-properties@npm:1.2.1"
+ dependencies:
+ define-data-property: "npm:^1.0.1"
+ has-property-descriptors: "npm:^1.0.0"
+ object-keys: "npm:^1.1.1"
+ checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3
+ languageName: node
+ linkType: hard
+
+"dir-glob@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "dir-glob@npm:3.0.1"
+ dependencies:
+ path-type: "npm:^4.0.0"
+ checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c
+ languageName: node
+ linkType: hard
+
+"doctrine@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "doctrine@npm:2.1.0"
+ dependencies:
+ esutils: "npm:^2.0.2"
+ checksum: 10c0/b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac
+ languageName: node
+ linkType: hard
+
+"doctrine@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "doctrine@npm:3.0.0"
+ dependencies:
+ esutils: "npm:^2.0.2"
+ checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520
+ languageName: node
+ linkType: hard
+
+"dom-helpers@npm:^5.0.1":
+ version: 5.2.1
+ resolution: "dom-helpers@npm:5.2.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.8.7"
+ csstype: "npm:^3.0.2"
+ checksum: 10c0/f735074d66dd759b36b158fa26e9d00c9388ee0e8c9b16af941c38f014a37fc80782de83afefd621681b19ac0501034b4f1c4a3bff5caa1b8667f0212b5e124c
+ languageName: node
+ linkType: hard
+
+"eastasianwidth@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "eastasianwidth@npm:0.2.0"
+ checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39
+ languageName: node
+ linkType: hard
+
+"ee-first@npm:1.1.1":
+ version: 1.1.1
+ resolution: "ee-first@npm:1.1.1"
+ checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7
+ languageName: node
+ linkType: hard
+
+"electron-to-chromium@npm:^1.5.28":
+ version: 1.5.40
+ resolution: "electron-to-chromium@npm:1.5.40"
+ checksum: 10c0/3f97360627cf179b344a7d45b3d12fd3f18f1287529d9835a8e802c7a3b99f09e326b4ed3097be1b135e45a33e8497e758b0c101e38e5bb405eaa6aa887eca82
+ languageName: node
+ linkType: hard
+
+"emoji-regex@npm:^10.3.0":
+ version: 10.4.0
+ resolution: "emoji-regex@npm:10.4.0"
+ checksum: 10c0/a3fcedfc58bfcce21a05a5f36a529d81e88d602100145fcca3dc6f795e3c8acc4fc18fe773fbf9b6d6e9371205edb3afa2668ec3473fa2aa7fd47d2a9d46482d
+ languageName: node
+ linkType: hard
+
+"emoji-regex@npm:^8.0.0":
+ version: 8.0.0
+ resolution: "emoji-regex@npm:8.0.0"
+ checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010
+ languageName: node
+ linkType: hard
+
+"emoji-regex@npm:^9.2.2":
+ version: 9.2.2
+ resolution: "emoji-regex@npm:9.2.2"
+ checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639
+ languageName: node
+ linkType: hard
+
+"encodeurl@npm:~1.0.2":
+ version: 1.0.2
+ resolution: "encodeurl@npm:1.0.2"
+ checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec
+ languageName: node
+ linkType: hard
+
+"encoding@npm:^0.1.13":
+ version: 0.1.13
+ resolution: "encoding@npm:0.1.13"
+ dependencies:
+ iconv-lite: "npm:^0.6.2"
+ checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039
+ languageName: node
+ linkType: hard
+
+"enquirer@npm:^2.3.5":
+ version: 2.4.1
+ resolution: "enquirer@npm:2.4.1"
+ dependencies:
+ ansi-colors: "npm:^4.1.1"
+ strip-ansi: "npm:^6.0.1"
+ checksum: 10c0/43850479d7a51d36a9c924b518dcdc6373b5a8ae3401097d336b7b7e258324749d0ad37a1fcaa5706f04799baa05585cd7af19ebdf7667673e7694435fcea918
+ languageName: node
+ linkType: hard
+
+"env-paths@npm:^2.2.0":
+ version: 2.2.1
+ resolution: "env-paths@npm:2.2.1"
+ checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4
+ languageName: node
+ linkType: hard
+
+"environment@npm:^1.0.0":
+ version: 1.1.0
+ resolution: "environment@npm:1.1.0"
+ checksum: 10c0/fb26434b0b581ab397039e51ff3c92b34924a98b2039dcb47e41b7bca577b9dbf134a8eadb364415c74464b682e2d3afe1a4c0eb9873dc44ea814c5d3103331d
+ languageName: node
+ linkType: hard
+
+"err-code@npm:^2.0.2":
+ version: 2.0.3
+ resolution: "err-code@npm:2.0.3"
+ checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66
+ languageName: node
+ linkType: hard
+
+"error-ex@npm:^1.3.1":
+ version: 1.3.2
+ resolution: "error-ex@npm:1.3.2"
+ dependencies:
+ is-arrayish: "npm:^0.2.1"
+ checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce
+ languageName: node
+ linkType: hard
+
+"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3":
+ version: 1.23.3
+ resolution: "es-abstract@npm:1.23.3"
+ dependencies:
+ array-buffer-byte-length: "npm:^1.0.1"
+ arraybuffer.prototype.slice: "npm:^1.0.3"
+ available-typed-arrays: "npm:^1.0.7"
+ call-bind: "npm:^1.0.7"
+ data-view-buffer: "npm:^1.0.1"
+ data-view-byte-length: "npm:^1.0.1"
+ data-view-byte-offset: "npm:^1.0.0"
+ es-define-property: "npm:^1.0.0"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.0.0"
+ es-set-tostringtag: "npm:^2.0.3"
+ es-to-primitive: "npm:^1.2.1"
+ function.prototype.name: "npm:^1.1.6"
+ get-intrinsic: "npm:^1.2.4"
+ get-symbol-description: "npm:^1.0.2"
+ globalthis: "npm:^1.0.3"
+ gopd: "npm:^1.0.1"
+ has-property-descriptors: "npm:^1.0.2"
+ has-proto: "npm:^1.0.3"
+ has-symbols: "npm:^1.0.3"
+ hasown: "npm:^2.0.2"
+ internal-slot: "npm:^1.0.7"
+ is-array-buffer: "npm:^3.0.4"
+ is-callable: "npm:^1.2.7"
+ is-data-view: "npm:^1.0.1"
+ is-negative-zero: "npm:^2.0.3"
+ is-regex: "npm:^1.1.4"
+ is-shared-array-buffer: "npm:^1.0.3"
+ is-string: "npm:^1.0.7"
+ is-typed-array: "npm:^1.1.13"
+ is-weakref: "npm:^1.0.2"
+ object-inspect: "npm:^1.13.1"
+ object-keys: "npm:^1.1.1"
+ object.assign: "npm:^4.1.5"
+ regexp.prototype.flags: "npm:^1.5.2"
+ safe-array-concat: "npm:^1.1.2"
+ safe-regex-test: "npm:^1.0.3"
+ string.prototype.trim: "npm:^1.2.9"
+ string.prototype.trimend: "npm:^1.0.8"
+ string.prototype.trimstart: "npm:^1.0.8"
+ typed-array-buffer: "npm:^1.0.2"
+ typed-array-byte-length: "npm:^1.0.1"
+ typed-array-byte-offset: "npm:^1.0.2"
+ typed-array-length: "npm:^1.0.6"
+ unbox-primitive: "npm:^1.0.2"
+ which-typed-array: "npm:^1.1.15"
+ checksum: 10c0/d27e9afafb225c6924bee9971a7f25f20c314f2d6cb93a63cada4ac11dcf42040896a6c22e5fb8f2a10767055ed4ddf400be3b1eb12297d281726de470b75666
+ languageName: node
+ linkType: hard
+
+"es-define-property@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "es-define-property@npm:1.0.0"
+ dependencies:
+ get-intrinsic: "npm:^1.2.4"
+ checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4
+ languageName: node
+ linkType: hard
+
+"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0":
+ version: 1.3.0
+ resolution: "es-errors@npm:1.3.0"
+ checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85
+ languageName: node
+ linkType: hard
+
+"es-iterator-helpers@npm:^1.0.19":
+ version: 1.1.0
+ resolution: "es-iterator-helpers@npm:1.1.0"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.3"
+ es-errors: "npm:^1.3.0"
+ es-set-tostringtag: "npm:^2.0.3"
+ function-bind: "npm:^1.1.2"
+ get-intrinsic: "npm:^1.2.4"
+ globalthis: "npm:^1.0.4"
+ has-property-descriptors: "npm:^1.0.2"
+ has-proto: "npm:^1.0.3"
+ has-symbols: "npm:^1.0.3"
+ internal-slot: "npm:^1.0.7"
+ iterator.prototype: "npm:^1.1.3"
+ safe-array-concat: "npm:^1.1.2"
+ checksum: 10c0/84d6c240c7da6e62323b336cb1497781546dab16bebdbd879ccfdf588979712d3e941d41165b6c2ffce5a03a7b929d4e6131d3124d330da1a0e2bfa1da7cd99f
+ languageName: node
+ linkType: hard
+
+"es-object-atoms@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "es-object-atoms@npm:1.0.0"
+ dependencies:
+ es-errors: "npm:^1.3.0"
+ checksum: 10c0/1fed3d102eb27ab8d983337bb7c8b159dd2a1e63ff833ec54eea1311c96d5b08223b433060ba240541ca8adba9eee6b0a60cdbf2f80634b784febc9cc8b687b4
+ languageName: node
+ linkType: hard
+
+"es-set-tostringtag@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "es-set-tostringtag@npm:2.0.3"
+ dependencies:
+ get-intrinsic: "npm:^1.2.4"
+ has-tostringtag: "npm:^1.0.2"
+ hasown: "npm:^2.0.1"
+ checksum: 10c0/f22aff1585eb33569c326323f0b0d175844a1f11618b86e193b386f8be0ea9474cfbe46df39c45d959f7aa8f6c06985dc51dd6bce5401645ec5a74c4ceaa836a
+ languageName: node
+ linkType: hard
+
+"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "es-shim-unscopables@npm:1.0.2"
+ dependencies:
+ hasown: "npm:^2.0.0"
+ checksum: 10c0/f495af7b4b7601a4c0cfb893581c352636e5c08654d129590386a33a0432cf13a7bdc7b6493801cadd990d838e2839b9013d1de3b880440cb537825e834fe783
+ languageName: node
+ linkType: hard
+
+"es-to-primitive@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "es-to-primitive@npm:1.2.1"
+ dependencies:
+ is-callable: "npm:^1.1.4"
+ is-date-object: "npm:^1.0.1"
+ is-symbol: "npm:^1.0.2"
+ checksum: 10c0/0886572b8dc075cb10e50c0af62a03d03a68e1e69c388bd4f10c0649ee41b1fbb24840a1b7e590b393011b5cdbe0144b776da316762653685432df37d6de60f1
+ languageName: node
+ linkType: hard
+
+"esbuild-android-64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-android-64@npm:0.14.54"
+ conditions: os=android & cpu=x64
+ languageName: node
+ linkType: hard
+
+"esbuild-android-arm64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-android-arm64@npm:0.14.54"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"esbuild-darwin-64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-darwin-64@npm:0.14.54"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"esbuild-darwin-arm64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-darwin-arm64@npm:0.14.54"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"esbuild-freebsd-64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-freebsd-64@npm:0.14.54"
+ conditions: os=freebsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"esbuild-freebsd-arm64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-freebsd-arm64@npm:0.14.54"
+ conditions: os=freebsd & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"esbuild-linux-32@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-linux-32@npm:0.14.54"
+ conditions: os=linux & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"esbuild-linux-64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-linux-64@npm:0.14.54"
+ conditions: os=linux & cpu=x64
+ languageName: node
+ linkType: hard
+
+"esbuild-linux-arm64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-linux-arm64@npm:0.14.54"
+ conditions: os=linux & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"esbuild-linux-arm@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-linux-arm@npm:0.14.54"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"esbuild-linux-mips64le@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-linux-mips64le@npm:0.14.54"
+ conditions: os=linux & cpu=mips64el
+ languageName: node
+ linkType: hard
+
+"esbuild-linux-ppc64le@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-linux-ppc64le@npm:0.14.54"
+ conditions: os=linux & cpu=ppc64
+ languageName: node
+ linkType: hard
+
+"esbuild-linux-riscv64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-linux-riscv64@npm:0.14.54"
+ conditions: os=linux & cpu=riscv64
+ languageName: node
+ linkType: hard
+
+"esbuild-linux-s390x@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-linux-s390x@npm:0.14.54"
+ conditions: os=linux & cpu=s390x
+ languageName: node
+ linkType: hard
+
+"esbuild-netbsd-64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-netbsd-64@npm:0.14.54"
+ conditions: os=netbsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"esbuild-openbsd-64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-openbsd-64@npm:0.14.54"
+ conditions: os=openbsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"esbuild-sunos-64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-sunos-64@npm:0.14.54"
+ conditions: os=sunos & cpu=x64
+ languageName: node
+ linkType: hard
+
+"esbuild-windows-32@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-windows-32@npm:0.14.54"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"esbuild-windows-64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-windows-64@npm:0.14.54"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"esbuild-windows-arm64@npm:0.14.54":
+ version: 0.14.54
+ resolution: "esbuild-windows-arm64@npm:0.14.54"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"esbuild@npm:^0.12.8":
+ version: 0.12.29
+ resolution: "esbuild@npm:0.12.29"
+ bin:
+ esbuild: bin/esbuild
+ checksum: 10c0/23e5fb9fc4e3c94e36aeecc86963964911bbdb7faeb163f1e4702d62a0c897e3cd32945218804d44367af035d05f2705b5e32f46c28c31a14106a7cdbcb68a04
+ languageName: node
+ linkType: hard
+
+"esbuild@npm:^0.14.27":
+ version: 0.14.54
+ resolution: "esbuild@npm:0.14.54"
+ dependencies:
+ "@esbuild/linux-loong64": "npm:0.14.54"
+ esbuild-android-64: "npm:0.14.54"
+ esbuild-android-arm64: "npm:0.14.54"
+ esbuild-darwin-64: "npm:0.14.54"
+ esbuild-darwin-arm64: "npm:0.14.54"
+ esbuild-freebsd-64: "npm:0.14.54"
+ esbuild-freebsd-arm64: "npm:0.14.54"
+ esbuild-linux-32: "npm:0.14.54"
+ esbuild-linux-64: "npm:0.14.54"
+ esbuild-linux-arm: "npm:0.14.54"
+ esbuild-linux-arm64: "npm:0.14.54"
+ esbuild-linux-mips64le: "npm:0.14.54"
+ esbuild-linux-ppc64le: "npm:0.14.54"
+ esbuild-linux-riscv64: "npm:0.14.54"
+ esbuild-linux-s390x: "npm:0.14.54"
+ esbuild-netbsd-64: "npm:0.14.54"
+ esbuild-openbsd-64: "npm:0.14.54"
+ esbuild-sunos-64: "npm:0.14.54"
+ esbuild-windows-32: "npm:0.14.54"
+ esbuild-windows-64: "npm:0.14.54"
+ esbuild-windows-arm64: "npm:0.14.54"
+ dependenciesMeta:
+ "@esbuild/linux-loong64":
+ optional: true
+ esbuild-android-64:
+ optional: true
+ esbuild-android-arm64:
+ optional: true
+ esbuild-darwin-64:
+ optional: true
+ esbuild-darwin-arm64:
+ optional: true
+ esbuild-freebsd-64:
+ optional: true
+ esbuild-freebsd-arm64:
+ optional: true
+ esbuild-linux-32:
+ optional: true
+ esbuild-linux-64:
+ optional: true
+ esbuild-linux-arm:
+ optional: true
+ esbuild-linux-arm64:
+ optional: true
+ esbuild-linux-mips64le:
+ optional: true
+ esbuild-linux-ppc64le:
+ optional: true
+ esbuild-linux-riscv64:
+ optional: true
+ esbuild-linux-s390x:
+ optional: true
+ esbuild-netbsd-64:
+ optional: true
+ esbuild-openbsd-64:
+ optional: true
+ esbuild-sunos-64:
+ optional: true
+ esbuild-windows-32:
+ optional: true
+ esbuild-windows-64:
+ optional: true
+ esbuild-windows-arm64:
+ optional: true
+ bin:
+ esbuild: bin/esbuild
+ checksum: 10c0/1df3cf7c5175ebee284fd027f287385a07ce8a0f0460a4412881aeff707577d91e55302f220ee8397b3b5aa17f4ceeb80eac16f36fc676532ff1b744e5965f2d
+ languageName: node
+ linkType: hard
+
+"escalade@npm:^3.1.1, escalade@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "escalade@npm:3.2.0"
+ checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65
+ languageName: node
+ linkType: hard
+
+"escape-html@npm:~1.0.3":
+ version: 1.0.3
+ resolution: "escape-html@npm:1.0.3"
+ checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3
+ languageName: node
+ linkType: hard
+
+"escape-string-regexp@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "escape-string-regexp@npm:1.0.5"
+ checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371
+ languageName: node
+ linkType: hard
+
+"escape-string-regexp@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "escape-string-regexp@npm:4.0.0"
+ checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9
+ languageName: node
+ linkType: hard
+
+"eslint-config-prettier@npm:^8.3.0":
+ version: 8.10.0
+ resolution: "eslint-config-prettier@npm:8.10.0"
+ peerDependencies:
+ eslint: ">=7.0.0"
+ bin:
+ eslint-config-prettier: bin/cli.js
+ checksum: 10c0/19f8c497d9bdc111a17a61b25ded97217be3755bbc4714477dfe535ed539dddcaf42ef5cf8bb97908b058260cf89a3d7c565cb0be31096cbcd39f4c2fa5fe43c
+ languageName: node
+ linkType: hard
+
+"eslint-config-standard@npm:^16.0.3":
+ version: 16.0.3
+ resolution: "eslint-config-standard@npm:16.0.3"
+ peerDependencies:
+ eslint: ^7.12.1
+ eslint-plugin-import: ^2.22.1
+ eslint-plugin-node: ^11.1.0
+ eslint-plugin-promise: ^4.2.1 || ^5.0.0
+ checksum: 10c0/6c7276b15329c3ed3c516b442b99cab9b30cb750a58b3bc6994574103f843bf7ea4f7e86bb815c206a610b12fb765d9cd283e45580f9e8549c6d9510fc8177c5
+ languageName: node
+ linkType: hard
+
+"eslint-import-resolver-node@npm:^0.3.4, eslint-import-resolver-node@npm:^0.3.9":
+ version: 0.3.9
+ resolution: "eslint-import-resolver-node@npm:0.3.9"
+ dependencies:
+ debug: "npm:^3.2.7"
+ is-core-module: "npm:^2.13.0"
+ resolve: "npm:^1.22.4"
+ checksum: 10c0/0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61
+ languageName: node
+ linkType: hard
+
+"eslint-module-utils@npm:^2.12.0":
+ version: 2.12.0
+ resolution: "eslint-module-utils@npm:2.12.0"
+ dependencies:
+ debug: "npm:^3.2.7"
+ peerDependenciesMeta:
+ eslint:
+ optional: true
+ checksum: 10c0/4d8b46dcd525d71276f9be9ffac1d2be61c9d54cc53c992e6333cf957840dee09381842b1acbbb15fc6b255ebab99cd481c5007ab438e5455a14abe1a0468558
+ languageName: node
+ linkType: hard
+
+"eslint-plugin-es@npm:^3.0.0":
+ version: 3.0.1
+ resolution: "eslint-plugin-es@npm:3.0.1"
+ dependencies:
+ eslint-utils: "npm:^2.0.0"
+ regexpp: "npm:^3.0.0"
+ peerDependencies:
+ eslint: ">=4.19.1"
+ checksum: 10c0/12ae730aa9603e680af048e1653aac15e529411b68b8d0da6e290700b17c695485af7c3f5360f531f80970786cab7288c2c1d4a58c35ec1bb89649897c016c4a
+ languageName: node
+ linkType: hard
+
+"eslint-plugin-import@npm:^2.23.4":
+ version: 2.31.0
+ resolution: "eslint-plugin-import@npm:2.31.0"
+ dependencies:
+ "@rtsao/scc": "npm:^1.1.0"
+ array-includes: "npm:^3.1.8"
+ array.prototype.findlastindex: "npm:^1.2.5"
+ array.prototype.flat: "npm:^1.3.2"
+ array.prototype.flatmap: "npm:^1.3.2"
+ debug: "npm:^3.2.7"
+ doctrine: "npm:^2.1.0"
+ eslint-import-resolver-node: "npm:^0.3.9"
+ eslint-module-utils: "npm:^2.12.0"
+ hasown: "npm:^2.0.2"
+ is-core-module: "npm:^2.15.1"
+ is-glob: "npm:^4.0.3"
+ minimatch: "npm:^3.1.2"
+ object.fromentries: "npm:^2.0.8"
+ object.groupby: "npm:^1.0.3"
+ object.values: "npm:^1.2.0"
+ semver: "npm:^6.3.1"
+ string.prototype.trimend: "npm:^1.0.8"
+ tsconfig-paths: "npm:^3.15.0"
+ peerDependencies:
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9
+ checksum: 10c0/e21d116ddd1900e091ad120b3eb68c5dd5437fe2c930f1211781cd38b246f090a6b74d5f3800b8255a0ed29782591521ad44eb21c5534960a8f1fb4040fd913a
+ languageName: node
+ linkType: hard
+
+"eslint-plugin-node@npm:^11.1.0":
+ version: 11.1.0
+ resolution: "eslint-plugin-node@npm:11.1.0"
+ dependencies:
+ eslint-plugin-es: "npm:^3.0.0"
+ eslint-utils: "npm:^2.0.0"
+ ignore: "npm:^5.1.1"
+ minimatch: "npm:^3.0.4"
+ resolve: "npm:^1.10.1"
+ semver: "npm:^6.1.0"
+ peerDependencies:
+ eslint: ">=5.16.0"
+ checksum: 10c0/c7716adac4020cb852fd2410dcd8bdb13a227004de77f96d7f9806d0cf2274f24e0920a7ca73bcd72d90003696c1f17fdd9fe3ca218e64ee03dc2b840e4416fa
+ languageName: node
+ linkType: hard
+
+"eslint-plugin-promise@npm:^5.1.0":
+ version: 5.2.0
+ resolution: "eslint-plugin-promise@npm:5.2.0"
+ peerDependencies:
+ eslint: ^7.0.0
+ checksum: 10c0/73a6da06e2efe32d04f3a872268b728c47b0b4946af852c6be142180d8d8284555991a6f946ec47792fad88c35393b331f8e54ff9e0e76d2b73a6d74cacd8aaa
+ languageName: node
+ linkType: hard
+
+"eslint-plugin-react@npm:^7.24.0":
+ version: 7.37.1
+ resolution: "eslint-plugin-react@npm:7.37.1"
+ dependencies:
+ array-includes: "npm:^3.1.8"
+ array.prototype.findlast: "npm:^1.2.5"
+ array.prototype.flatmap: "npm:^1.3.2"
+ array.prototype.tosorted: "npm:^1.1.4"
+ doctrine: "npm:^2.1.0"
+ es-iterator-helpers: "npm:^1.0.19"
+ estraverse: "npm:^5.3.0"
+ hasown: "npm:^2.0.2"
+ jsx-ast-utils: "npm:^2.4.1 || ^3.0.0"
+ minimatch: "npm:^3.1.2"
+ object.entries: "npm:^1.1.8"
+ object.fromentries: "npm:^2.0.8"
+ object.values: "npm:^1.2.0"
+ prop-types: "npm:^15.8.1"
+ resolve: "npm:^2.0.0-next.5"
+ semver: "npm:^6.3.1"
+ string.prototype.matchall: "npm:^4.0.11"
+ string.prototype.repeat: "npm:^1.0.0"
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
+ checksum: 10c0/13cf55666f16d2ca45b14aad1b0e14741d1817679c86d20aff0bc1e802439a8541f40a42c4c8e3486ffb710f1bcc2f3e56697f2b5f724306a7fca174e1ad6433
+ languageName: node
+ linkType: hard
+
+"eslint-scope@npm:^5.1.1":
+ version: 5.1.1
+ resolution: "eslint-scope@npm:5.1.1"
+ dependencies:
+ esrecurse: "npm:^4.3.0"
+ estraverse: "npm:^4.1.1"
+ checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a
+ languageName: node
+ linkType: hard
+
+"eslint-utils@npm:^2.0.0, eslint-utils@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "eslint-utils@npm:2.1.0"
+ dependencies:
+ eslint-visitor-keys: "npm:^1.1.0"
+ checksum: 10c0/69521c5d6569384b24093125d037ba238d3d6e54367f7143af9928f5286369e912c26cad5016d730c0ffb9797ac9e83831059d7f1d863f7dc84330eb02414611
+ languageName: node
+ linkType: hard
+
+"eslint-utils@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "eslint-utils@npm:3.0.0"
+ dependencies:
+ eslint-visitor-keys: "npm:^2.0.0"
+ peerDependencies:
+ eslint: ">=5"
+ checksum: 10c0/45aa2b63667a8d9b474c98c28af908d0a592bed1a4568f3145cd49fb5d9510f545327ec95561625290313fe126e6d7bdfe3fdbdb6f432689fab6b9497d3bfb52
+ languageName: node
+ linkType: hard
+
+"eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0":
+ version: 1.3.0
+ resolution: "eslint-visitor-keys@npm:1.3.0"
+ checksum: 10c0/10c91fdbbe36810dd4308e57f9a8bc7177188b2a70247e54e3af1fa05ebc66414ae6fd4ce3c6c6821591f43a556e9037bc6b071122e099b5f8b7d2f76df553e3
+ languageName: node
+ linkType: hard
+
+"eslint-visitor-keys@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "eslint-visitor-keys@npm:2.1.0"
+ checksum: 10c0/9f0e3a2db751d84067d15977ac4b4472efd6b303e369e6ff241a99feac04da758f46d5add022c33d06b53596038dbae4b4aceb27c7e68b8dfc1055b35e495787
+ languageName: node
+ linkType: hard
+
+"eslint@npm:^7.32.0":
+ version: 7.32.0
+ resolution: "eslint@npm:7.32.0"
+ dependencies:
+ "@babel/code-frame": "npm:7.12.11"
+ "@eslint/eslintrc": "npm:^0.4.3"
+ "@humanwhocodes/config-array": "npm:^0.5.0"
+ ajv: "npm:^6.10.0"
+ chalk: "npm:^4.0.0"
+ cross-spawn: "npm:^7.0.2"
+ debug: "npm:^4.0.1"
+ doctrine: "npm:^3.0.0"
+ enquirer: "npm:^2.3.5"
+ escape-string-regexp: "npm:^4.0.0"
+ eslint-scope: "npm:^5.1.1"
+ eslint-utils: "npm:^2.1.0"
+ eslint-visitor-keys: "npm:^2.0.0"
+ espree: "npm:^7.3.1"
+ esquery: "npm:^1.4.0"
+ esutils: "npm:^2.0.2"
+ fast-deep-equal: "npm:^3.1.3"
+ file-entry-cache: "npm:^6.0.1"
+ functional-red-black-tree: "npm:^1.0.1"
+ glob-parent: "npm:^5.1.2"
+ globals: "npm:^13.6.0"
+ ignore: "npm:^4.0.6"
+ import-fresh: "npm:^3.0.0"
+ imurmurhash: "npm:^0.1.4"
+ is-glob: "npm:^4.0.0"
+ js-yaml: "npm:^3.13.1"
+ json-stable-stringify-without-jsonify: "npm:^1.0.1"
+ levn: "npm:^0.4.1"
+ lodash.merge: "npm:^4.6.2"
+ minimatch: "npm:^3.0.4"
+ natural-compare: "npm:^1.4.0"
+ optionator: "npm:^0.9.1"
+ progress: "npm:^2.0.0"
+ regexpp: "npm:^3.1.0"
+ semver: "npm:^7.2.1"
+ strip-ansi: "npm:^6.0.0"
+ strip-json-comments: "npm:^3.1.0"
+ table: "npm:^6.0.9"
+ text-table: "npm:^0.2.0"
+ v8-compile-cache: "npm:^2.0.3"
+ bin:
+ eslint: bin/eslint.js
+ checksum: 10c0/84409f7767556179cb11529f1215f335c7dfccf90419df6147f949f14c347a960c7b569e80ed84011a0b6d10da1ef5046edbbb9b11c3e59aa6696d5217092e93
+ languageName: node
+ linkType: hard
+
+"espree@npm:^7.3.0, espree@npm:^7.3.1":
+ version: 7.3.1
+ resolution: "espree@npm:7.3.1"
+ dependencies:
+ acorn: "npm:^7.4.0"
+ acorn-jsx: "npm:^5.3.1"
+ eslint-visitor-keys: "npm:^1.3.0"
+ checksum: 10c0/f4e81b903f03eaf0e6925cea20571632da427deb6e14ca37e481f72c11f36d7bb4945fe8a2ff15ab22d078d3cd93ee65355fa94de9c27485c356481775f25d85
+ languageName: node
+ linkType: hard
+
+"esprima@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "esprima@npm:4.0.1"
+ bin:
+ esparse: ./bin/esparse.js
+ esvalidate: ./bin/esvalidate.js
+ checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3
+ languageName: node
+ linkType: hard
+
+"esquery@npm:^1.4.0":
+ version: 1.6.0
+ resolution: "esquery@npm:1.6.0"
+ dependencies:
+ estraverse: "npm:^5.1.0"
+ checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2
+ languageName: node
+ linkType: hard
+
+"esrecurse@npm:^4.3.0":
+ version: 4.3.0
+ resolution: "esrecurse@npm:4.3.0"
+ dependencies:
+ estraverse: "npm:^5.2.0"
+ checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5
+ languageName: node
+ linkType: hard
+
+"estraverse@npm:^4.1.1":
+ version: 4.3.0
+ resolution: "estraverse@npm:4.3.0"
+ checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d
+ languageName: node
+ linkType: hard
+
+"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0":
+ version: 5.3.0
+ resolution: "estraverse@npm:5.3.0"
+ checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107
+ languageName: node
+ linkType: hard
+
+"estree-walker@npm:^2.0.1":
+ version: 2.0.2
+ resolution: "estree-walker@npm:2.0.2"
+ checksum: 10c0/53a6c54e2019b8c914dc395890153ffdc2322781acf4bd7d1a32d7aedc1710807bdcd866ac133903d5629ec601fbb50abe8c2e5553c7f5a0afdd9b6af6c945af
+ languageName: node
+ linkType: hard
+
+"esutils@npm:^2.0.2":
+ version: 2.0.3
+ resolution: "esutils@npm:2.0.3"
+ checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7
+ languageName: node
+ linkType: hard
+
+"eventemitter3@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "eventemitter3@npm:5.0.1"
+ checksum: 10c0/4ba5c00c506e6c786b4d6262cfbce90ddc14c10d4667e5c83ae993c9de88aa856033994dd2b35b83e8dc1170e224e66a319fa80adc4c32adcd2379bbc75da814
+ languageName: node
+ linkType: hard
+
+"execa@npm:~8.0.1":
+ version: 8.0.1
+ resolution: "execa@npm:8.0.1"
+ dependencies:
+ cross-spawn: "npm:^7.0.3"
+ get-stream: "npm:^8.0.1"
+ human-signals: "npm:^5.0.0"
+ is-stream: "npm:^3.0.0"
+ merge-stream: "npm:^2.0.0"
+ npm-run-path: "npm:^5.1.0"
+ onetime: "npm:^6.0.0"
+ signal-exit: "npm:^4.1.0"
+ strip-final-newline: "npm:^3.0.0"
+ checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af
+ languageName: node
+ linkType: hard
+
+"exponential-backoff@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "exponential-backoff@npm:3.1.1"
+ checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579
+ languageName: node
+ linkType: hard
+
+"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3":
+ version: 3.1.3
+ resolution: "fast-deep-equal@npm:3.1.3"
+ checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0
+ languageName: node
+ linkType: hard
+
+"fast-glob@npm:^3.2.9":
+ version: 3.3.2
+ resolution: "fast-glob@npm:3.3.2"
+ dependencies:
+ "@nodelib/fs.stat": "npm:^2.0.2"
+ "@nodelib/fs.walk": "npm:^1.2.3"
+ glob-parent: "npm:^5.1.2"
+ merge2: "npm:^1.3.0"
+ micromatch: "npm:^4.0.4"
+ checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845
+ languageName: node
+ linkType: hard
+
+"fast-json-stable-stringify@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "fast-json-stable-stringify@npm:2.1.0"
+ checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b
+ languageName: node
+ linkType: hard
+
+"fast-levenshtein@npm:^2.0.6":
+ version: 2.0.6
+ resolution: "fast-levenshtein@npm:2.0.6"
+ checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4
+ languageName: node
+ linkType: hard
+
+"fast-uri@npm:^3.0.1":
+ version: 3.0.3
+ resolution: "fast-uri@npm:3.0.3"
+ checksum: 10c0/4b2c5ce681a062425eae4f15cdc8fc151fd310b2f69b1f96680677820a8b49c3cd6e80661a406e19d50f0c40a3f8bffdd458791baf66f4a879d80be28e10a320
+ languageName: node
+ linkType: hard
+
+"fastq@npm:^1.6.0":
+ version: 1.17.1
+ resolution: "fastq@npm:1.17.1"
+ dependencies:
+ reusify: "npm:^1.0.4"
+ checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34
+ languageName: node
+ linkType: hard
+
+"file-entry-cache@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "file-entry-cache@npm:6.0.1"
+ dependencies:
+ flat-cache: "npm:^3.0.4"
+ checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd
+ languageName: node
+ linkType: hard
+
+"fill-range@npm:^7.1.1":
+ version: 7.1.1
+ resolution: "fill-range@npm:7.1.1"
+ dependencies:
+ to-regex-range: "npm:^5.0.1"
+ checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018
+ languageName: node
+ linkType: hard
+
+"finalhandler@npm:1.1.2":
+ version: 1.1.2
+ resolution: "finalhandler@npm:1.1.2"
+ dependencies:
+ debug: "npm:2.6.9"
+ encodeurl: "npm:~1.0.2"
+ escape-html: "npm:~1.0.3"
+ on-finished: "npm:~2.3.0"
+ parseurl: "npm:~1.3.3"
+ statuses: "npm:~1.5.0"
+ unpipe: "npm:~1.0.0"
+ checksum: 10c0/6a96e1f5caab085628c11d9fdceb82ba608d5e426c6913d4d918409baa271037a47f28fbba73279e8ad614f0b8fa71ea791d265e408d760793829edd8c2f4584
+ languageName: node
+ linkType: hard
+
+"find-root@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "find-root@npm:1.1.0"
+ checksum: 10c0/1abc7f3bf2f8d78ff26d9e00ce9d0f7b32e5ff6d1da2857bcdf4746134c422282b091c672cde0572cac3840713487e0a7a636af9aa1b74cb11894b447a521efa
+ languageName: node
+ linkType: hard
+
+"flat-cache@npm:^3.0.4":
+ version: 3.2.0
+ resolution: "flat-cache@npm:3.2.0"
+ dependencies:
+ flatted: "npm:^3.2.9"
+ keyv: "npm:^4.5.3"
+ rimraf: "npm:^3.0.2"
+ checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75
+ languageName: node
+ linkType: hard
+
+"flatted@npm:^3.2.9":
+ version: 3.3.1
+ resolution: "flatted@npm:3.3.1"
+ checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf
+ languageName: node
+ linkType: hard
+
+"for-each@npm:^0.3.3":
+ version: 0.3.3
+ resolution: "for-each@npm:0.3.3"
+ dependencies:
+ is-callable: "npm:^1.1.3"
+ checksum: 10c0/22330d8a2db728dbf003ec9182c2d421fbcd2969b02b4f97ec288721cda63eb28f2c08585ddccd0f77cb2930af8d958005c9e72f47141dc51816127a118f39aa
+ languageName: node
+ linkType: hard
+
+"foreground-child@npm:^3.1.0":
+ version: 3.3.0
+ resolution: "foreground-child@npm:3.3.0"
+ dependencies:
+ cross-spawn: "npm:^7.0.0"
+ signal-exit: "npm:^4.0.1"
+ checksum: 10c0/028f1d41000553fcfa6c4bb5c372963bf3d9bf0b1f25a87d1a6253014343fb69dfb1b42d9625d7cf44c8ba429940f3d0ff718b62105d4d4a4f6ef8ca0a53faa2
+ languageName: node
+ linkType: hard
+
+"fs-extra@npm:^10.0.0":
+ version: 10.1.0
+ resolution: "fs-extra@npm:10.1.0"
+ dependencies:
+ graceful-fs: "npm:^4.2.0"
+ jsonfile: "npm:^6.0.1"
+ universalify: "npm:^2.0.0"
+ checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e
+ languageName: node
+ linkType: hard
+
+"fs-minipass@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "fs-minipass@npm:2.1.0"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004
+ languageName: node
+ linkType: hard
+
+"fs-minipass@npm:^3.0.0":
+ version: 3.0.3
+ resolution: "fs-minipass@npm:3.0.3"
+ dependencies:
+ minipass: "npm:^7.0.3"
+ checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94
+ languageName: node
+ linkType: hard
+
+"fs.realpath@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "fs.realpath@npm:1.0.0"
+ checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948
+ languageName: node
+ linkType: hard
+
+"fsevents@npm:~2.3.2":
+ version: 2.3.3
+ resolution: "fsevents@npm:2.3.3"
+ dependencies:
+ node-gyp: "npm:latest"
+ checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60
+ conditions: os=darwin
+ languageName: node
+ linkType: hard
+
+"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin":
+ version: 2.3.3
+ resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"
+ dependencies:
+ node-gyp: "npm:latest"
+ conditions: os=darwin
+ languageName: node
+ linkType: hard
+
+"function-bind@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "function-bind@npm:1.1.2"
+ checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5
+ languageName: node
+ linkType: hard
+
+"function.prototype.name@npm:^1.1.6":
+ version: 1.1.6
+ resolution: "function.prototype.name@npm:1.1.6"
+ dependencies:
+ call-bind: "npm:^1.0.2"
+ define-properties: "npm:^1.2.0"
+ es-abstract: "npm:^1.22.1"
+ functions-have-names: "npm:^1.2.3"
+ checksum: 10c0/9eae11294905b62cb16874adb4fc687927cda3162285e0ad9612e6a1d04934005d46907362ea9cdb7428edce05a2f2c3dabc3b2d21e9fd343e9bb278230ad94b
+ languageName: node
+ linkType: hard
+
+"functional-red-black-tree@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "functional-red-black-tree@npm:1.0.1"
+ checksum: 10c0/5959eed0375803d9924f47688479bb017e0c6816a0e5ac151e22ba6bfe1d12c41de2f339188885e0aa8eeea2072dad509d8e4448467e816bde0a2ca86a0670d3
+ languageName: node
+ linkType: hard
+
+"functions-have-names@npm:^1.2.3":
+ version: 1.2.3
+ resolution: "functions-have-names@npm:1.2.3"
+ checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca
+ languageName: node
+ linkType: hard
+
+"gensync@npm:^1.0.0-beta.2":
+ version: 1.0.0-beta.2
+ resolution: "gensync@npm:1.0.0-beta.2"
+ checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8
+ languageName: node
+ linkType: hard
+
+"get-caller-file@npm:^2.0.5":
+ version: 2.0.5
+ resolution: "get-caller-file@npm:2.0.5"
+ checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde
+ languageName: node
+ linkType: hard
+
+"get-east-asian-width@npm:^1.0.0":
+ version: 1.3.0
+ resolution: "get-east-asian-width@npm:1.3.0"
+ checksum: 10c0/1a049ba697e0f9a4d5514c4623781c5246982bdb61082da6b5ae6c33d838e52ce6726407df285cdbb27ec1908b333cf2820989bd3e986e37bb20979437fdf34b
+ languageName: node
+ linkType: hard
+
+"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4":
+ version: 1.2.4
+ resolution: "get-intrinsic@npm:1.2.4"
+ dependencies:
+ es-errors: "npm:^1.3.0"
+ function-bind: "npm:^1.1.2"
+ has-proto: "npm:^1.0.1"
+ has-symbols: "npm:^1.0.3"
+ hasown: "npm:^2.0.0"
+ checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7
+ languageName: node
+ linkType: hard
+
+"get-stream@npm:^8.0.1":
+ version: 8.0.1
+ resolution: "get-stream@npm:8.0.1"
+ checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290
+ languageName: node
+ linkType: hard
+
+"get-symbol-description@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "get-symbol-description@npm:1.0.2"
+ dependencies:
+ call-bind: "npm:^1.0.5"
+ es-errors: "npm:^1.3.0"
+ get-intrinsic: "npm:^1.2.4"
+ checksum: 10c0/867be6d63f5e0eb026cb3b0ef695ec9ecf9310febb041072d2e142f260bd91ced9eeb426b3af98791d1064e324e653424afa6fd1af17dee373bea48ae03162bc
+ languageName: node
+ linkType: hard
+
+"glob-parent@npm:^5.1.2":
+ version: 5.1.2
+ resolution: "glob-parent@npm:5.1.2"
+ dependencies:
+ is-glob: "npm:^4.0.1"
+ checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee
+ languageName: node
+ linkType: hard
+
+"glob-regex@npm:^0.3.0":
+ version: 0.3.2
+ resolution: "glob-regex@npm:0.3.2"
+ checksum: 10c0/73cbaef56796ab967b516e0db07375c26535274fa259ce06da82b7dd25a138bf318237fd0cd93a6b0490e4d90db9f127193d8184e5c1acc296d2e5b879e66206
+ languageName: node
+ linkType: hard
+
+"glob@npm:^10.2.2, glob@npm:^10.3.10":
+ version: 10.4.5
+ resolution: "glob@npm:10.4.5"
+ dependencies:
+ foreground-child: "npm:^3.1.0"
+ jackspeak: "npm:^3.1.2"
+ minimatch: "npm:^9.0.4"
+ minipass: "npm:^7.1.2"
+ package-json-from-dist: "npm:^1.0.0"
+ path-scurry: "npm:^1.11.1"
+ bin:
+ glob: dist/esm/bin.mjs
+ checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e
+ languageName: node
+ linkType: hard
+
+"glob@npm:^7.1.3":
+ version: 7.2.3
+ resolution: "glob@npm:7.2.3"
+ dependencies:
+ fs.realpath: "npm:^1.0.0"
+ inflight: "npm:^1.0.4"
+ inherits: "npm:2"
+ minimatch: "npm:^3.1.1"
+ once: "npm:^1.3.0"
+ path-is-absolute: "npm:^1.0.0"
+ checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe
+ languageName: node
+ linkType: hard
+
+"globals@npm:^11.1.0":
+ version: 11.12.0
+ resolution: "globals@npm:11.12.0"
+ checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1
+ languageName: node
+ linkType: hard
+
+"globals@npm:^13.6.0, globals@npm:^13.9.0":
+ version: 13.24.0
+ resolution: "globals@npm:13.24.0"
+ dependencies:
+ type-fest: "npm:^0.20.2"
+ checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd
+ languageName: node
+ linkType: hard
+
+"globalthis@npm:^1.0.3, globalthis@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "globalthis@npm:1.0.4"
+ dependencies:
+ define-properties: "npm:^1.2.1"
+ gopd: "npm:^1.0.1"
+ checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846
+ languageName: node
+ linkType: hard
+
+"globby@npm:^11.0.3":
+ version: 11.1.0
+ resolution: "globby@npm:11.1.0"
+ dependencies:
+ array-union: "npm:^2.1.0"
+ dir-glob: "npm:^3.0.1"
+ fast-glob: "npm:^3.2.9"
+ ignore: "npm:^5.2.0"
+ merge2: "npm:^1.4.1"
+ slash: "npm:^3.0.0"
+ checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189
+ languageName: node
+ linkType: hard
+
+"globrex@npm:^0.1.2":
+ version: 0.1.2
+ resolution: "globrex@npm:0.1.2"
+ checksum: 10c0/a54c029520cf58bda1d8884f72bd49b4cd74e977883268d931fd83bcbd1a9eb96d57c7dbd4ad80148fb9247467ebfb9b215630b2ed7563b2a8de02e1ff7f89d1
+ languageName: node
+ linkType: hard
+
+"gopd@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "gopd@npm:1.0.1"
+ dependencies:
+ get-intrinsic: "npm:^1.1.3"
+ checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63
+ languageName: node
+ linkType: hard
+
+"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6":
+ version: 4.2.11
+ resolution: "graceful-fs@npm:4.2.11"
+ checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2
+ languageName: node
+ linkType: hard
+
+"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "has-bigints@npm:1.0.2"
+ checksum: 10c0/724eb1485bfa3cdff6f18d95130aa190561f00b3fcf9f19dc640baf8176b5917c143b81ec2123f8cddb6c05164a198c94b13e1377c497705ccc8e1a80306e83b
+ languageName: node
+ linkType: hard
+
+"has-flag@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "has-flag@npm:3.0.0"
+ checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473
+ languageName: node
+ linkType: hard
+
+"has-flag@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "has-flag@npm:4.0.0"
+ checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1
+ languageName: node
+ linkType: hard
+
+"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "has-property-descriptors@npm:1.0.2"
+ dependencies:
+ es-define-property: "npm:^1.0.0"
+ checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236
+ languageName: node
+ linkType: hard
+
+"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "has-proto@npm:1.0.3"
+ checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205
+ languageName: node
+ linkType: hard
+
+"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "has-symbols@npm:1.0.3"
+ checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3
+ languageName: node
+ linkType: hard
+
+"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "has-tostringtag@npm:1.0.2"
+ dependencies:
+ has-symbols: "npm:^1.0.3"
+ checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c
+ languageName: node
+ linkType: hard
+
+"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "hasown@npm:2.0.2"
+ dependencies:
+ function-bind: "npm:^1.1.2"
+ checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9
+ languageName: node
+ linkType: hard
+
+"history@npm:^4.9.0":
+ version: 4.10.1
+ resolution: "history@npm:4.10.1"
+ dependencies:
+ "@babel/runtime": "npm:^7.1.2"
+ loose-envify: "npm:^1.2.0"
+ resolve-pathname: "npm:^3.0.0"
+ tiny-invariant: "npm:^1.0.2"
+ tiny-warning: "npm:^1.0.0"
+ value-equal: "npm:^1.0.1"
+ checksum: 10c0/35377694e4f10f2cf056a9cb1a8ee083e04e4b4717a63baeee4afd565658a62c7e73700bf9e82aa53dbe1ec94e0a25a83c080d63bad8ee6b274a98d2fbc5ed4c
+ languageName: node
+ linkType: hard
+
+"hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2":
+ version: 3.3.2
+ resolution: "hoist-non-react-statics@npm:3.3.2"
+ dependencies:
+ react-is: "npm:^16.7.0"
+ checksum: 10c0/fe0889169e845d738b59b64badf5e55fa3cf20454f9203d1eb088df322d49d4318df774828e789898dcb280e8a5521bb59b3203385662ca5e9218a6ca5820e74
+ languageName: node
+ linkType: hard
+
+"http-cache-semantics@npm:^4.1.1":
+ version: 4.1.1
+ resolution: "http-cache-semantics@npm:4.1.1"
+ checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc
+ languageName: node
+ linkType: hard
+
+"http-proxy-agent@npm:^7.0.0":
+ version: 7.0.2
+ resolution: "http-proxy-agent@npm:7.0.2"
+ dependencies:
+ agent-base: "npm:^7.1.0"
+ debug: "npm:^4.3.4"
+ checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921
+ languageName: node
+ linkType: hard
+
+"https-proxy-agent@npm:^7.0.1":
+ version: 7.0.5
+ resolution: "https-proxy-agent@npm:7.0.5"
+ dependencies:
+ agent-base: "npm:^7.0.2"
+ debug: "npm:4"
+ checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c
+ languageName: node
+ linkType: hard
+
+"human-signals@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "human-signals@npm:5.0.0"
+ checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82
+ languageName: node
+ linkType: hard
+
+"husky@npm:>=6":
+ version: 9.1.6
+ resolution: "husky@npm:9.1.6"
+ bin:
+ husky: bin.js
+ checksum: 10c0/705673db4a247c1febd9c5df5f6a3519106cf0335845027bb50a15fba9b1f542cb2610932ede96fd08008f6d9f49db0f15560509861808b0031cdc0e7c798bac
+ languageName: node
+ linkType: hard
+
+"hyphenate-style-name@npm:^1.0.3":
+ version: 1.1.0
+ resolution: "hyphenate-style-name@npm:1.1.0"
+ checksum: 10c0/bfe88deac2414a41a0d08811e277c8c098f23993d6a1eb17f14a0f11b54c4d42865a63d3cfe1914668eefb9a188e2de58f38b55a179a238fd1fef606893e194f
+ languageName: node
+ linkType: hard
+
+"iconv-lite@npm:^0.6.2":
+ version: 0.6.3
+ resolution: "iconv-lite@npm:0.6.3"
+ dependencies:
+ safer-buffer: "npm:>= 2.1.2 < 3.0.0"
+ checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1
+ languageName: node
+ linkType: hard
+
+"ignore@npm:^4.0.6":
+ version: 4.0.6
+ resolution: "ignore@npm:4.0.6"
+ checksum: 10c0/836ee7dc7fd9436096e2dba429359dbb9fa0e33d309e2b2d81692f375f6ca82024fc00567f798613d50c6b989e9cd2ad2b065acf116325cde177f02c86b7d4e0
+ languageName: node
+ linkType: hard
+
+"ignore@npm:^5.1.1, ignore@npm:^5.1.8, ignore@npm:^5.2.0":
+ version: 5.3.2
+ resolution: "ignore@npm:5.3.2"
+ checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337
+ languageName: node
+ linkType: hard
+
+"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1":
+ version: 3.3.0
+ resolution: "import-fresh@npm:3.3.0"
+ dependencies:
+ parent-module: "npm:^1.0.0"
+ resolve-from: "npm:^4.0.0"
+ checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3
+ languageName: node
+ linkType: hard
+
+"imurmurhash@npm:^0.1.4":
+ version: 0.1.4
+ resolution: "imurmurhash@npm:0.1.4"
+ checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6
+ languageName: node
+ linkType: hard
+
+"indent-string@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "indent-string@npm:4.0.0"
+ checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f
+ languageName: node
+ linkType: hard
+
+"inflight@npm:^1.0.4":
+ version: 1.0.6
+ resolution: "inflight@npm:1.0.6"
+ dependencies:
+ once: "npm:^1.3.0"
+ wrappy: "npm:1"
+ checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2
+ languageName: node
+ linkType: hard
+
+"inherits@npm:2":
+ version: 2.0.4
+ resolution: "inherits@npm:2.0.4"
+ checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2
+ languageName: node
+ linkType: hard
+
+"internal-slot@npm:^1.0.7":
+ version: 1.0.7
+ resolution: "internal-slot@npm:1.0.7"
+ dependencies:
+ es-errors: "npm:^1.3.0"
+ hasown: "npm:^2.0.0"
+ side-channel: "npm:^1.0.4"
+ checksum: 10c0/f8b294a4e6ea3855fc59551bbf35f2b832cf01fd5e6e2a97f5c201a071cc09b49048f856e484b67a6c721da5e55736c5b6ddafaf19e2dbeb4a3ff1821680de6c
+ languageName: node
+ linkType: hard
+
+"ip-address@npm:^9.0.5":
+ version: 9.0.5
+ resolution: "ip-address@npm:9.0.5"
+ dependencies:
+ jsbn: "npm:1.1.0"
+ sprintf-js: "npm:^1.1.3"
+ checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc
+ languageName: node
+ linkType: hard
+
+"is-array-buffer@npm:^3.0.4":
+ version: 3.0.4
+ resolution: "is-array-buffer@npm:3.0.4"
+ dependencies:
+ call-bind: "npm:^1.0.2"
+ get-intrinsic: "npm:^1.2.1"
+ checksum: 10c0/42a49d006cc6130bc5424eae113e948c146f31f9d24460fc0958f855d9d810e6fd2e4519bf19aab75179af9c298ea6092459d8cafdec523cd19e529b26eab860
+ languageName: node
+ linkType: hard
+
+"is-arrayish@npm:^0.2.1":
+ version: 0.2.1
+ resolution: "is-arrayish@npm:0.2.1"
+ checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729
+ languageName: node
+ linkType: hard
+
+"is-async-function@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "is-async-function@npm:2.0.0"
+ dependencies:
+ has-tostringtag: "npm:^1.0.0"
+ checksum: 10c0/787bc931576aad525d751fc5ce211960fe91e49ac84a5c22d6ae0bc9541945fbc3f686dc590c3175722ce4f6d7b798a93f6f8ff4847fdb2199aea6f4baf5d668
+ languageName: node
+ linkType: hard
+
+"is-bigint@npm:^1.0.1":
+ version: 1.0.4
+ resolution: "is-bigint@npm:1.0.4"
+ dependencies:
+ has-bigints: "npm:^1.0.1"
+ checksum: 10c0/eb9c88e418a0d195ca545aff2b715c9903d9b0a5033bc5922fec600eb0c3d7b1ee7f882dbf2e0d5a6e694e42391be3683e4368737bd3c4a77f8ac293e7773696
+ languageName: node
+ linkType: hard
+
+"is-boolean-object@npm:^1.1.0":
+ version: 1.1.2
+ resolution: "is-boolean-object@npm:1.1.2"
+ dependencies:
+ call-bind: "npm:^1.0.2"
+ has-tostringtag: "npm:^1.0.0"
+ checksum: 10c0/6090587f8a8a8534c0f816da868bc94f32810f08807aa72fa7e79f7e11c466d281486ffe7a788178809c2aa71fe3e700b167fe80dd96dad68026bfff8ebf39f7
+ languageName: node
+ linkType: hard
+
+"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7":
+ version: 1.2.7
+ resolution: "is-callable@npm:1.2.7"
+ checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f
+ languageName: node
+ linkType: hard
+
+"is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1":
+ version: 2.15.1
+ resolution: "is-core-module@npm:2.15.1"
+ dependencies:
+ hasown: "npm:^2.0.2"
+ checksum: 10c0/53432f10c69c40bfd2fa8914133a68709ff9498c86c3bf5fca3cdf3145a56fd2168cbf4a43b29843a6202a120a5f9c5ffba0a4322e1e3441739bc0b641682612
+ languageName: node
+ linkType: hard
+
+"is-data-view@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "is-data-view@npm:1.0.1"
+ dependencies:
+ is-typed-array: "npm:^1.1.13"
+ checksum: 10c0/a3e6ec84efe303da859107aed9b970e018e2bee7ffcb48e2f8096921a493608134240e672a2072577e5f23a729846241d9634806e8a0e51d9129c56d5f65442d
+ languageName: node
+ linkType: hard
+
+"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "is-date-object@npm:1.0.5"
+ dependencies:
+ has-tostringtag: "npm:^1.0.0"
+ checksum: 10c0/eed21e5dcc619c48ccef804dfc83a739dbb2abee6ca202838ee1bd5f760fe8d8a93444f0d49012ad19bb7c006186e2884a1b92f6e1c056da7fd23d0a9ad5992e
+ languageName: node
+ linkType: hard
+
+"is-extglob@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "is-extglob@npm:2.1.1"
+ checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912
+ languageName: node
+ linkType: hard
+
+"is-finalizationregistry@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "is-finalizationregistry@npm:1.0.2"
+ dependencies:
+ call-bind: "npm:^1.0.2"
+ checksum: 10c0/81caecc984d27b1a35c68741156fc651fb1fa5e3e6710d21410abc527eb226d400c0943a167922b2e920f6b3e58b0dede9aa795882b038b85f50b3a4b877db86
+ languageName: node
+ linkType: hard
+
+"is-fullwidth-code-point@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "is-fullwidth-code-point@npm:3.0.0"
+ checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc
+ languageName: node
+ linkType: hard
+
+"is-fullwidth-code-point@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "is-fullwidth-code-point@npm:4.0.0"
+ checksum: 10c0/df2a717e813567db0f659c306d61f2f804d480752526886954a2a3e2246c7745fd07a52b5fecf2b68caf0a6c79dcdace6166fdf29cc76ed9975cc334f0a018b8
+ languageName: node
+ linkType: hard
+
+"is-fullwidth-code-point@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "is-fullwidth-code-point@npm:5.0.0"
+ dependencies:
+ get-east-asian-width: "npm:^1.0.0"
+ checksum: 10c0/cd591b27d43d76b05fa65ed03eddce57a16e1eca0b7797ff7255de97019bcaf0219acfc0c4f7af13319e13541f2a53c0ace476f442b13267b9a6a7568f2b65c8
+ languageName: node
+ linkType: hard
+
+"is-generator-function@npm:^1.0.10":
+ version: 1.0.10
+ resolution: "is-generator-function@npm:1.0.10"
+ dependencies:
+ has-tostringtag: "npm:^1.0.0"
+ checksum: 10c0/df03514df01a6098945b5a0cfa1abff715807c8e72f57c49a0686ad54b3b74d394e2d8714e6f709a71eb00c9630d48e73ca1796c1ccc84ac95092c1fecc0d98b
+ languageName: node
+ linkType: hard
+
+"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3":
+ version: 4.0.3
+ resolution: "is-glob@npm:4.0.3"
+ dependencies:
+ is-extglob: "npm:^2.1.1"
+ checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a
+ languageName: node
+ linkType: hard
+
+"is-in-browser@npm:^1.0.2, is-in-browser@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "is-in-browser@npm:1.1.3"
+ checksum: 10c0/87e6119a56ec3d84910eb6ad855b4a3ac05b242fc2bc2c28abbf978f76b5a834ec5622165035acaf2844a85856b1a0fbc12bd0cb1ce9e86314ebec675c6fe856
+ languageName: node
+ linkType: hard
+
+"is-lambda@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "is-lambda@npm:1.0.1"
+ checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d
+ languageName: node
+ linkType: hard
+
+"is-map@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "is-map@npm:2.0.3"
+ checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc
+ languageName: node
+ linkType: hard
+
+"is-negative-zero@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "is-negative-zero@npm:2.0.3"
+ checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e
+ languageName: node
+ linkType: hard
+
+"is-number-object@npm:^1.0.4":
+ version: 1.0.7
+ resolution: "is-number-object@npm:1.0.7"
+ dependencies:
+ has-tostringtag: "npm:^1.0.0"
+ checksum: 10c0/aad266da1e530f1804a2b7bd2e874b4869f71c98590b3964f9d06cc9869b18f8d1f4778f838ecd2a11011bce20aeecb53cb269ba916209b79c24580416b74b1b
+ languageName: node
+ linkType: hard
+
+"is-number@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "is-number@npm:7.0.0"
+ checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811
+ languageName: node
+ linkType: hard
+
+"is-regex@npm:^1.1.4":
+ version: 1.1.4
+ resolution: "is-regex@npm:1.1.4"
+ dependencies:
+ call-bind: "npm:^1.0.2"
+ has-tostringtag: "npm:^1.0.0"
+ checksum: 10c0/bb72aae604a69eafd4a82a93002058c416ace8cde95873589a97fc5dac96a6c6c78a9977d487b7b95426a8f5073969124dd228f043f9f604f041f32fcc465fc1
+ languageName: node
+ linkType: hard
+
+"is-set@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "is-set@npm:2.0.3"
+ checksum: 10c0/f73732e13f099b2dc879c2a12341cfc22ccaca8dd504e6edae26484bd5707a35d503fba5b4daad530a9b088ced1ae6c9d8200fd92e09b428fe14ea79ce8080b7
+ languageName: node
+ linkType: hard
+
+"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "is-shared-array-buffer@npm:1.0.3"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ checksum: 10c0/adc11ab0acbc934a7b9e5e9d6c588d4ec6682f6fea8cda5180721704fa32927582ede5b123349e32517fdadd07958973d24716c80e7ab198970c47acc09e59c7
+ languageName: node
+ linkType: hard
+
+"is-stream@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "is-stream@npm:3.0.0"
+ checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8
+ languageName: node
+ linkType: hard
+
+"is-string@npm:^1.0.5, is-string@npm:^1.0.7":
+ version: 1.0.7
+ resolution: "is-string@npm:1.0.7"
+ dependencies:
+ has-tostringtag: "npm:^1.0.0"
+ checksum: 10c0/905f805cbc6eedfa678aaa103ab7f626aac9ebbdc8737abb5243acaa61d9820f8edc5819106b8fcd1839e33db21de9f0116ae20de380c8382d16dc2a601921f6
+ languageName: node
+ linkType: hard
+
+"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3":
+ version: 1.0.4
+ resolution: "is-symbol@npm:1.0.4"
+ dependencies:
+ has-symbols: "npm:^1.0.2"
+ checksum: 10c0/9381dd015f7c8906154dbcbf93fad769de16b4b961edc94f88d26eb8c555935caa23af88bda0c93a18e65560f6d7cca0fd5a3f8a8e1df6f1abbb9bead4502ef7
+ languageName: node
+ linkType: hard
+
+"is-typed-array@npm:^1.1.13":
+ version: 1.1.13
+ resolution: "is-typed-array@npm:1.1.13"
+ dependencies:
+ which-typed-array: "npm:^1.1.14"
+ checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca
+ languageName: node
+ linkType: hard
+
+"is-weakmap@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "is-weakmap@npm:2.0.2"
+ checksum: 10c0/443c35bb86d5e6cc5929cd9c75a4024bb0fff9586ed50b092f94e700b89c43a33b186b76dbc6d54f3d3d09ece689ab38dcdc1af6a482cbe79c0f2da0a17f1299
+ languageName: node
+ linkType: hard
+
+"is-weakref@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "is-weakref@npm:1.0.2"
+ dependencies:
+ call-bind: "npm:^1.0.2"
+ checksum: 10c0/1545c5d172cb690c392f2136c23eec07d8d78a7f57d0e41f10078aa4f5daf5d7f57b6513a67514ab4f073275ad00c9822fc8935e00229d0a2089e1c02685d4b1
+ languageName: node
+ linkType: hard
+
+"is-weakset@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "is-weakset@npm:2.0.3"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ get-intrinsic: "npm:^1.2.4"
+ checksum: 10c0/8ad6141b6a400e7ce7c7442a13928c676d07b1f315ab77d9912920bf5f4170622f43126f111615788f26c3b1871158a6797c862233124507db0bcc33a9537d1a
+ languageName: node
+ linkType: hard
+
+"isarray@npm:0.0.1":
+ version: 0.0.1
+ resolution: "isarray@npm:0.0.1"
+ checksum: 10c0/ed1e62da617f71fe348907c71743b5ed550448b455f8d269f89a7c7ddb8ae6e962de3dab6a74a237b06f5eb7f6ece7a45ada8ce96d87fe972926530f91ae3311
+ languageName: node
+ linkType: hard
+
+"isarray@npm:^2.0.5":
+ version: 2.0.5
+ resolution: "isarray@npm:2.0.5"
+ checksum: 10c0/4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd
+ languageName: node
+ linkType: hard
+
+"isexe@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "isexe@npm:2.0.0"
+ checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d
+ languageName: node
+ linkType: hard
+
+"isexe@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "isexe@npm:3.1.1"
+ checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7
+ languageName: node
+ linkType: hard
+
+"iterator.prototype@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "iterator.prototype@npm:1.1.3"
+ dependencies:
+ define-properties: "npm:^1.2.1"
+ get-intrinsic: "npm:^1.2.1"
+ has-symbols: "npm:^1.0.3"
+ reflect.getprototypeof: "npm:^1.0.4"
+ set-function-name: "npm:^2.0.1"
+ checksum: 10c0/68b0320c14291fbb3d8ed5a17e255d3127e7971bec19108076667e79c9ff4c7d69f99de4b0b3075c789c3f318366d7a0a35bb086eae0f2cf832dd58465b2f9e6
+ languageName: node
+ linkType: hard
+
+"jackspeak@npm:^3.1.2":
+ version: 3.4.3
+ resolution: "jackspeak@npm:3.4.3"
+ dependencies:
+ "@isaacs/cliui": "npm:^8.0.2"
+ "@pkgjs/parseargs": "npm:^0.11.0"
+ dependenciesMeta:
+ "@pkgjs/parseargs":
+ optional: true
+ checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9
+ languageName: node
+ linkType: hard
+
+"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "js-tokens@npm:4.0.0"
+ checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed
+ languageName: node
+ linkType: hard
+
+"js-yaml@npm:^3.13.1":
+ version: 3.14.1
+ resolution: "js-yaml@npm:3.14.1"
+ dependencies:
+ argparse: "npm:^1.0.7"
+ esprima: "npm:^4.0.0"
+ bin:
+ js-yaml: bin/js-yaml.js
+ checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b
+ languageName: node
+ linkType: hard
+
+"jsbn@npm:1.1.0":
+ version: 1.1.0
+ resolution: "jsbn@npm:1.1.0"
+ checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96
+ languageName: node
+ linkType: hard
+
+"jsesc@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "jsesc@npm:3.0.2"
+ bin:
+ jsesc: bin/jsesc
+ checksum: 10c0/ef22148f9e793180b14d8a145ee6f9f60f301abf443288117b4b6c53d0ecd58354898dc506ccbb553a5f7827965cd38bc5fb726575aae93c5e8915e2de8290e1
+ languageName: node
+ linkType: hard
+
+"json-buffer@npm:3.0.1":
+ version: 3.0.1
+ resolution: "json-buffer@npm:3.0.1"
+ checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7
+ languageName: node
+ linkType: hard
+
+"json-parse-even-better-errors@npm:^2.3.0":
+ version: 2.3.1
+ resolution: "json-parse-even-better-errors@npm:2.3.1"
+ checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3
+ languageName: node
+ linkType: hard
+
+"json-schema-traverse@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "json-schema-traverse@npm:0.4.1"
+ checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce
+ languageName: node
+ linkType: hard
+
+"json-schema-traverse@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "json-schema-traverse@npm:1.0.0"
+ checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6
+ languageName: node
+ linkType: hard
+
+"json-stable-stringify-without-jsonify@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "json-stable-stringify-without-jsonify@npm:1.0.1"
+ checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5
+ languageName: node
+ linkType: hard
+
+"json5@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "json5@npm:1.0.2"
+ dependencies:
+ minimist: "npm:^1.2.0"
+ bin:
+ json5: lib/cli.js
+ checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f
+ languageName: node
+ linkType: hard
+
+"json5@npm:^2.2.2, json5@npm:^2.2.3":
+ version: 2.2.3
+ resolution: "json5@npm:2.2.3"
+ bin:
+ json5: lib/cli.js
+ checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c
+ languageName: node
+ linkType: hard
+
+"jsonfile@npm:^6.0.1":
+ version: 6.1.0
+ resolution: "jsonfile@npm:6.1.0"
+ dependencies:
+ graceful-fs: "npm:^4.1.6"
+ universalify: "npm:^2.0.0"
+ dependenciesMeta:
+ graceful-fs:
+ optional: true
+ checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865
+ languageName: node
+ linkType: hard
+
+"jss-plugin-camel-case@npm:^10.5.1":
+ version: 10.10.0
+ resolution: "jss-plugin-camel-case@npm:10.10.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.3.1"
+ hyphenate-style-name: "npm:^1.0.3"
+ jss: "npm:10.10.0"
+ checksum: 10c0/29dedf0866837425258eae3b12b72c1de435ea7caddef94ac13044b3a04c4abd8dd238a81fd6e0a4afdbf10c9cb4674df41f50af79554c34c736cd2ecf3752da
+ languageName: node
+ linkType: hard
+
+"jss-plugin-default-unit@npm:^10.5.1":
+ version: 10.10.0
+ resolution: "jss-plugin-default-unit@npm:10.10.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.3.1"
+ jss: "npm:10.10.0"
+ checksum: 10c0/f394d5411114fde7056249f4650de51e6f3e47c64a3d48cee80180a6e75876f0d0d68c96d81458880e1024ca880ed53baade682d36a5f7177046bfef0b280572
+ languageName: node
+ linkType: hard
+
+"jss-plugin-global@npm:^10.5.1":
+ version: 10.10.0
+ resolution: "jss-plugin-global@npm:10.10.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.3.1"
+ jss: "npm:10.10.0"
+ checksum: 10c0/2d24ef0e16cd6ebcce59f132756716ae37fdffe3f59461018636a57ef68298e649f43bd5c346041f1642872aa2cc0629f5ecfb48a20bfb471813318cb8f3935f
+ languageName: node
+ linkType: hard
+
+"jss-plugin-nested@npm:^10.5.1":
+ version: 10.10.0
+ resolution: "jss-plugin-nested@npm:10.10.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.3.1"
+ jss: "npm:10.10.0"
+ tiny-warning: "npm:^1.0.2"
+ checksum: 10c0/868ac4e4bea9dc02fac33f15e3165c008669d69e6b87201f1d8574eb213408b67366302288b49f46acda1320164460daa50e6aac817d34ae3b1c256a03f4ebba
+ languageName: node
+ linkType: hard
+
+"jss-plugin-props-sort@npm:^10.5.1":
+ version: 10.10.0
+ resolution: "jss-plugin-props-sort@npm:10.10.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.3.1"
+ jss: "npm:10.10.0"
+ checksum: 10c0/5579bb21bfe514c12f43bd5e57458badc37c8e5676a47109f45195466a3aed633c61609daef079622421ef7c902b8342d1f96578543fefcb729f0b8dcfd2fe37
+ languageName: node
+ linkType: hard
+
+"jss-plugin-rule-value-function@npm:^10.5.1":
+ version: 10.10.0
+ resolution: "jss-plugin-rule-value-function@npm:10.10.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.3.1"
+ jss: "npm:10.10.0"
+ tiny-warning: "npm:^1.0.2"
+ checksum: 10c0/678bedb49da3b5e93fc1971d691f7f3ad2d7cf15dfc220edab934b70c7571fc383a435371a687a8ae125ab5ccd7bada9712574620959a3d1cd961fbca1583c29
+ languageName: node
+ linkType: hard
+
+"jss-plugin-vendor-prefixer@npm:^10.5.1":
+ version: 10.10.0
+ resolution: "jss-plugin-vendor-prefixer@npm:10.10.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.3.1"
+ css-vendor: "npm:^2.0.8"
+ jss: "npm:10.10.0"
+ checksum: 10c0/e3ad2dfe93d126f722586782aebddcd68dc46c0ad59f99edd65e164ecbb6e4cad6ce85c874f90553fa5fec50c2fd2b1f5984abfc4e3dd49d24033bbc378a2e11
+ languageName: node
+ linkType: hard
+
+"jss@npm:10.10.0, jss@npm:^10.5.1":
+ version: 10.10.0
+ resolution: "jss@npm:10.10.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.3.1"
+ csstype: "npm:^3.0.2"
+ is-in-browser: "npm:^1.1.3"
+ tiny-warning: "npm:^1.0.2"
+ checksum: 10c0/aa5e743a3f40d6df05ae951c6913b6495ef42b3e9539f6875c32bf01c42ab405bd91038d6feca2ed5c67a2947111b0137213983089e2a310ee11fc563208ad61
+ languageName: node
+ linkType: hard
+
+"jsx-ast-utils@npm:^2.4.1 || ^3.0.0":
+ version: 3.3.5
+ resolution: "jsx-ast-utils@npm:3.3.5"
+ dependencies:
+ array-includes: "npm:^3.1.6"
+ array.prototype.flat: "npm:^1.3.1"
+ object.assign: "npm:^4.1.4"
+ object.values: "npm:^1.1.6"
+ checksum: 10c0/a32679e9cb55469cb6d8bbc863f7d631b2c98b7fc7bf172629261751a6e7bc8da6ae374ddb74d5fbd8b06cf0eb4572287b259813d92b36e384024ed35e4c13e1
+ languageName: node
+ linkType: hard
+
+"keyv@npm:^4.5.3":
+ version: 4.5.4
+ resolution: "keyv@npm:4.5.4"
+ dependencies:
+ json-buffer: "npm:3.0.1"
+ checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e
+ languageName: node
+ linkType: hard
+
+"levn@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "levn@npm:0.4.1"
+ dependencies:
+ prelude-ls: "npm:^1.2.1"
+ type-check: "npm:~0.4.0"
+ checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e
+ languageName: node
+ linkType: hard
+
+"lilconfig@npm:~3.1.2":
+ version: 3.1.2
+ resolution: "lilconfig@npm:3.1.2"
+ checksum: 10c0/f059630b1a9bddaeba83059db00c672b64dc14074e9f232adce32b38ca1b5686ab737eb665c5ba3c32f147f0002b4bee7311ad0386a9b98547b5623e87071fbe
+ languageName: node
+ linkType: hard
+
+"lines-and-columns@npm:^1.1.6":
+ version: 1.2.4
+ resolution: "lines-and-columns@npm:1.2.4"
+ checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d
+ languageName: node
+ linkType: hard
+
+"lint-staged@npm:>=10":
+ version: 15.2.10
+ resolution: "lint-staged@npm:15.2.10"
+ dependencies:
+ chalk: "npm:~5.3.0"
+ commander: "npm:~12.1.0"
+ debug: "npm:~4.3.6"
+ execa: "npm:~8.0.1"
+ lilconfig: "npm:~3.1.2"
+ listr2: "npm:~8.2.4"
+ micromatch: "npm:~4.0.8"
+ pidtree: "npm:~0.6.0"
+ string-argv: "npm:~0.3.2"
+ yaml: "npm:~2.5.0"
+ bin:
+ lint-staged: bin/lint-staged.js
+ checksum: 10c0/6ad7b41f5e87a84fa2eb1990080ea3c68a2f2031b4e81edcdc2a458cc878538eedb310e6f98ffd878a1287e1a52ac968e540ee8a0e96c247e04b0cbc36421cdd
+ languageName: node
+ linkType: hard
+
+"listr2@npm:~8.2.4":
+ version: 8.2.5
+ resolution: "listr2@npm:8.2.5"
+ dependencies:
+ cli-truncate: "npm:^4.0.0"
+ colorette: "npm:^2.0.20"
+ eventemitter3: "npm:^5.0.1"
+ log-update: "npm:^6.1.0"
+ rfdc: "npm:^1.4.1"
+ wrap-ansi: "npm:^9.0.0"
+ checksum: 10c0/f5a9599514b00c27d7eb32d1117c83c61394b2a985ec20e542c798bf91cf42b19340215701522736f5b7b42f557e544afeadec47866e35e5d4f268f552729671
+ languageName: node
+ linkType: hard
+
+"lodash.merge@npm:^4.6.2":
+ version: 4.6.2
+ resolution: "lodash.merge@npm:4.6.2"
+ checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506
+ languageName: node
+ linkType: hard
+
+"lodash.truncate@npm:^4.4.2":
+ version: 4.4.2
+ resolution: "lodash.truncate@npm:4.4.2"
+ checksum: 10c0/4e870d54e8a6c86c8687e057cec4069d2e941446ccab7f40b4d9555fa5872d917d0b6aa73bece7765500a3123f1723bcdba9ae881b679ef120bba9e1a0b0ed70
+ languageName: node
+ linkType: hard
+
+"log-update@npm:^6.1.0":
+ version: 6.1.0
+ resolution: "log-update@npm:6.1.0"
+ dependencies:
+ ansi-escapes: "npm:^7.0.0"
+ cli-cursor: "npm:^5.0.0"
+ slice-ansi: "npm:^7.1.0"
+ strip-ansi: "npm:^7.1.0"
+ wrap-ansi: "npm:^9.0.0"
+ checksum: 10c0/4b350c0a83d7753fea34dcac6cd797d1dc9603291565de009baa4aa91c0447eab0d3815a05c8ec9ac04fdfffb43c82adcdb03ec1fceafd8518e1a8c1cff4ff89
+ languageName: node
+ linkType: hard
+
+"loose-envify@npm:^1.1.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "loose-envify@npm:1.4.0"
+ dependencies:
+ js-tokens: "npm:^3.0.0 || ^4.0.0"
+ bin:
+ loose-envify: cli.js
+ checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e
+ languageName: node
+ linkType: hard
+
+"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0":
+ version: 10.4.3
+ resolution: "lru-cache@npm:10.4.3"
+ checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb
+ languageName: node
+ linkType: hard
+
+"lru-cache@npm:^5.1.1":
+ version: 5.1.1
+ resolution: "lru-cache@npm:5.1.1"
+ dependencies:
+ yallist: "npm:^3.0.2"
+ checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482
+ languageName: node
+ linkType: hard
+
+"make-fetch-happen@npm:^13.0.0":
+ version: 13.0.1
+ resolution: "make-fetch-happen@npm:13.0.1"
+ dependencies:
+ "@npmcli/agent": "npm:^2.0.0"
+ cacache: "npm:^18.0.0"
+ http-cache-semantics: "npm:^4.1.1"
+ is-lambda: "npm:^1.0.1"
+ minipass: "npm:^7.0.2"
+ minipass-fetch: "npm:^3.0.0"
+ minipass-flush: "npm:^1.0.5"
+ minipass-pipeline: "npm:^1.2.4"
+ negotiator: "npm:^0.6.3"
+ proc-log: "npm:^4.2.0"
+ promise-retry: "npm:^2.0.1"
+ ssri: "npm:^10.0.0"
+ checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e
+ languageName: node
+ linkType: hard
+
+"merge-stream@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "merge-stream@npm:2.0.0"
+ checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5
+ languageName: node
+ linkType: hard
+
+"merge2@npm:^1.3.0, merge2@npm:^1.4.1":
+ version: 1.4.1
+ resolution: "merge2@npm:1.4.1"
+ checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb
+ languageName: node
+ linkType: hard
+
+"micromatch@npm:^4.0.4, micromatch@npm:~4.0.8":
+ version: 4.0.8
+ resolution: "micromatch@npm:4.0.8"
+ dependencies:
+ braces: "npm:^3.0.3"
+ picomatch: "npm:^2.3.1"
+ checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8
+ languageName: node
+ linkType: hard
+
+"mimic-fn@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "mimic-fn@npm:4.0.0"
+ checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf
+ languageName: node
+ linkType: hard
+
+"mimic-function@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "mimic-function@npm:5.0.1"
+ checksum: 10c0/f3d9464dd1816ecf6bdf2aec6ba32c0728022039d992f178237d8e289b48764fee4131319e72eedd4f7f094e22ded0af836c3187a7edc4595d28dd74368fd81d
+ languageName: node
+ linkType: hard
+
+"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
+ version: 3.1.2
+ resolution: "minimatch@npm:3.1.2"
+ dependencies:
+ brace-expansion: "npm:^1.1.7"
+ checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311
+ languageName: node
+ linkType: hard
+
+"minimatch@npm:^9.0.4":
+ version: 9.0.5
+ resolution: "minimatch@npm:9.0.5"
+ dependencies:
+ brace-expansion: "npm:^2.0.1"
+ checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed
+ languageName: node
+ linkType: hard
+
+"minimist@npm:^1.2.0, minimist@npm:^1.2.6":
+ version: 1.2.8
+ resolution: "minimist@npm:1.2.8"
+ checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6
+ languageName: node
+ linkType: hard
+
+"minipass-collect@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "minipass-collect@npm:2.0.1"
+ dependencies:
+ minipass: "npm:^7.0.3"
+ checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e
+ languageName: node
+ linkType: hard
+
+"minipass-fetch@npm:^3.0.0":
+ version: 3.0.5
+ resolution: "minipass-fetch@npm:3.0.5"
+ dependencies:
+ encoding: "npm:^0.1.13"
+ minipass: "npm:^7.0.3"
+ minipass-sized: "npm:^1.0.3"
+ minizlib: "npm:^2.1.2"
+ dependenciesMeta:
+ encoding:
+ optional: true
+ checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b
+ languageName: node
+ linkType: hard
+
+"minipass-flush@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "minipass-flush@npm:1.0.5"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd
+ languageName: node
+ linkType: hard
+
+"minipass-pipeline@npm:^1.2.4":
+ version: 1.2.4
+ resolution: "minipass-pipeline@npm:1.2.4"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2
+ languageName: node
+ linkType: hard
+
+"minipass-sized@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "minipass-sized@npm:1.0.3"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb
+ languageName: node
+ linkType: hard
+
+"minipass@npm:^3.0.0":
+ version: 3.3.6
+ resolution: "minipass@npm:3.3.6"
+ dependencies:
+ yallist: "npm:^4.0.0"
+ checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c
+ languageName: node
+ linkType: hard
+
+"minipass@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "minipass@npm:5.0.0"
+ checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462
+ languageName: node
+ linkType: hard
+
+"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2":
+ version: 7.1.2
+ resolution: "minipass@npm:7.1.2"
+ checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557
+ languageName: node
+ linkType: hard
+
+"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2":
+ version: 2.1.2
+ resolution: "minizlib@npm:2.1.2"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ yallist: "npm:^4.0.0"
+ checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78
+ languageName: node
+ linkType: hard
+
+"mkdirp@npm:^1.0.3":
+ version: 1.0.4
+ resolution: "mkdirp@npm:1.0.4"
+ bin:
+ mkdirp: bin/cmd.js
+ checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf
+ languageName: node
+ linkType: hard
+
+"ms@npm:2.0.0":
+ version: 2.0.0
+ resolution: "ms@npm:2.0.0"
+ checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d
+ languageName: node
+ linkType: hard
+
+"ms@npm:^2.1.1, ms@npm:^2.1.3":
+ version: 2.1.3
+ resolution: "ms@npm:2.1.3"
+ checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48
+ languageName: node
+ linkType: hard
+
+"mz@npm:^2.7.0":
+ version: 2.7.0
+ resolution: "mz@npm:2.7.0"
+ dependencies:
+ any-promise: "npm:^1.0.0"
+ object-assign: "npm:^4.0.1"
+ thenify-all: "npm:^1.0.0"
+ checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39
+ languageName: node
+ linkType: hard
+
+"nanoid@npm:^3.3.7":
+ version: 3.3.7
+ resolution: "nanoid@npm:3.3.7"
+ bin:
+ nanoid: bin/nanoid.cjs
+ checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3
+ languageName: node
+ linkType: hard
+
+"natural-compare@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "natural-compare@npm:1.4.0"
+ checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447
+ languageName: node
+ linkType: hard
+
+"negotiator@npm:^0.6.3":
+ version: 0.6.3
+ resolution: "negotiator@npm:0.6.3"
+ checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2
+ languageName: node
+ linkType: hard
+
+"node-gyp@npm:latest":
+ version: 10.2.0
+ resolution: "node-gyp@npm:10.2.0"
+ dependencies:
+ env-paths: "npm:^2.2.0"
+ exponential-backoff: "npm:^3.1.1"
+ glob: "npm:^10.3.10"
+ graceful-fs: "npm:^4.2.6"
+ make-fetch-happen: "npm:^13.0.0"
+ nopt: "npm:^7.0.0"
+ proc-log: "npm:^4.1.0"
+ semver: "npm:^7.3.5"
+ tar: "npm:^6.2.1"
+ which: "npm:^4.0.0"
+ bin:
+ node-gyp: bin/node-gyp.js
+ checksum: 10c0/00630d67dbd09a45aee0a5d55c05e3916ca9e6d427ee4f7bc392d2d3dc5fad7449b21fc098dd38260a53d9dcc9c879b36704a1994235d4707e7271af7e9a835b
+ languageName: node
+ linkType: hard
+
+"node-releases@npm:^2.0.18":
+ version: 2.0.18
+ resolution: "node-releases@npm:2.0.18"
+ checksum: 10c0/786ac9db9d7226339e1dc84bbb42007cb054a346bd9257e6aa154d294f01bc6a6cddb1348fa099f079be6580acbb470e3c048effd5f719325abd0179e566fd27
+ languageName: node
+ linkType: hard
+
+"nopt@npm:^7.0.0":
+ version: 7.2.1
+ resolution: "nopt@npm:7.2.1"
+ dependencies:
+ abbrev: "npm:^2.0.0"
+ bin:
+ nopt: bin/nopt.js
+ checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81
+ languageName: node
+ linkType: hard
+
+"npm-run-path@npm:^5.1.0":
+ version: 5.3.0
+ resolution: "npm-run-path@npm:5.3.0"
+ dependencies:
+ path-key: "npm:^4.0.0"
+ checksum: 10c0/124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba
+ languageName: node
+ linkType: hard
+
+"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1":
+ version: 4.1.1
+ resolution: "object-assign@npm:4.1.1"
+ checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414
+ languageName: node
+ linkType: hard
+
+"object-inspect@npm:^1.13.1":
+ version: 1.13.2
+ resolution: "object-inspect@npm:1.13.2"
+ checksum: 10c0/b97835b4c91ec37b5fd71add84f21c3f1047d1d155d00c0fcd6699516c256d4fcc6ff17a1aced873197fe447f91a3964178fd2a67a1ee2120cdaf60e81a050b4
+ languageName: node
+ linkType: hard
+
+"object-keys@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "object-keys@npm:1.1.1"
+ checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d
+ languageName: node
+ linkType: hard
+
+"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5":
+ version: 4.1.5
+ resolution: "object.assign@npm:4.1.5"
+ dependencies:
+ call-bind: "npm:^1.0.5"
+ define-properties: "npm:^1.2.1"
+ has-symbols: "npm:^1.0.3"
+ object-keys: "npm:^1.1.1"
+ checksum: 10c0/60108e1fa2706f22554a4648299b0955236c62b3685c52abf4988d14fffb0e7731e00aa8c6448397e3eb63d087dcc124a9f21e1980f36d0b2667f3c18bacd469
+ languageName: node
+ linkType: hard
+
+"object.entries@npm:^1.1.8":
+ version: 1.1.8
+ resolution: "object.entries@npm:1.1.8"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/db9ea979d2956a3bc26c262da4a4d212d36f374652cc4c13efdd069c1a519c16571c137e2893d1c46e1cb0e15c88fd6419eaf410c945f329f09835487d7e65d3
+ languageName: node
+ linkType: hard
+
+"object.fromentries@npm:^2.0.8":
+ version: 2.0.8
+ resolution: "object.fromentries@npm:2.0.8"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.2"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/cd4327e6c3369cfa805deb4cbbe919bfb7d3aeebf0bcaba291bb568ea7169f8f8cdbcabe2f00b40db0c20cd20f08e11b5f3a5a36fb7dd3fe04850c50db3bf83b
+ languageName: node
+ linkType: hard
+
+"object.groupby@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "object.groupby@npm:1.0.3"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.2"
+ checksum: 10c0/60d0455c85c736fbfeda0217d1a77525956f76f7b2495edeca9e9bbf8168a45783199e77b894d30638837c654d0cc410e0e02cbfcf445bc8de71c3da1ede6a9c
+ languageName: node
+ linkType: hard
+
+"object.values@npm:^1.1.6, object.values@npm:^1.2.0":
+ version: 1.2.0
+ resolution: "object.values@npm:1.2.0"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/15809dc40fd6c5529501324fec5ff08570b7d70fb5ebbe8e2b3901afec35cf2b3dc484d1210c6c642cd3e7e0a5e18dd1d6850115337fef46bdae14ab0cb18ac3
+ languageName: node
+ linkType: hard
+
+"on-finished@npm:~2.3.0":
+ version: 2.3.0
+ resolution: "on-finished@npm:2.3.0"
+ dependencies:
+ ee-first: "npm:1.1.1"
+ checksum: 10c0/c904f9e518b11941eb60279a3cbfaf1289bd0001f600a950255b1dede9fe3df8cd74f38483550b3bb9485165166acb5db500c3b4c4337aec2815c88c96fcc2ea
+ languageName: node
+ linkType: hard
+
+"once@npm:^1.3.0":
+ version: 1.4.0
+ resolution: "once@npm:1.4.0"
+ dependencies:
+ wrappy: "npm:1"
+ checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0
+ languageName: node
+ linkType: hard
+
+"onetime@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "onetime@npm:6.0.0"
+ dependencies:
+ mimic-fn: "npm:^4.0.0"
+ checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c
+ languageName: node
+ linkType: hard
+
+"onetime@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "onetime@npm:7.0.0"
+ dependencies:
+ mimic-function: "npm:^5.0.0"
+ checksum: 10c0/5cb9179d74b63f52a196a2e7037ba2b9a893245a5532d3f44360012005c9cadb60851d56716ebff18a6f47129dab7168022445df47c2aff3b276d92585ed1221
+ languageName: node
+ linkType: hard
+
+"optionator@npm:^0.9.1":
+ version: 0.9.4
+ resolution: "optionator@npm:0.9.4"
+ dependencies:
+ deep-is: "npm:^0.1.3"
+ fast-levenshtein: "npm:^2.0.6"
+ levn: "npm:^0.4.1"
+ prelude-ls: "npm:^1.2.1"
+ type-check: "npm:^0.4.0"
+ word-wrap: "npm:^1.2.5"
+ checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675
+ languageName: node
+ linkType: hard
+
+"p-map@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "p-map@npm:4.0.0"
+ dependencies:
+ aggregate-error: "npm:^3.0.0"
+ checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75
+ languageName: node
+ linkType: hard
+
+"package-json-from-dist@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "package-json-from-dist@npm:1.0.1"
+ checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b
+ languageName: node
+ linkType: hard
+
+"parent-module@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "parent-module@npm:1.0.1"
+ dependencies:
+ callsites: "npm:^3.0.0"
+ checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556
+ languageName: node
+ linkType: hard
+
+"parse-json@npm:^5.0.0":
+ version: 5.2.0
+ resolution: "parse-json@npm:5.2.0"
+ dependencies:
+ "@babel/code-frame": "npm:^7.0.0"
+ error-ex: "npm:^1.3.1"
+ json-parse-even-better-errors: "npm:^2.3.0"
+ lines-and-columns: "npm:^1.1.6"
+ checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585
+ languageName: node
+ linkType: hard
+
+"parseurl@npm:~1.3.3":
+ version: 1.3.3
+ resolution: "parseurl@npm:1.3.3"
+ checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5
+ languageName: node
+ linkType: hard
+
+"path-is-absolute@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "path-is-absolute@npm:1.0.1"
+ checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078
+ languageName: node
+ linkType: hard
+
+"path-key@npm:^3.1.0":
+ version: 3.1.1
+ resolution: "path-key@npm:3.1.1"
+ checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c
+ languageName: node
+ linkType: hard
+
+"path-key@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "path-key@npm:4.0.0"
+ checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3
+ languageName: node
+ linkType: hard
+
+"path-parse@npm:^1.0.7":
+ version: 1.0.7
+ resolution: "path-parse@npm:1.0.7"
+ checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1
+ languageName: node
+ linkType: hard
+
+"path-scurry@npm:^1.11.1":
+ version: 1.11.1
+ resolution: "path-scurry@npm:1.11.1"
+ dependencies:
+ lru-cache: "npm:^10.2.0"
+ minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0"
+ checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d
+ languageName: node
+ linkType: hard
+
+"path-to-regexp@npm:^1.7.0":
+ version: 1.9.0
+ resolution: "path-to-regexp@npm:1.9.0"
+ dependencies:
+ isarray: "npm:0.0.1"
+ checksum: 10c0/de9ddb01b84d9c2c8e2bed18630d8d039e2d6f60a6538595750fa08c7a6482512257464c8da50616f266ab2cdd2428387e85f3b089e4c3f25d0c537e898a0751
+ languageName: node
+ linkType: hard
+
+"path-type@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "path-type@npm:4.0.0"
+ checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c
+ languageName: node
+ linkType: hard
+
+"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0":
+ version: 1.1.1
+ resolution: "picocolors@npm:1.1.1"
+ checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58
+ languageName: node
+ linkType: hard
+
+"picomatch@npm:^2.2.2, picomatch@npm:^2.3.1":
+ version: 2.3.1
+ resolution: "picomatch@npm:2.3.1"
+ checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be
+ languageName: node
+ linkType: hard
+
+"pidtree@npm:~0.6.0":
+ version: 0.6.0
+ resolution: "pidtree@npm:0.6.0"
+ bin:
+ pidtree: bin/pidtree.js
+ checksum: 10c0/0829ec4e9209e230f74ebf4265f5ccc9ebfb488334b525cb13f86ff801dca44b362c41252cd43ae4d7653a10a5c6ab3be39d2c79064d6895e0d78dc50a5ed6e9
+ languageName: node
+ linkType: hard
+
+"pinst@npm:>=2":
+ version: 3.0.0
+ resolution: "pinst@npm:3.0.0"
+ bin:
+ pinst: bin.js
+ checksum: 10c0/abb1ed62ea2acb2207a7a860715bdb26ecbde74ede8fad5f6200194f3e22db25e2b7a49af05e5cc7fc05384709c651e0000323f0077d7239060c4b68c8acd428
+ languageName: node
+ linkType: hard
+
+"pirates@npm:^4.0.1":
+ version: 4.0.6
+ resolution: "pirates@npm:4.0.6"
+ checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36
+ languageName: node
+ linkType: hard
+
+"popper.js@npm:1.16.1-lts":
+ version: 1.16.1-lts
+ resolution: "popper.js@npm:1.16.1-lts"
+ checksum: 10c0/f859226804c95f18499d3b8f3e00b293ae0f1ffd0c75a64c0b7632fc3e12ac1cc5f717fa91ff64a12559f69dcee0c95cbae66ffea41ba420e511a150173c435a
+ languageName: node
+ linkType: hard
+
+"possible-typed-array-names@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "possible-typed-array-names@npm:1.0.0"
+ checksum: 10c0/d9aa22d31f4f7680e20269db76791b41c3a32c01a373e25f8a4813b4d45f7456bfc2b6d68f752dc4aab0e0bb0721cb3d76fb678c9101cb7a16316664bc2c73fd
+ languageName: node
+ linkType: hard
+
+"postcss@npm:^8.3.5, postcss@npm:^8.4.13":
+ version: 8.4.47
+ resolution: "postcss@npm:8.4.47"
+ dependencies:
+ nanoid: "npm:^3.3.7"
+ picocolors: "npm:^1.1.0"
+ source-map-js: "npm:^1.2.1"
+ checksum: 10c0/929f68b5081b7202709456532cee2a145c1843d391508c5a09de2517e8c4791638f71dd63b1898dba6712f8839d7a6da046c72a5e44c162e908f5911f57b5f44
+ languageName: node
+ linkType: hard
+
+"prelude-ls@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "prelude-ls@npm:1.2.1"
+ checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd
+ languageName: node
+ linkType: hard
+
+"prettier@npm:^2.3.2":
+ version: 2.8.8
+ resolution: "prettier@npm:2.8.8"
+ bin:
+ prettier: bin-prettier.js
+ checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a
+ languageName: node
+ linkType: hard
+
+"proc-log@npm:^4.1.0, proc-log@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "proc-log@npm:4.2.0"
+ checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9
+ languageName: node
+ linkType: hard
+
+"progress@npm:^2.0.0":
+ version: 2.0.3
+ resolution: "progress@npm:2.0.3"
+ checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c
+ languageName: node
+ linkType: hard
+
+"promise-retry@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "promise-retry@npm:2.0.1"
+ dependencies:
+ err-code: "npm:^2.0.2"
+ retry: "npm:^0.12.0"
+ checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96
+ languageName: node
+ linkType: hard
+
+"prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1":
+ version: 15.8.1
+ resolution: "prop-types@npm:15.8.1"
+ dependencies:
+ loose-envify: "npm:^1.4.0"
+ object-assign: "npm:^4.1.1"
+ react-is: "npm:^16.13.1"
+ checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077
+ languageName: node
+ linkType: hard
+
+"punycode@npm:^2.1.0":
+ version: 2.3.1
+ resolution: "punycode@npm:2.3.1"
+ checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9
+ languageName: node
+ linkType: hard
+
+"queue-microtask@npm:^1.2.2":
+ version: 1.2.3
+ resolution: "queue-microtask@npm:1.2.3"
+ checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102
+ languageName: node
+ linkType: hard
+
+"react-cool-dimensions@npm:^2.0.7":
+ version: 2.0.7
+ resolution: "react-cool-dimensions@npm:2.0.7"
+ peerDependencies:
+ react: ">= 16.8.0"
+ checksum: 10c0/45f7bef4660758f6affebcee1ca5c51ebf68fc935a8359c536a57bc4ceb37a87424b413366048d6f94d5e72704b91dc7a0ee63b44a62e35ed772a180fe82ec72
+ languageName: node
+ linkType: hard
+
+"react-dom@npm:^17.0.2":
+ version: 17.0.2
+ resolution: "react-dom@npm:17.0.2"
+ dependencies:
+ loose-envify: "npm:^1.1.0"
+ object-assign: "npm:^4.1.1"
+ scheduler: "npm:^0.20.2"
+ peerDependencies:
+ react: 17.0.2
+ checksum: 10c0/51abbcb72450fe527ebf978c3bc989ba266630faaa53f47a2fae5392369729e8de62b2e4683598cbe651ea7873cd34ec7d5127e2f50bf4bfe6bd0c3ad9bddcb0
+ languageName: node
+ linkType: hard
+
+"react-is@npm:^16.13.1, react-is@npm:^16.6.0, react-is@npm:^16.7.0":
+ version: 16.13.1
+ resolution: "react-is@npm:16.13.1"
+ checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1
+ languageName: node
+ linkType: hard
+
+"react-is@npm:^16.8.0 || ^17.0.0":
+ version: 17.0.2
+ resolution: "react-is@npm:17.0.2"
+ checksum: 10c0/2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053
+ languageName: node
+ linkType: hard
+
+"react-is@npm:^18.3.1":
+ version: 18.3.1
+ resolution: "react-is@npm:18.3.1"
+ checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072
+ languageName: node
+ linkType: hard
+
+"react-joystick-component@npm:^6.2.1":
+ version: 6.2.1
+ resolution: "react-joystick-component@npm:6.2.1"
+ peerDependencies:
+ react: ">=17.0.2"
+ react-dom: ">=17.0.2"
+ checksum: 10c0/3d70eec89140c8b3a73f3d7115d1f71be0afac9d2ee4dc6a082883ba5d7bd911400ca3cbc3df30cf0e79d647f45bc9c521aab926894ab89047a5b484c1fa728d
+ languageName: node
+ linkType: hard
+
+"react-refresh@npm:^0.10.0":
+ version: 0.10.0
+ resolution: "react-refresh@npm:0.10.0"
+ checksum: 10c0/616e82bed3787bf4e55dcc1c9836f251b93523dd4b0ffb1c24c2dcf5d09f686fbf3cffc7d489cd7f12429f76ddf66eb431748fc07df56b18a888a7705cbc079e
+ languageName: node
+ linkType: hard
+
+"react-router-dom@npm:^5.2.0":
+ version: 5.3.4
+ resolution: "react-router-dom@npm:5.3.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.12.13"
+ history: "npm:^4.9.0"
+ loose-envify: "npm:^1.3.1"
+ prop-types: "npm:^15.6.2"
+ react-router: "npm:5.3.4"
+ tiny-invariant: "npm:^1.0.2"
+ tiny-warning: "npm:^1.0.0"
+ peerDependencies:
+ react: ">=15"
+ checksum: 10c0/f04f727e2ed2e9d1d3830af02cc61690ff67b1524c0d18690582bfba0f4d14142ccc88fb6da6befad644fddf086f5ae4c2eb7048c67da8a0b0929c19426421b0
+ languageName: node
+ linkType: hard
+
+"react-router@npm:5.3.4":
+ version: 5.3.4
+ resolution: "react-router@npm:5.3.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.12.13"
+ history: "npm:^4.9.0"
+ hoist-non-react-statics: "npm:^3.1.0"
+ loose-envify: "npm:^1.3.1"
+ path-to-regexp: "npm:^1.7.0"
+ prop-types: "npm:^15.6.2"
+ react-is: "npm:^16.6.0"
+ tiny-invariant: "npm:^1.0.2"
+ tiny-warning: "npm:^1.0.0"
+ peerDependencies:
+ react: ">=15"
+ checksum: 10c0/e15c00dfef199249b4c6e6d98e5e76cc352ce66f3270f13df37cc069ddf7c05e43281e8c308fc407e4435d72924373baef1d2890e0f6b0b1eb423cf47315a053
+ languageName: node
+ linkType: hard
+
+"react-transition-group@npm:^4.4.0, react-transition-group@npm:^4.4.5":
+ version: 4.4.5
+ resolution: "react-transition-group@npm:4.4.5"
+ dependencies:
+ "@babel/runtime": "npm:^7.5.5"
+ dom-helpers: "npm:^5.0.1"
+ loose-envify: "npm:^1.4.0"
+ prop-types: "npm:^15.6.2"
+ peerDependencies:
+ react: ">=16.6.0"
+ react-dom: ">=16.6.0"
+ checksum: 10c0/2ba754ba748faefa15f87c96dfa700d5525054a0141de8c75763aae6734af0740e77e11261a1e8f4ffc08fd9ab78510122e05c21c2d79066c38bb6861a886c82
+ languageName: node
+ linkType: hard
+
+"react@npm:^17.0.2":
+ version: 17.0.2
+ resolution: "react@npm:17.0.2"
+ dependencies:
+ loose-envify: "npm:^1.1.0"
+ object-assign: "npm:^4.1.1"
+ checksum: 10c0/07ae8959acf1596f0550685102fd6097d461a54a4fd46a50f88a0cd7daaa97fdd6415de1dcb4bfe0da6aa43221a6746ce380410fa848acc60f8ac41f6649c148
+ languageName: node
+ linkType: hard
+
+"recrawl-sync@npm:^2.0.3":
+ version: 2.2.3
+ resolution: "recrawl-sync@npm:2.2.3"
+ dependencies:
+ "@cush/relative": "npm:^1.0.0"
+ glob-regex: "npm:^0.3.0"
+ slash: "npm:^3.0.0"
+ sucrase: "npm:^3.20.3"
+ tslib: "npm:^1.9.3"
+ checksum: 10c0/3129ce44a97b2d8f2f18c4bc13d9faccd90dda7bff82c498d14c6e3720eb3249d8cb21576ca41c0a236cfe9b81e02a3e84b160256f359669450a8a628bd2df73
+ languageName: node
+ linkType: hard
+
+"reflect.getprototypeof@npm:^1.0.4":
+ version: 1.0.6
+ resolution: "reflect.getprototypeof@npm:1.0.6"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.1"
+ es-errors: "npm:^1.3.0"
+ get-intrinsic: "npm:^1.2.4"
+ globalthis: "npm:^1.0.3"
+ which-builtin-type: "npm:^1.1.3"
+ checksum: 10c0/baf4ef8ee6ff341600f4720b251cf5a6cb552d6a6ab0fdc036988c451bf16f920e5feb0d46bd4f530a5cce568f1f7aca2d77447ca798920749cfc52783c39b55
+ languageName: node
+ linkType: hard
+
+"regenerator-runtime@npm:^0.14.0":
+ version: 0.14.1
+ resolution: "regenerator-runtime@npm:0.14.1"
+ checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4
+ languageName: node
+ linkType: hard
+
+"regexp.prototype.flags@npm:^1.5.2":
+ version: 1.5.3
+ resolution: "regexp.prototype.flags@npm:1.5.3"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-errors: "npm:^1.3.0"
+ set-function-name: "npm:^2.0.2"
+ checksum: 10c0/e1a7c7dc42cc91abf73e47a269c4b3a8f225321b7f617baa25821f6a123a91d23a73b5152f21872c566e699207e1135d075d2251cd3e84cc96d82a910adf6020
+ languageName: node
+ linkType: hard
+
+"regexpp@npm:^3.0.0, regexpp@npm:^3.1.0":
+ version: 3.2.0
+ resolution: "regexpp@npm:3.2.0"
+ checksum: 10c0/d1da82385c8754a1681416b90b9cca0e21b4a2babef159099b88f640637d789c69011d0bc94705dacab85b81133e929d027d85210e8b8b03f8035164dbc14710
+ languageName: node
+ linkType: hard
+
+"require-directory@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "require-directory@npm:2.1.1"
+ checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99
+ languageName: node
+ linkType: hard
+
+"require-from-string@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "require-from-string@npm:2.0.2"
+ checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2
+ languageName: node
+ linkType: hard
+
+"resolve-from@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "resolve-from@npm:4.0.0"
+ checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190
+ languageName: node
+ linkType: hard
+
+"resolve-pathname@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "resolve-pathname@npm:3.0.0"
+ checksum: 10c0/c6ec49b670dc35b9a303c47fa83ba9348a71e92d64a4c4bb85e1b659a29b407aa1ac1cb14a9b5b502982132ca77482bd80534bca147439d66880d35a137fe723
+ languageName: node
+ linkType: hard
+
+"resolve@npm:^1.10.1, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.4":
+ version: 1.22.8
+ resolution: "resolve@npm:1.22.8"
+ dependencies:
+ is-core-module: "npm:^2.13.0"
+ path-parse: "npm:^1.0.7"
+ supports-preserve-symlinks-flag: "npm:^1.0.0"
+ bin:
+ resolve: bin/resolve
+ checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a
+ languageName: node
+ linkType: hard
+
+"resolve@npm:^2.0.0-next.5":
+ version: 2.0.0-next.5
+ resolution: "resolve@npm:2.0.0-next.5"
+ dependencies:
+ is-core-module: "npm:^2.13.0"
+ path-parse: "npm:^1.0.7"
+ supports-preserve-symlinks-flag: "npm:^1.0.0"
+ bin:
+ resolve: bin/resolve
+ checksum: 10c0/a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a
+ languageName: node
+ linkType: hard
+
+"resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin":
+ version: 1.22.8
+ resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"
+ dependencies:
+ is-core-module: "npm:^2.13.0"
+ path-parse: "npm:^1.0.7"
+ supports-preserve-symlinks-flag: "npm:^1.0.0"
+ bin:
+ resolve: bin/resolve
+ checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729
+ languageName: node
+ linkType: hard
+
+"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin":
+ version: 2.0.0-next.5
+ resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d"
+ dependencies:
+ is-core-module: "npm:^2.13.0"
+ path-parse: "npm:^1.0.7"
+ supports-preserve-symlinks-flag: "npm:^1.0.0"
+ bin:
+ resolve: bin/resolve
+ checksum: 10c0/78ad6edb8309a2bfb720c2c1898f7907a37f858866ce11a5974643af1203a6a6e05b2fa9c53d8064a673a447b83d42569260c306d43628bff5bb101969708355
+ languageName: node
+ linkType: hard
+
+"restore-cursor@npm:^5.0.0":
+ version: 5.1.0
+ resolution: "restore-cursor@npm:5.1.0"
+ dependencies:
+ onetime: "npm:^7.0.0"
+ signal-exit: "npm:^4.1.0"
+ checksum: 10c0/c2ba89131eea791d1b25205bdfdc86699767e2b88dee2a590b1a6caa51737deac8bad0260a5ded2f7c074b7db2f3a626bcf1fcf3cdf35974cbeea5e2e6764f60
+ languageName: node
+ linkType: hard
+
+"retry@npm:^0.12.0":
+ version: 0.12.0
+ resolution: "retry@npm:0.12.0"
+ checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe
+ languageName: node
+ linkType: hard
+
+"reusify@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "reusify@npm:1.0.4"
+ checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107
+ languageName: node
+ linkType: hard
+
+"rfdc@npm:^1.4.1":
+ version: 1.4.1
+ resolution: "rfdc@npm:1.4.1"
+ checksum: 10c0/4614e4292356cafade0b6031527eea9bc90f2372a22c012313be1dcc69a3b90c7338158b414539be863fa95bfcb2ddcd0587be696841af4e6679d85e62c060c7
+ languageName: node
+ linkType: hard
+
+"rimraf@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "rimraf@npm:3.0.2"
+ dependencies:
+ glob: "npm:^7.1.3"
+ bin:
+ rimraf: bin.js
+ checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8
+ languageName: node
+ linkType: hard
+
+"rollup@npm:>=2.59.0 <2.78.0":
+ version: 2.77.3
+ resolution: "rollup@npm:2.77.3"
+ dependencies:
+ fsevents: "npm:~2.3.2"
+ dependenciesMeta:
+ fsevents:
+ optional: true
+ bin:
+ rollup: dist/bin/rollup
+ checksum: 10c0/7e04ba4e8fdbc3a4a368013e4b788044c16fe94e7301aacbf38e37210983e159b97887ddd3333be9f78fedb30264f094c111ff56a0207c21d4e1745248a7aa42
+ languageName: node
+ linkType: hard
+
+"rollup@npm:^2.38.5, rollup@npm:^2.53.0":
+ version: 2.79.2
+ resolution: "rollup@npm:2.79.2"
+ dependencies:
+ fsevents: "npm:~2.3.2"
+ dependenciesMeta:
+ fsevents:
+ optional: true
+ bin:
+ rollup: dist/bin/rollup
+ checksum: 10c0/bc3746c988d903c2211266ddc539379d53d92689b9cc5c2b4e3ae161689de9af491957a567c629b6cc81f48d0928a7591fc4c383fba68a48d2966c9fb8a2bce9
+ languageName: node
+ linkType: hard
+
+"run-parallel@npm:^1.1.9":
+ version: 1.2.0
+ resolution: "run-parallel@npm:1.2.0"
+ dependencies:
+ queue-microtask: "npm:^1.2.2"
+ checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39
+ languageName: node
+ linkType: hard
+
+"safe-array-concat@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "safe-array-concat@npm:1.1.2"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ get-intrinsic: "npm:^1.2.4"
+ has-symbols: "npm:^1.0.3"
+ isarray: "npm:^2.0.5"
+ checksum: 10c0/12f9fdb01c8585e199a347eacc3bae7b5164ae805cdc8c6707199dbad5b9e30001a50a43c4ee24dc9ea32dbb7279397850e9208a7e217f4d8b1cf5d90129dec9
+ languageName: node
+ linkType: hard
+
+"safe-regex-test@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "safe-regex-test@npm:1.0.3"
+ dependencies:
+ call-bind: "npm:^1.0.6"
+ es-errors: "npm:^1.3.0"
+ is-regex: "npm:^1.1.4"
+ checksum: 10c0/900bf7c98dc58f08d8523b7012b468e4eb757afa624f198902c0643d7008ba777b0bdc35810ba0b758671ce887617295fb742b3f3968991b178ceca54cb07603
+ languageName: node
+ linkType: hard
+
+"safer-buffer@npm:>= 2.1.2 < 3.0.0":
+ version: 2.1.2
+ resolution: "safer-buffer@npm:2.1.2"
+ checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4
+ languageName: node
+ linkType: hard
+
+"scheduler@npm:^0.20.2":
+ version: 0.20.2
+ resolution: "scheduler@npm:0.20.2"
+ dependencies:
+ loose-envify: "npm:^1.1.0"
+ object-assign: "npm:^4.1.1"
+ checksum: 10c0/b0982e4b0f34f4ffa4f2f486161c0fd9ce9b88680b045dccbf250eb1aa4fd27413570645455187a83535e2370f5c667a251045547765408492bd883cbe95fcdb
+ languageName: node
+ linkType: hard
+
+"semver@npm:^6.1.0, semver@npm:^6.3.1":
+ version: 6.3.1
+ resolution: "semver@npm:6.3.1"
+ bin:
+ semver: bin/semver.js
+ checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d
+ languageName: node
+ linkType: hard
+
+"semver@npm:^7.2.1, semver@npm:^7.3.5":
+ version: 7.6.3
+ resolution: "semver@npm:7.6.3"
+ bin:
+ semver: bin/semver.js
+ checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf
+ languageName: node
+ linkType: hard
+
+"set-function-length@npm:^1.2.1":
+ version: 1.2.2
+ resolution: "set-function-length@npm:1.2.2"
+ dependencies:
+ define-data-property: "npm:^1.1.4"
+ es-errors: "npm:^1.3.0"
+ function-bind: "npm:^1.1.2"
+ get-intrinsic: "npm:^1.2.4"
+ gopd: "npm:^1.0.1"
+ has-property-descriptors: "npm:^1.0.2"
+ checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c
+ languageName: node
+ linkType: hard
+
+"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "set-function-name@npm:2.0.2"
+ dependencies:
+ define-data-property: "npm:^1.1.4"
+ es-errors: "npm:^1.3.0"
+ functions-have-names: "npm:^1.2.3"
+ has-property-descriptors: "npm:^1.0.2"
+ checksum: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316
+ languageName: node
+ linkType: hard
+
+"shebang-command@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "shebang-command@npm:2.0.0"
+ dependencies:
+ shebang-regex: "npm:^3.0.0"
+ checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e
+ languageName: node
+ linkType: hard
+
+"shebang-regex@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "shebang-regex@npm:3.0.0"
+ checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690
+ languageName: node
+ linkType: hard
+
+"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6":
+ version: 1.0.6
+ resolution: "side-channel@npm:1.0.6"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ es-errors: "npm:^1.3.0"
+ get-intrinsic: "npm:^1.2.4"
+ object-inspect: "npm:^1.13.1"
+ checksum: 10c0/d2afd163dc733cc0a39aa6f7e39bf0c436293510dbccbff446733daeaf295857dbccf94297092ec8c53e2503acac30f0b78830876f0485991d62a90e9cad305f
+ languageName: node
+ linkType: hard
+
+"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "signal-exit@npm:4.1.0"
+ checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83
+ languageName: node
+ linkType: hard
+
+"slash@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "slash@npm:3.0.0"
+ checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b
+ languageName: node
+ linkType: hard
+
+"slice-ansi@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "slice-ansi@npm:4.0.0"
+ dependencies:
+ ansi-styles: "npm:^4.0.0"
+ astral-regex: "npm:^2.0.0"
+ is-fullwidth-code-point: "npm:^3.0.0"
+ checksum: 10c0/6c25678db1270d4793e0327620f1e0f9f5bea4630123f51e9e399191bc52c87d6e6de53ed33538609e5eacbd1fab769fae00f3705d08d029f02102a540648918
+ languageName: node
+ linkType: hard
+
+"slice-ansi@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "slice-ansi@npm:5.0.0"
+ dependencies:
+ ansi-styles: "npm:^6.0.0"
+ is-fullwidth-code-point: "npm:^4.0.0"
+ checksum: 10c0/2d4d40b2a9d5cf4e8caae3f698fe24ae31a4d778701724f578e984dcb485ec8c49f0c04dab59c401821e80fcdfe89cace9c66693b0244e40ec485d72e543914f
+ languageName: node
+ linkType: hard
+
+"slice-ansi@npm:^7.1.0":
+ version: 7.1.0
+ resolution: "slice-ansi@npm:7.1.0"
+ dependencies:
+ ansi-styles: "npm:^6.2.1"
+ is-fullwidth-code-point: "npm:^5.0.0"
+ checksum: 10c0/631c971d4abf56cf880f034d43fcc44ff883624867bf11ecbd538c47343911d734a4656d7bc02362b40b89d765652a7f935595441e519b59e2ad3f4d5d6fe7ca
+ languageName: node
+ linkType: hard
+
+"smart-buffer@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "smart-buffer@npm:4.2.0"
+ checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539
+ languageName: node
+ linkType: hard
+
+"socks-proxy-agent@npm:^8.0.3":
+ version: 8.0.4
+ resolution: "socks-proxy-agent@npm:8.0.4"
+ dependencies:
+ agent-base: "npm:^7.1.1"
+ debug: "npm:^4.3.4"
+ socks: "npm:^2.8.3"
+ checksum: 10c0/345593bb21b95b0508e63e703c84da11549f0a2657d6b4e3ee3612c312cb3a907eac10e53b23ede3557c6601d63252103494caa306b66560f43af7b98f53957a
+ languageName: node
+ linkType: hard
+
+"socks@npm:^2.8.3":
+ version: 2.8.3
+ resolution: "socks@npm:2.8.3"
+ dependencies:
+ ip-address: "npm:^9.0.5"
+ smart-buffer: "npm:^4.2.0"
+ checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7
+ languageName: node
+ linkType: hard
+
+"source-map-js@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "source-map-js@npm:1.2.1"
+ checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf
+ languageName: node
+ linkType: hard
+
+"source-map@npm:^0.5.7":
+ version: 0.5.7
+ resolution: "source-map@npm:0.5.7"
+ checksum: 10c0/904e767bb9c494929be013017380cbba013637da1b28e5943b566031e29df04fba57edf3f093e0914be094648b577372bd8ad247fa98cfba9c600794cd16b599
+ languageName: node
+ linkType: hard
+
+"sprintf-js@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "sprintf-js@npm:1.1.3"
+ checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec
+ languageName: node
+ linkType: hard
+
+"sprintf-js@npm:~1.0.2":
+ version: 1.0.3
+ resolution: "sprintf-js@npm:1.0.3"
+ checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb
+ languageName: node
+ linkType: hard
+
+"ssri@npm:^10.0.0":
+ version: 10.0.6
+ resolution: "ssri@npm:10.0.6"
+ dependencies:
+ minipass: "npm:^7.0.3"
+ checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227
+ languageName: node
+ linkType: hard
+
+"statuses@npm:~1.5.0":
+ version: 1.5.0
+ resolution: "statuses@npm:1.5.0"
+ checksum: 10c0/e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940
+ languageName: node
+ linkType: hard
+
+"string-argv@npm:~0.3.2":
+ version: 0.3.2
+ resolution: "string-argv@npm:0.3.2"
+ checksum: 10c0/75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82
+ languageName: node
+ linkType: hard
+
+"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3":
+ version: 4.2.3
+ resolution: "string-width@npm:4.2.3"
+ dependencies:
+ emoji-regex: "npm:^8.0.0"
+ is-fullwidth-code-point: "npm:^3.0.0"
+ strip-ansi: "npm:^6.0.1"
+ checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b
+ languageName: node
+ linkType: hard
+
+"string-width@npm:^5.0.1, string-width@npm:^5.1.2":
+ version: 5.1.2
+ resolution: "string-width@npm:5.1.2"
+ dependencies:
+ eastasianwidth: "npm:^0.2.0"
+ emoji-regex: "npm:^9.2.2"
+ strip-ansi: "npm:^7.0.1"
+ checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca
+ languageName: node
+ linkType: hard
+
+"string-width@npm:^7.0.0":
+ version: 7.2.0
+ resolution: "string-width@npm:7.2.0"
+ dependencies:
+ emoji-regex: "npm:^10.3.0"
+ get-east-asian-width: "npm:^1.0.0"
+ strip-ansi: "npm:^7.1.0"
+ checksum: 10c0/eb0430dd43f3199c7a46dcbf7a0b34539c76fe3aa62763d0b0655acdcbdf360b3f66f3d58ca25ba0205f42ea3491fa00f09426d3b7d3040e506878fc7664c9b9
+ languageName: node
+ linkType: hard
+
+"string.prototype.matchall@npm:^4.0.11":
+ version: 4.0.11
+ resolution: "string.prototype.matchall@npm:4.0.11"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.2"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.0.0"
+ get-intrinsic: "npm:^1.2.4"
+ gopd: "npm:^1.0.1"
+ has-symbols: "npm:^1.0.3"
+ internal-slot: "npm:^1.0.7"
+ regexp.prototype.flags: "npm:^1.5.2"
+ set-function-name: "npm:^2.0.2"
+ side-channel: "npm:^1.0.6"
+ checksum: 10c0/915a2562ac9ab5e01b7be6fd8baa0b2b233a0a9aa975fcb2ec13cc26f08fb9a3e85d5abdaa533c99c6fc4c5b65b914eba3d80c4aff9792a4c9fed403f28f7d9d
+ languageName: node
+ linkType: hard
+
+"string.prototype.repeat@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "string.prototype.repeat@npm:1.0.0"
+ dependencies:
+ define-properties: "npm:^1.1.3"
+ es-abstract: "npm:^1.17.5"
+ checksum: 10c0/94c7978566cffa1327d470fd924366438af9b04b497c43a9805e476e2e908aa37a1fd34cc0911156c17556dab62159d12c7b92b3cc304c3e1281fe4c8e668f40
+ languageName: node
+ linkType: hard
+
+"string.prototype.trim@npm:^1.2.9":
+ version: 1.2.9
+ resolution: "string.prototype.trim@npm:1.2.9"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.0"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/dcef1a0fb61d255778155006b372dff8cc6c4394bc39869117e4241f41a2c52899c0d263ffc7738a1f9e61488c490b05c0427faa15151efad721e1a9fb2663c2
+ languageName: node
+ linkType: hard
+
+"string.prototype.trimend@npm:^1.0.8":
+ version: 1.0.8
+ resolution: "string.prototype.trimend@npm:1.0.8"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/0a0b54c17c070551b38e756ae271865ac6cc5f60dabf2e7e343cceae7d9b02e1a1120a824e090e79da1b041a74464e8477e2da43e2775c85392be30a6f60963c
+ languageName: node
+ linkType: hard
+
+"string.prototype.trimstart@npm:^1.0.8":
+ version: 1.0.8
+ resolution: "string.prototype.trimstart@npm:1.0.8"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366
+ languageName: node
+ linkType: hard
+
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "strip-ansi@npm:6.0.1"
+ dependencies:
+ ansi-regex: "npm:^5.0.1"
+ checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952
+ languageName: node
+ linkType: hard
+
+"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0":
+ version: 7.1.0
+ resolution: "strip-ansi@npm:7.1.0"
+ dependencies:
+ ansi-regex: "npm:^6.0.1"
+ checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4
+ languageName: node
+ linkType: hard
+
+"strip-bom@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "strip-bom@npm:3.0.0"
+ checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1
+ languageName: node
+ linkType: hard
+
+"strip-final-newline@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "strip-final-newline@npm:3.0.0"
+ checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce
+ languageName: node
+ linkType: hard
+
+"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "strip-json-comments@npm:3.1.1"
+ checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd
+ languageName: node
+ linkType: hard
+
+"stylis@npm:4.2.0":
+ version: 4.2.0
+ resolution: "stylis@npm:4.2.0"
+ checksum: 10c0/a7128ad5a8ed72652c6eba46bed4f416521bc9745a460ef5741edc725252cebf36ee45e33a8615a7057403c93df0866ab9ee955960792db210bb80abd5ac6543
+ languageName: node
+ linkType: hard
+
+"sucrase@npm:^3.20.3":
+ version: 3.35.0
+ resolution: "sucrase@npm:3.35.0"
+ dependencies:
+ "@jridgewell/gen-mapping": "npm:^0.3.2"
+ commander: "npm:^4.0.0"
+ glob: "npm:^10.3.10"
+ lines-and-columns: "npm:^1.1.6"
+ mz: "npm:^2.7.0"
+ pirates: "npm:^4.0.1"
+ ts-interface-checker: "npm:^0.1.9"
+ bin:
+ sucrase: bin/sucrase
+ sucrase-node: bin/sucrase-node
+ checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef
+ languageName: node
+ linkType: hard
+
+"supports-color@npm:^5.3.0":
+ version: 5.5.0
+ resolution: "supports-color@npm:5.5.0"
+ dependencies:
+ has-flag: "npm:^3.0.0"
+ checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05
+ languageName: node
+ linkType: hard
+
+"supports-color@npm:^7.1.0":
+ version: 7.2.0
+ resolution: "supports-color@npm:7.2.0"
+ dependencies:
+ has-flag: "npm:^4.0.0"
+ checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124
+ languageName: node
+ linkType: hard
+
+"supports-preserve-symlinks-flag@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "supports-preserve-symlinks-flag@npm:1.0.0"
+ checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39
+ languageName: node
+ linkType: hard
+
+"table@npm:^6.0.9":
+ version: 6.8.2
+ resolution: "table@npm:6.8.2"
+ dependencies:
+ ajv: "npm:^8.0.1"
+ lodash.truncate: "npm:^4.4.2"
+ slice-ansi: "npm:^4.0.0"
+ string-width: "npm:^4.2.3"
+ strip-ansi: "npm:^6.0.1"
+ checksum: 10c0/f8b348af38ee34e419d8ce7306ba00671ce6f20e861ccff22555f491ba264e8416086063ce278a8d81abfa8d23b736ec2cca7ac4029b5472f63daa4b4688b803
+ languageName: node
+ linkType: hard
+
+"tar@npm:^6.1.11, tar@npm:^6.2.1":
+ version: 6.2.1
+ resolution: "tar@npm:6.2.1"
+ dependencies:
+ chownr: "npm:^2.0.0"
+ fs-minipass: "npm:^2.0.0"
+ minipass: "npm:^5.0.0"
+ minizlib: "npm:^2.1.1"
+ mkdirp: "npm:^1.0.3"
+ yallist: "npm:^4.0.0"
+ checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537
+ languageName: node
+ linkType: hard
+
+"text-table@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "text-table@npm:0.2.0"
+ checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c
+ languageName: node
+ linkType: hard
+
+"thenify-all@npm:^1.0.0":
+ version: 1.6.0
+ resolution: "thenify-all@npm:1.6.0"
+ dependencies:
+ thenify: "npm:>= 3.1.0 < 4"
+ checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b
+ languageName: node
+ linkType: hard
+
+"thenify@npm:>= 3.1.0 < 4":
+ version: 3.3.1
+ resolution: "thenify@npm:3.3.1"
+ dependencies:
+ any-promise: "npm:^1.0.0"
+ checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767
+ languageName: node
+ linkType: hard
+
+"tiny-invariant@npm:^1.0.2":
+ version: 1.3.3
+ resolution: "tiny-invariant@npm:1.3.3"
+ checksum: 10c0/65af4a07324b591a059b35269cd696aba21bef2107f29b9f5894d83cc143159a204b299553435b03874ebb5b94d019afa8b8eff241c8a4cfee95872c2e1c1c4a
+ languageName: node
+ linkType: hard
+
+"tiny-warning@npm:^1.0.0, tiny-warning@npm:^1.0.2":
+ version: 1.0.3
+ resolution: "tiny-warning@npm:1.0.3"
+ checksum: 10c0/ef8531f581b30342f29670cb41ca248001c6fd7975ce22122bd59b8d62b4fc84ad4207ee7faa95cde982fa3357cd8f4be650142abc22805538c3b1392d7084fa
+ languageName: node
+ linkType: hard
+
+"to-fast-properties@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "to-fast-properties@npm:2.0.0"
+ checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7
+ languageName: node
+ linkType: hard
+
+"to-regex-range@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "to-regex-range@npm:5.0.1"
+ dependencies:
+ is-number: "npm:^7.0.0"
+ checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892
+ languageName: node
+ linkType: hard
+
+"ts-interface-checker@npm:^0.1.9":
+ version: 0.1.13
+ resolution: "ts-interface-checker@npm:0.1.13"
+ checksum: 10c0/232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7
+ languageName: node
+ linkType: hard
+
+"tsconfig-paths@npm:^3.15.0":
+ version: 3.15.0
+ resolution: "tsconfig-paths@npm:3.15.0"
+ dependencies:
+ "@types/json5": "npm:^0.0.29"
+ json5: "npm:^1.0.2"
+ minimist: "npm:^1.2.6"
+ strip-bom: "npm:^3.0.0"
+ checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5
+ languageName: node
+ linkType: hard
+
+"tsconfig-paths@npm:^4.0.0":
+ version: 4.2.0
+ resolution: "tsconfig-paths@npm:4.2.0"
+ dependencies:
+ json5: "npm:^2.2.2"
+ minimist: "npm:^1.2.6"
+ strip-bom: "npm:^3.0.0"
+ checksum: 10c0/09a5877402d082bb1134930c10249edeebc0211f36150c35e1c542e5b91f1047b1ccf7da1e59babca1ef1f014c525510f4f870de7c9bda470c73bb4e2721b3ea
+ languageName: node
+ linkType: hard
+
+"tslib@npm:^1.8.1, tslib@npm:^1.9.3":
+ version: 1.14.1
+ resolution: "tslib@npm:1.14.1"
+ checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2
+ languageName: node
+ linkType: hard
+
+"tsutils@npm:^3.21.0":
+ version: 3.21.0
+ resolution: "tsutils@npm:3.21.0"
+ dependencies:
+ tslib: "npm:^1.8.1"
+ peerDependencies:
+ typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ checksum: 10c0/02f19e458ec78ead8fffbf711f834ad8ecd2cc6ade4ec0320790713dccc0a412b99e7fd907c4cda2a1dc602c75db6f12e0108e87a5afad4b2f9e90a24cabd5a2
+ languageName: node
+ linkType: hard
+
+"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
+ version: 0.4.0
+ resolution: "type-check@npm:0.4.0"
+ dependencies:
+ prelude-ls: "npm:^1.2.1"
+ checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58
+ languageName: node
+ linkType: hard
+
+"type-fest@npm:^0.20.2":
+ version: 0.20.2
+ resolution: "type-fest@npm:0.20.2"
+ checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3
+ languageName: node
+ linkType: hard
+
+"typed-array-buffer@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "typed-array-buffer@npm:1.0.2"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ es-errors: "npm:^1.3.0"
+ is-typed-array: "npm:^1.1.13"
+ checksum: 10c0/9e043eb38e1b4df4ddf9dde1aa64919ae8bb909571c1cc4490ba777d55d23a0c74c7d73afcdd29ec98616d91bb3ae0f705fad4421ea147e1daf9528200b562da
+ languageName: node
+ linkType: hard
+
+"typed-array-byte-length@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "typed-array-byte-length@npm:1.0.1"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ for-each: "npm:^0.3.3"
+ gopd: "npm:^1.0.1"
+ has-proto: "npm:^1.0.3"
+ is-typed-array: "npm:^1.1.13"
+ checksum: 10c0/fcebeffb2436c9f355e91bd19e2368273b88c11d1acc0948a2a306792f1ab672bce4cfe524ab9f51a0505c9d7cd1c98eff4235c4f6bfef6a198f6cfc4ff3d4f3
+ languageName: node
+ linkType: hard
+
+"typed-array-byte-offset@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "typed-array-byte-offset@npm:1.0.2"
+ dependencies:
+ available-typed-arrays: "npm:^1.0.7"
+ call-bind: "npm:^1.0.7"
+ for-each: "npm:^0.3.3"
+ gopd: "npm:^1.0.1"
+ has-proto: "npm:^1.0.3"
+ is-typed-array: "npm:^1.1.13"
+ checksum: 10c0/d2628bc739732072e39269389a758025f75339de2ed40c4f91357023c5512d237f255b633e3106c461ced41907c1bf9a533c7e8578066b0163690ca8bc61b22f
+ languageName: node
+ linkType: hard
+
+"typed-array-length@npm:^1.0.6":
+ version: 1.0.6
+ resolution: "typed-array-length@npm:1.0.6"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ for-each: "npm:^0.3.3"
+ gopd: "npm:^1.0.1"
+ has-proto: "npm:^1.0.3"
+ is-typed-array: "npm:^1.1.13"
+ possible-typed-array-names: "npm:^1.0.0"
+ checksum: 10c0/74253d7dc488eb28b6b2711cf31f5a9dcefc9c41b0681fd1c178ed0a1681b4468581a3626d39cd4df7aee3d3927ab62be06aa9ca74e5baf81827f61641445b77
+ languageName: node
+ linkType: hard
+
+"typescript@npm:4.3.5":
+ version: 4.3.5
+ resolution: "typescript@npm:4.3.5"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: 10c0/7699b1635e34008eb4167ede70d475e4eaece150622e9a143de6c58b160df3c52bae00beb1cd3a836a35cb32defc4d1dc56bdfb11f7ddbebaa003e405f97ad3a
+ languageName: node
+ linkType: hard
+
+"typescript@patch:typescript@npm%3A4.3.5#optional!builtin":
+ version: 4.3.5
+ resolution: "typescript@patch:typescript@npm%3A4.3.5#optional!builtin::version=4.3.5&hash=dba6d9"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: 10c0/8991b4a568bd5a9dab8fa470b5e51368f588e46aebde3a773d9c993ef83e8a1ec0832deae4496d2c788a23c400471117d60b8f9607578ae79779cb3f379308ae
+ languageName: node
+ linkType: hard
+
+"unbox-primitive@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "unbox-primitive@npm:1.0.2"
+ dependencies:
+ call-bind: "npm:^1.0.2"
+ has-bigints: "npm:^1.0.2"
+ has-symbols: "npm:^1.0.3"
+ which-boxed-primitive: "npm:^1.0.2"
+ checksum: 10c0/81ca2e81134167cc8f75fa79fbcc8a94379d6c61de67090986a2273850989dd3bae8440c163121b77434b68263e34787a675cbdcb34bb2f764c6b9c843a11b66
+ languageName: node
+ linkType: hard
+
+"unique-filename@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "unique-filename@npm:3.0.0"
+ dependencies:
+ unique-slug: "npm:^4.0.0"
+ checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f
+ languageName: node
+ linkType: hard
+
+"unique-slug@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "unique-slug@npm:4.0.0"
+ dependencies:
+ imurmurhash: "npm:^0.1.4"
+ checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635
+ languageName: node
+ linkType: hard
+
+"universalify@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "universalify@npm:2.0.1"
+ checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a
+ languageName: node
+ linkType: hard
+
+"unpipe@npm:~1.0.0":
+ version: 1.0.0
+ resolution: "unpipe@npm:1.0.0"
+ checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c
+ languageName: node
+ linkType: hard
+
+"update-browserslist-db@npm:^1.1.0":
+ version: 1.1.1
+ resolution: "update-browserslist-db@npm:1.1.1"
+ dependencies:
+ escalade: "npm:^3.2.0"
+ picocolors: "npm:^1.1.0"
+ peerDependencies:
+ browserslist: ">= 4.21.0"
+ bin:
+ update-browserslist-db: cli.js
+ checksum: 10c0/536a2979adda2b4be81b07e311bd2f3ad5e978690987956bc5f514130ad50cac87cd22c710b686d79731e00fbee8ef43efe5fcd72baa241045209195d43dcc80
+ languageName: node
+ linkType: hard
+
+"uri-js@npm:^4.2.2":
+ version: 4.4.1
+ resolution: "uri-js@npm:4.4.1"
+ dependencies:
+ punycode: "npm:^2.1.0"
+ checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c
+ languageName: node
+ linkType: hard
+
+"utils-merge@npm:1.0.1":
+ version: 1.0.1
+ resolution: "utils-merge@npm:1.0.1"
+ checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672
+ languageName: node
+ linkType: hard
+
+"uuid@npm:^8.3.2":
+ version: 8.3.2
+ resolution: "uuid@npm:8.3.2"
+ bin:
+ uuid: dist/bin/uuid
+ checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54
+ languageName: node
+ linkType: hard
+
+"v8-compile-cache@npm:^2.0.3":
+ version: 2.4.0
+ resolution: "v8-compile-cache@npm:2.4.0"
+ checksum: 10c0/387851192545e7f4d691ba674de90890bba76c0f08ee4909ab862377f556221e75b3a361466490e201203401d64d7795f889882bdabc98b6f3c0bf1038a535be
+ languageName: node
+ linkType: hard
+
+"value-equal@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "value-equal@npm:1.0.1"
+ checksum: 10c0/79068098355483ef29f4d3753999ad880875b87625d7e9055cad9346ea4b7662aad3a66f87976801b0dd7a6f828ba973d28b1669ebcd37eaf88cc5f687c1a691
+ languageName: node
+ linkType: hard
+
+"vite-tsconfig-paths@npm:^3.3.13":
+ version: 3.6.0
+ resolution: "vite-tsconfig-paths@npm:3.6.0"
+ dependencies:
+ debug: "npm:^4.1.1"
+ globrex: "npm:^0.1.2"
+ recrawl-sync: "npm:^2.0.3"
+ tsconfig-paths: "npm:^4.0.0"
+ peerDependencies:
+ vite: ">2.0.0-0"
+ checksum: 10c0/96dffa52020f09331df6acd66cd67c95eafcd2f24dfdac4e518b6be7e5dba0408d23a543faa7bece3e1c740803c583802db9bcf74a2fde4b563c449e8f9ad67f
+ languageName: node
+ linkType: hard
+
+"vite@npm:2.4.1":
+ version: 2.4.1
+ resolution: "vite@npm:2.4.1"
+ dependencies:
+ esbuild: "npm:^0.12.8"
+ fsevents: "npm:~2.3.2"
+ postcss: "npm:^8.3.5"
+ resolve: "npm:^1.20.0"
+ rollup: "npm:^2.38.5"
+ dependenciesMeta:
+ fsevents:
+ optional: true
+ bin:
+ vite: bin/vite.js
+ checksum: 10c0/954a38cf2d3fa7a1fdc66f239aa5a09e285f087c11f82469e881291c2eca847069cf5aa00cacbcab57f19cae9a84d74970d588c6d6826f9a33b551a587d63b1f
+ languageName: node
+ linkType: hard
+
+"vite@npm:^2.4.1":
+ version: 2.9.18
+ resolution: "vite@npm:2.9.18"
+ dependencies:
+ esbuild: "npm:^0.14.27"
+ fsevents: "npm:~2.3.2"
+ postcss: "npm:^8.4.13"
+ resolve: "npm:^1.22.0"
+ rollup: "npm:>=2.59.0 <2.78.0"
+ peerDependencies:
+ less: "*"
+ sass: "*"
+ stylus: "*"
+ dependenciesMeta:
+ fsevents:
+ optional: true
+ peerDependenciesMeta:
+ less:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ bin:
+ vite: bin/vite.js
+ checksum: 10c0/2325b272e473981d7c589f4b28485a60d641bad2a42bae387002ea92c6f8d9664f76b2d35aaf52c81feac5c642399db62598668f40db4198fce138a5df9a3e06
+ languageName: node
+ linkType: hard
+
+"which-boxed-primitive@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "which-boxed-primitive@npm:1.0.2"
+ dependencies:
+ is-bigint: "npm:^1.0.1"
+ is-boolean-object: "npm:^1.1.0"
+ is-number-object: "npm:^1.0.4"
+ is-string: "npm:^1.0.5"
+ is-symbol: "npm:^1.0.3"
+ checksum: 10c0/0a62a03c00c91dd4fb1035b2f0733c341d805753b027eebd3a304b9cb70e8ce33e25317add2fe9b5fea6f53a175c0633ae701ff812e604410ddd049777cd435e
+ languageName: node
+ linkType: hard
+
+"which-builtin-type@npm:^1.1.3":
+ version: 1.1.4
+ resolution: "which-builtin-type@npm:1.1.4"
+ dependencies:
+ function.prototype.name: "npm:^1.1.6"
+ has-tostringtag: "npm:^1.0.2"
+ is-async-function: "npm:^2.0.0"
+ is-date-object: "npm:^1.0.5"
+ is-finalizationregistry: "npm:^1.0.2"
+ is-generator-function: "npm:^1.0.10"
+ is-regex: "npm:^1.1.4"
+ is-weakref: "npm:^1.0.2"
+ isarray: "npm:^2.0.5"
+ which-boxed-primitive: "npm:^1.0.2"
+ which-collection: "npm:^1.0.2"
+ which-typed-array: "npm:^1.1.15"
+ checksum: 10c0/a4a76d20d869a81b1dbb4adea31edc7e6c1a4466d3ab7c2cd757c9219d48d3723b04076c85583257b0f0f8e3ebe5af337248b8ceed57b9051cb97bce5bd881d1
+ languageName: node
+ linkType: hard
+
+"which-collection@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "which-collection@npm:1.0.2"
+ dependencies:
+ is-map: "npm:^2.0.3"
+ is-set: "npm:^2.0.3"
+ is-weakmap: "npm:^2.0.2"
+ is-weakset: "npm:^2.0.3"
+ checksum: 10c0/3345fde20964525a04cdf7c4a96821f85f0cc198f1b2ecb4576e08096746d129eb133571998fe121c77782ac8f21cbd67745a3d35ce100d26d4e684c142ea1f2
+ languageName: node
+ linkType: hard
+
+"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15":
+ version: 1.1.15
+ resolution: "which-typed-array@npm:1.1.15"
+ dependencies:
+ available-typed-arrays: "npm:^1.0.7"
+ call-bind: "npm:^1.0.7"
+ for-each: "npm:^0.3.3"
+ gopd: "npm:^1.0.1"
+ has-tostringtag: "npm:^1.0.2"
+ checksum: 10c0/4465d5348c044032032251be54d8988270e69c6b7154f8fcb2a47ff706fe36f7624b3a24246b8d9089435a8f4ec48c1c1025c5d6b499456b9e5eff4f48212983
+ languageName: node
+ linkType: hard
+
+"which@npm:^2.0.1":
+ version: 2.0.2
+ resolution: "which@npm:2.0.2"
+ dependencies:
+ isexe: "npm:^2.0.0"
+ bin:
+ node-which: ./bin/node-which
+ checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f
+ languageName: node
+ linkType: hard
+
+"which@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "which@npm:4.0.0"
+ dependencies:
+ isexe: "npm:^3.1.1"
+ bin:
+ node-which: bin/which.js
+ checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a
+ languageName: node
+ linkType: hard
+
+"word-wrap@npm:^1.2.5":
+ version: 1.2.5
+ resolution: "word-wrap@npm:1.2.5"
+ checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20
+ languageName: node
+ linkType: hard
+
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "wrap-ansi@npm:7.0.0"
+ dependencies:
+ ansi-styles: "npm:^4.0.0"
+ string-width: "npm:^4.1.0"
+ strip-ansi: "npm:^6.0.0"
+ checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da
+ languageName: node
+ linkType: hard
+
+"wrap-ansi@npm:^8.1.0":
+ version: 8.1.0
+ resolution: "wrap-ansi@npm:8.1.0"
+ dependencies:
+ ansi-styles: "npm:^6.1.0"
+ string-width: "npm:^5.0.1"
+ strip-ansi: "npm:^7.0.1"
+ checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60
+ languageName: node
+ linkType: hard
+
+"wrap-ansi@npm:^9.0.0":
+ version: 9.0.0
+ resolution: "wrap-ansi@npm:9.0.0"
+ dependencies:
+ ansi-styles: "npm:^6.2.1"
+ string-width: "npm:^7.0.0"
+ strip-ansi: "npm:^7.1.0"
+ checksum: 10c0/a139b818da9573677548dd463bd626a5a5286271211eb6e4e82f34a4f643191d74e6d4a9bb0a3c26ec90e6f904f679e0569674ac099ea12378a8b98e20706066
+ languageName: node
+ linkType: hard
+
+"wrappy@npm:1":
+ version: 1.0.2
+ resolution: "wrappy@npm:1.0.2"
+ checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0
+ languageName: node
+ linkType: hard
+
+"y18n@npm:^5.0.5":
+ version: 5.0.8
+ resolution: "y18n@npm:5.0.8"
+ checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249
+ languageName: node
+ linkType: hard
+
+"yallist@npm:^3.0.2":
+ version: 3.1.1
+ resolution: "yallist@npm:3.1.1"
+ checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1
+ languageName: node
+ linkType: hard
+
+"yallist@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "yallist@npm:4.0.0"
+ checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a
+ languageName: node
+ linkType: hard
+
+"yaml@npm:^1.10.0":
+ version: 1.10.2
+ resolution: "yaml@npm:1.10.2"
+ checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f
+ languageName: node
+ linkType: hard
+
+"yaml@npm:~2.5.0":
+ version: 2.5.1
+ resolution: "yaml@npm:2.5.1"
+ bin:
+ yaml: bin.mjs
+ checksum: 10c0/40fba5682898dbeeb3319e358a968fe886509fab6f58725732a15f8dda3abac509f91e76817c708c9959a15f786f38ff863c1b88062d7c1162c5334a7d09cb4a
+ languageName: node
+ linkType: hard
+
+"yargs-parser@npm:^21.1.1":
+ version: 21.1.1
+ resolution: "yargs-parser@npm:21.1.1"
+ checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2
+ languageName: node
+ linkType: hard
+
+"yargs@npm:^17.0.1":
+ version: 17.7.2
+ resolution: "yargs@npm:17.7.2"
+ dependencies:
+ cliui: "npm:^8.0.1"
+ escalade: "npm:^3.1.1"
+ get-caller-file: "npm:^2.0.5"
+ require-directory: "npm:^2.1.1"
+ string-width: "npm:^4.2.3"
+ y18n: "npm:^5.0.5"
+ yargs-parser: "npm:^21.1.1"
+ checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05
+ languageName: node
+ linkType: hard
diff --git a/experiences/asteroids/thumb.jpg b/experiences/asteroids/thumb.jpg
new file mode 100644
index 0000000..3c61997
Binary files /dev/null and b/experiences/asteroids/thumb.jpg differ
diff --git a/experiences/asteroids/web/all-info.js b/experiences/asteroids/web/all-info.js
new file mode 100644
index 0000000..8177c27
--- /dev/null
+++ b/experiences/asteroids/web/all-info.js
@@ -0,0 +1,7263 @@
+const allInfo = {
+ sun: {
+ title: "Sun",
+ description: {
+ blurb: [
+ "The Sun—the heart of our solar system—is a yellow dwarf star, a hot ball of glowing gases.",
+ ],
+ more: [
+ "Its gravity holds the solar system together, keeping everything from the biggest planets to the smallest particles of debris in its orbit. Electric currents in the Sun generate a magnetic field that is carried out through the solar system by the solar wind—a stream of electrically charged gas blowing outward from the Sun in all directions.",
+ "The connection and interactions between the Sun and Earth drive the seasons, ocean currents, weather, climate, radiation belts and aurorae. Though it is special to us, there are billions of stars like our Sun scattered across the Milky Way galaxy. The Sun, and everything that orbits it, is located in the Milky Way galaxy. More specifically, our Sun is in a spiral arm called the Orion Spur that extends outward from the Sagittarius arm. From there, the Sun orbits the center of the Milky Way Galaxy, bringing the planets, asteroids, comets and other objects along with it. Our solar system is moving with an average velocity of 450,000 miles per hour (720,000 kilometers per hour). But even at this speed, it takes us about 230 million years to make one complete orbit around the Milky Way.",
+ "The Sun rotates as it orbits the center of the Milky Way. Its spin has an axial tilt of 7.25 degrees with respect to the plane of the planets’ orbits. Since the Sun is not a solid body, different parts of the Sun rotate at different rates. At the equator, the Sun spins around once about every 25 days, but at its poles the Sun rotates once on its axis every 36 Earth days.",
+ ],
+ },
+ related: [
+ "sc_ulysses",
+ "sc_parker_solar_probe",
+ "sc_soho",
+ "sc_stereo_ahead",
+ "sc_stereo_behind",
+ "sc_sdo",
+ "sc_acrimsat",
+ ],
+ },
+ mercury: {
+ title: "Mercury",
+ description: {
+ blurb: [
+ "The smallest planet in our solar system and nearest to the Sun, Mercury is only slightly larger than Earth's Moon.",
+ ],
+ more: [
+ "Mercury's surface temperatures are both extremely hot and cold. Because the planet is so close to the Sun, day temperatures can reach highs of 800°F (430°C). Without an atmosphere to retain that heat at night, temperatures can dip as low as -290°F (-180°C). From the surface of Mercury, the Sun would appear more than three times as large as it does when viewed from Earth, and the sunlight would be as much as seven times brighter. Despite its proximity to the Sun, Mercury is not the hottest planet in our solar system – that title belongs to nearby Venus, thanks to its dense atmosphere. But Mercury is the fastest planet, zipping around the Sun every 88 Earth days. Mercury's surface resembles that of Earth's moon, scarred by many impact craters resulting from collisions with meteoroids and comets. The first spacecraft to visit Mercury was Mariner 10, which imaged about 45 percent of the surface. NASA's MErcury Surface, Space ENvironment, GEochemistry, and Ranging (MESSENGER) mission flew by Mercury three times in 2008-2009 and orbited the planet from 2011 to 2015, mapping the entire surface.",
+ ],
+ },
+ related: ["sc_messenger"],
+ data: {
+ distance: 57909227,
+ radius: 2439.7,
+ volume: 60827208742,
+ density: 5.427,
+ mass: 3.30104e23,
+ area: 74797000,
+ gravity: 3.7,
+ eccentricity: 0.20563593,
+ inclination: 0,
+ velocity: 15300,
+ circumference: 15329.1,
+ },
+ },
+ venus: {
+ title: "Venus",
+ description: {
+ blurb: [
+ "Similar in size and structure to Earth, Venus has been called Earth's twin. These are not identical twins, however – there are radical differences between the two worlds.",
+ ],
+ more: [
+ "Venus and Earth are similar in size, mass, density, composition, and gravity. There, however, the similarities end. Venus has a thick, toxic atmosphere filled with carbon dioxide and it’s perpetually shrouded in thick, yellowish clouds of mostly sulfuric acid that trap heat, causing a runaway greenhouse effect. It’s the hottest planet in our solar system, even though Mercury is closer to the Sun. Venus has crushing air pressure at its surface – more than 90 times that of Earth – similar to the pressure you'd encounter a mile below the ocean on Earth. Venus was the first planet to be explored by a spacecraft – NASA’s Mariner 2 successfully flew by and scanned the cloud-covered world on Dec. 14, 1962. Since then, numerous spacecraft from the U.S. and other space agencies have explored Venus, including NASA’s Magellan, which mapped the planet's surface with radar. The former Soviet Union is the only nation to land on the surface of Venus to date, though the spacecraft did not survive long in the harsh environment.",
+ ],
+ },
+ related: ["sc_magellan", "sc_galileo", "sc_cassini", "sc_messenger"],
+ },
+ earth: {
+ title: "Earth",
+ description: {
+ blurb: [
+ "Earth—our home planet—is the only place we know of so far that’s inhabited by living things. It's also the only planet in our solar system with liquid water on the surface.",
+ ],
+ more: [
+ "Earth is only the fifth largest planet in the solar system, just slightly larger than nearby Venus. Earth is the biggest of the four planets closest to the Sun, all of which are made of rock and metal. NASA has the most missions of all operating on our home planet. NASA’s Earth Observing System (EOS) is a coordinated series of polar-orbiting and low inclination satellites for long-term global observations of the land surface, biosphere, solid Earth, atmosphere, and oceans.",
+ ],
+ },
+ related: ["sc_iss", "sc_eo_1", "sc_acrimsat", "moon"],
+ },
+ mars: {
+ title: "Mars",
+ description: {
+ blurb: [
+ "The fourth planet from the Sun, Mars is a dusty, cold, desert world with a very thin atmosphere.",
+ ],
+ more: [
+ "Mars was named by the ancient Romans for their god of war because its reddish color was reminiscent of blood. The Red Planet is actually many colors. At the surface we see colors such as brown, gold and tan. The reason Mars looks reddish is due to oxidization—or rusting—of iron in the rocks, regolith (Martian “soil”), and dust of Mars. This dust gets kicked up into the atmosphere and from a distance makes the planet appear mostly red. Mars is home to the largest volcano in the solar system, Olympus Mons. It's three times taller than Earth's Mt. Everest with a base the size of the state of New Mexico.",
+ "Mars appears to have had a watery past, with ancient river valley networks, deltas and lakebeds, as well as rocks and minerals on the surface that could only have formed in liquid water. Some features suggest that Mars experienced huge floods about 3.5 billion years ago. There is water on Mars today, but the Martian atmosphere is too thin for liquid water to exist for long on the surface. Today, water on Mars is found in the form of water-ice just under the surface in the polar regions as well as in briny (salty) water, which seasonally flows down some hillsides and crater walls.",
+ "No planet beyond Earth has been studied as intensely as Mars. Today, a science fleet of robotic spacecraft study Mars from all angles.",
+ ],
+ },
+ data: {
+ distance: 227943824,
+ radius: 3389.5,
+ volume: 163115609799,
+ density: 3.934,
+ mass: 6.41693e23,
+ area: 144371391,
+ gravity: 3.71,
+ eccentricity: 0.0933941,
+ inclination: 25.2,
+ velocity: 18108,
+ circumference: 21296.9,
+ },
+ related: ["sc_mars_global_surveyor"],
+ },
+ jupiter: {
+ title: "Jupiter",
+ description: {
+ blurb: [
+ "Jupiter is the fifth planet from our Sun and is, by far, the largest planet in the solar system – more than twice as massive as all the other planets combined.",
+ ],
+ more: [
+ "Jupiter's stripes and swirls are actually cold, windy clouds of ammonia and water, floating in an atmosphere of hydrogen and helium. Jupiter’s iconic Great Red Spot is a giant storm bigger than Earth that has raged for hundreds of years. Jupiter is surrounded by dozens of moons. Jupiter also has several rings, but unlike the famous rings of Saturn, Jupiter’s rings are very faint and made of dust, not ice. Jupiter has the shortest day in the solar system. One day on Jupiter takes only about 10 hours (the time it takes for Jupiter to rotate or spin around once), and Jupiter makes a complete orbit around the Sun (a year in Jovian time) in about 12 Earth years (4,333 Earth days). Its equator is tilted with respect to its orbital path around the Sun by just 3 degrees. This means Jupiter spins nearly upright and does not have seasons as extreme as other planets do. Jupiter took shape when the rest of the solar system formed about 4.5 billion years ago, when gravity pulled swirling gas and dust in to become this gas giant. Jupiter took most of the mass left over after the formation of the Sun, ending up with more than twice the combined material of the other bodies in the solar system. In fact, Jupiter has the same ingredients as a star, but it did not grow massive enough to ignite.",
+ ],
+ },
+ related: [
+ "sc_juno",
+ "sc_cassini",
+ "sc_voyager_1",
+ "sc_voyager_2",
+ "sc_galileo",
+ "sc_pioneer_10",
+ "sc_ulysses",
+ "sc_new_horizons",
+ ],
+ },
+ saturn: {
+ title: "Saturn",
+ description: {
+ blurb: [
+ "Saturn is the sixth planet from the Sun and the second largest planet in our solar system. Adorned with thousands of beautiful ringlets, Saturn is unique among the planets. It is not the only planet to have rings—made of chunks of ice and rock—but none are as spectacular or as complicated as Saturn's. Like fellow gas giant Jupiter, Saturn is a massive ball made mostly of hydrogen and helium.",
+ ],
+ more: [
+ "Surrounded by more than 140 known moons, Saturn is home to some of the most fascinating landscapes in our solar system. From the jets of water that spray from Enceladus to the methane lakes on smoggy Titan, the Saturn system is a rich source of scientific discovery and still holds many mysteries.The farthest planet from Earth discovered by the unaided human eye, Saturn has been known since ancient times. The planet is named for the Roman god of agriculture and wealth, who was also the father of Jupiter. Saturn's rings are thought to be pieces of comets, asteroids or shattered moons that broke up before they reached the planet, torn apart by Saturn's powerful gravity. They are made of billions of small chunksof ice and rock coated with another material such as dust. The ring particles mostly range from tiny, dust-sized icy grains to chunks as big as a house. A few particles are as large as mountains. The rings would look mostly white if you looked at them from the cloud tops of Saturn, and interestingly, each ring orbits at a different speed around the planet.",
+ ],
+ },
+ related: ["sc_cassini", "sc_voyager_1", "sc_voyager_2", "sc_pioneer_11"],
+ },
+ neptune: {
+ title: "Neptune",
+ description: {
+ blurb: [
+ "Dark, cold and whipped by supersonic winds, ice giant Neptune is the eighth and most distant planet in our solar system.",
+ ],
+ more: [
+ "More than 30 times as far from the Sun as Earth, Neptune is the only planet in our solar system not visible to the naked eye. In 2011 Neptune completed its first 165-year orbit since its discovery in 1846.",
+ 'Neptune is so far from the Sun that high noon on the big blue planet would seem like dim twilight to us. The warm light we see here on our home planet is roughly 900 times as bright as sunlight on Neptune. Neptune is one of two ice giants in the outer solar system (the other is Uranus). Most (80 percent or more) of the planet\'s mass is made up of a hot dense fluid of "icy" materials — water, methane and ammonia — above a small, rocky core. Of the giant planets, Neptune is the densest.',
+ "Scientists think there might be an ocean of super hot water under Neptune's cold clouds. It does not boil away because incredibly high pressure keeps it locked inside. Neptune's atmosphere is made up mostly of hydrogen and helium with just a little bit of methane. Neptune's neighbor Uranus is a blue-green color due to such atmospheric methane, but Neptune is a more vivid, brighter blue, so there must be an unknown component that causes the more intense color.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ uranus: {
+ title: "Uranus",
+ description: {
+ blurb: [
+ "The seventh planet from the Sun with the third largest diameter in our solar system, Uranus is very cold and windy.",
+ ],
+ more: [
+ "The ice giant is surrounded by 13 faint rings and 27 small moons as it rotates at a nearly 90-degree angle from the plane of its orbit. This unique tilt makes Uranus appear to spin on its side, orbiting the Sun like a rolling ball. Uranus is the only planet whose equator is nearly at a right angle to its orbit, with a tilt of 97.77 degrees—possibly the result of a collision with an Earth-sized object long ago. This unique tilt causes the most extreme seasons in the solar system. For nearly a quarter of each Uranian year, the Sun shines directly over each pole, plunging the other half of the planet into a 21-year-long, dark winter.",
+ "Uranus is also one of just two planets that rotate in the opposite direction than most of the planets (Venus is the other one), from east to west.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ "134340_pluto": {
+ title: "Pluto",
+ description: {
+ blurb: [
+ "Pluto – which is smaller than Earth’s Moon – has a heart-shaped glacier that’s the size of Texas and Oklahoma. This fascinating dwarf planet has blue skies, spinning moons, mountains as high as the Rockies, and it snows – but the snow is red.",
+ ],
+ more: [
+ "Pluto is a complex and mysterious world with mountains, valleys, plains, craters, and maybe glaciers. Discovered in 1930, Pluto was long considered our solar system's ninth planet. But after the discovery of similar intriguing worlds deeper in the distant Kuiper Belt, icy Pluto was reclassified as a dwarf planet.",
+ ' Pluto is orbited by five known moons, the largest of which is Charon. Charon is about half the size of Pluto itself, making it the largest satellite relative to the planet it orbits in our solar system. Pluto and Charon are often referred to as a "double planet". On July 14, 2015, NASA’s New Horizons spacecraft made its historic flight through the Pluto system – providing the first close-up images of Pluto and its moons and collecting other data that has transformed our understanding of these mysterious worlds on the solar system’s outer frontier.',
+ "In the years since that groundbreaking flyby, nearly every conjecture about Pluto possibly being an inert ball of ice has been thrown out the window or flipped on its head.",
+ ],
+ },
+ related: ["sc_new_horizons"],
+ },
+ earth_system: {
+ title: "Earth System",
+ description: {
+ blurb: [
+ "Earth is orbited by one moon known simply as 'The Moon' or less commonly 'Luna'. The moon completes its orbit around the earth every 27.5 days.",
+ ],
+ },
+ data: {
+ "Number of moons": 1,
+ },
+ related: ["earth", "moon"],
+ },
+ mars_system: {
+ title: "Mars System",
+ description: {
+ blurb: [
+ "Mars is orbited by two small moons Phobos and Deimos named for the Greek gods of fear and terror respectively.",
+ ],
+ },
+ data: {
+ "Number of moons": 2,
+ },
+ related: ["mars", "phobos", "deimos"],
+ },
+ jupiter_system: {
+ title: "Jupiter System",
+ description: {
+ blurb: [
+ "Jupiter is orbited by many moons. 95 are currently known, but more likely exist.",
+ ],
+ more: [
+ "Many of these moons are small, less than 10km across, but several are among the largest and most interesting in the Solar System.",
+ "Jupiter's Gallilean moons (Io, Europa, Ganymede) are also notable for their orbits forming a resonance pattern. For every single orbit of Ganymede, Europa will orbit twice and Io will orbit four times.",
+ ],
+ },
+ data: {
+ "Number of moons": "95+",
+ },
+ related: ["jupiter", "callisto", "europa", "ganymede", "io"],
+ },
+ saturn_system: {
+ title: "Saturn System",
+ description: {
+ blurb: [
+ "Saturn, in addition to its thousands of rings, has the most moons in the solar system by far; over 140 have been found so far.",
+ ],
+ more: [
+ "Saturn's largest moon Titan has the densest atmosphere of any moon. Consisting of nitrogen and methane Titan's atmosphere is even thicker than Earth's."
+ ]
+ },
+ data: {
+ "Number of moons": "140+",
+ },
+ related: [
+ "saturn",
+ "dione",
+ "enceladus",
+ "iapetus",
+ "mimas",
+ "rhea",
+ "tethys",
+ "titan",
+ ],
+ },
+ uranus_system: {
+ title: "Uranus System",
+ description: {
+ blurb: [
+ "While most moons in the Solar System are named for characters from ancient mythology, Uranus's moons are named after characters written by Shakespeare and Alexander Pope.",
+ ],
+ },
+ data: {
+ "Number of moons": 24,
+ },
+ related: ["uranus", "miranda", "oberon", "titania", "umbriel"],
+ },
+ neptune_system: {
+ title: "Neptune System",
+ description: {
+ blurb: [
+ "Neptune has several moons, but the largest by far is Triton. Triton is roughly half the diameter of earths moon, but over 500 times more massive than Neptunes next largest moon, Proteus",
+ ],
+ },
+ data: {
+ "Number of moons": 16,
+ },
+ related: ["neptune", "triton"],
+ },
+ "134340_pluto_barycenter": {
+ title: "Pluto system",
+ description: {
+ blurb: [
+ "The Pluto system's barycenter, or the center of mass of two or more bodies that orbit one another, is not inside Pluto. It is between Pluto and Charon.",
+ ],
+ more: [""],
+ },
+ related: [
+ "pluto",
+ "charon",
+ "hydra",
+ "kerberos",
+ "nix",
+ "styx",
+ ],
+ },
+ "134340_pluto_barycenter": {
+ title: "Pluto system",
+ description: {
+ blurb: [
+ "The Pluto system's barycenter, or the center of mass of two or more bodies that orbit one another, is not inside Pluto. It is between Pluto and Charon.",
+ ],
+ more: [""],
+ },
+ related: [
+ "pluto",
+ "charon",
+ "hydra",
+ "kerberos",
+ "nix",
+ "styx",
+ ],
+ },
+ "617_patroclus_barycenter": {
+ title: "Patroclus and Menoetius",
+ description: {
+ },
+ related: [
+ "617_patroclus",
+ "menoetius"
+ ],
+ },
+ "65803_didymos_system": {
+ title: "Didymos and Dimorphos",
+ description: {
+ },
+ related: [
+ "617_patroclus",
+ "menoetius",
+ "sc_dart"
+ ],
+ },
+ "21_lutetia": {
+ title: "Lutetia",
+ description: {
+ blurb: [
+ "Lutetia is a large asteroid that was visited by Europe's Rosetta space probe in 2010.",
+ ],
+ more: [""],
+ },
+ related: ["sc_rosetta"],
+ stats: {
+ discovery:
+ "Discovered in 1852, the asteroid was visited by the European space probe Rosetta in July of 2010.",
+ rotation: 8.1655,
+ },
+ },
+ "253_mathilde": {
+ title: "Mathilde",
+ description: {
+ blurb: [
+ "The asteroid Mathilde was visited by the NEAR Shoemaker mission in 1997.",
+ ],
+ more: [""],
+ },
+ related: ["sc_near_shoemaker"],
+ },
+ "11351_leucus": {
+ title: "Leucus",
+ description: {
+ blurb: [
+ 'Leucus is an asteroid located in the orbit of Jupiter, always orbiting "ahead" of Jupiter by sixty degrees. Referred to as a Trojan asteroid, it will be visited by the Lucy mission in April of 2028.',
+ ],
+ more: [
+ "The Lucy mission will also fly by Leucus. This 40 km (25 mile) D-type asteroid rotates extremely slowly. Its day is 446 hours! This slow rotation period means that it will likely get hotter during the day and colder at night than the other asteroids, so by comparing it with other D-type asteroids we should learn more about the materials that make up these asteroids. Also, as it rotates its brightness as observed from Earth varies a lot, suggesting that it is quite elongated. Lucy will know for sure when it flies by on April 18, 2028.",
+ ],
+ },
+ related: [
+ "sc_lucy",
+ "55246_donaldjohanson",
+ "3548_eurybates",
+ "15094_polymele",
+ "21900_orus",
+ "617_patroclus",
+ ],
+ stats: {
+ discovery:
+ "Discovered in 1997, Leucus is a Trojan Asteroid that will be visited by the Lucy mission in April of 2028.",
+ rotation: 445.73,
+ },
+ },
+ "15094_polymele": {
+ title: "Polymele",
+ description: {
+ blurb: [
+ 'Polymele is an asteroid located in the orbit of Jupiter, always orbiting "ahead" of Jupiter by sixty degrees. Referred to as a Trojan asteroid, it will be visited by the Lucy mission in September of 2027.',
+ ],
+ more: [
+ "Polymele is the smallest of Lucy's Trojan targets at 21 km (13 miles) in diameter. It is a P-type asteroid, the same type as the much larger Patroclus and Menoetius binary. This will be the first time a spacecraft has ever flown by this dark, reddish class of asteroid that is believed to be rich in organics. Scientists think that Polymele is a collisional fragment of a larger P-type asteroid, and thus it will be very interesting to compare to its larger brethren. Lucy will fly by on September 15, 2027.",
+ ],
+ },
+ related: [
+ "sc_lucy",
+ "jupiter",
+ "52246_donaldjohanson",
+ "3548_eurybates",
+ "11351_leucus",
+ "21900_orus",
+ "617_patroclus",
+ ],
+ stats: {
+ discovery:
+ "Discovered in 1999, Polymele is a Trojan Asteroid that will be visited by the Lucy mission in September of 2027.",
+ rotation: 5.86,
+ },
+ },
+ "21900_orus": {
+ title: "Orus",
+ description: {
+ blurb: [
+ 'Orus is an asteroid located in the orbit of Jupiter, always orbiting "ahead" of Jupiter by sixty degrees. Referred to as a Trojan asteroid, It will be visited by the Lucy mission in November of 2028.',
+ ],
+ more: [
+ "The Lucy mission will fly by Orus in November of 2028. Lucy will be able to compare this larger 51 km (31.7 mile) diameter Trojan to both the smaller Leucus, which is of the same type of very dark, very red objects thought to be rich in organics and carbon, and to the similarly-sized, but different spectrally typed, Eurybates.",
+ ],
+ },
+ related: [
+ "sc_lucy",
+ "55246_donaldjohanson",
+ "3548_eurybates",
+ "15094_polymele",
+ "11351_leucus",
+ "617_patroclus",
+ ],
+ stats: {
+ discovery:
+ "Discovered in 1999, Orus is a Trojan Asteroid that will be visited by the Lucy mission in November of 2028.",
+ rotation: 13.45,
+ },
+ },
+ "3548_eurybates": {
+ title: "Eurybates",
+ description: {
+ blurb: [
+ "Eurybates is a carbonaceous asteroid located in the orbit of Jupiter, and is referred to as a Trojan asteroid. Eurybates has a small satellite named Queta, and will be visited by the Lucy mission in August of 2027.",
+ ],
+ more: [
+ "Eurybates is the first Trojan Asteroid that Lucy will visit, in August of 2027. In January of 2019 the Lucy team learned about the satellite Queta, which is likely around 1 km (0.5 miles) in size.",
+ ],
+ },
+ related: [
+ "sc_lucy",
+ "55246_donaldjohanson",
+ "15094_polymele",
+ "11351_leucus",
+ "21900_orus",
+ "617_patroclus",
+ ],
+ stats: {
+ discovery:
+ "Discovered in 1973, Eurybates is the first Trojan Asteroid that the Lucy mission will visit in August of 2027. It has a small satellite named Queta.",
+ rotation: 8.7,
+ },
+ },
+ "5535_annefrank": {
+ title: "Annefrank",
+ description: {
+ blurb: [
+ "Annefrank is a main belt asteroid that was visited by the Stardust mission in November of 2002.",
+ ],
+ more: [
+ "On Nov. 2, 2002, at 04:50 UT, Stardust flew by asteroid 5535 Annefrank at a range of about 1,900 miles (3,078 kilometers). This asteroid was used as a practice run by the Stardust mission for its eventual flyby of the comet Wild 2(81P/Wild). During the encounter, the spacecraft’s dust collectors collected samples while its camera returned 72 images.",
+ ],
+ },
+ related: ["sc_stardust", "81p_wild_2"],
+ stats: {
+ discovery:
+ "Discovered in 1942, the main belt asteroid 5535 Annefrank was used as a practice flyby target by the Stardust mission on November 2nd, 2002.",
+ rotation: 15.12,
+ },
+ },
+ "52246_donaldjohanson": {
+ title: "Donaldjohanson",
+ description: {
+ blurb: [
+ "Donaldjohanson is a carbonaceous asteroid located in the inner asteroid belt. It will be visited by the Lucy mission in April of 2025.",
+ ],
+ more: [
+ "This object will mostly provide a test rehearsal for all of Lucy's instruments before the spacecraft heads further out towards the Trojan asteroids that share an orbit with Jupiter. The asteroid is named after the paleoanthropologist Donald Johanson, who discovered the famous Lucy fossil in Ethiopia in 1974. Just as the Lucy skeleton taught us how evolution occurred with humans, the Lucy mission will be investigating a different kind of fossil: the Trojan asteroids, which are almost as old as the solar system itself.",
+ ],
+ },
+ related: [
+ "sc_lucy",
+ "617_patroclus",
+ "3548_eurybates",
+ "15094_polymele",
+ "11351_leucus",
+ "21900_orus",
+ ],
+ stats: {
+ discovery:
+ 'Discovered in 1981, and named after the paleoanthropologist who discovered the "Lucy" fossil, this will be the second small body that the Lucy mission will encounter in 2025.',
+ rotation: 252,
+ },
+ },
+ "617_patroclus": {
+ title: "Patroclus",
+ description: {
+ blurb: [
+ 'Patroclus is a large binary asteroid located in the orbit of Jupiter, always "trailing" the planet by 60 degrees. It is in a binary system with its slightly smaller twin, Menoetius. Referred to as a Trojan asteroid, it will be visited by the Lucy mission in 2033.',
+ ],
+ more: [
+ "This asteroid will be the final encounter of Lucy's primary mission, in March of 2033. After a long journey from the Greek L4 swarm to the Trojan L5 swarm, Lucy will fly by the binary pair of asteroids (617) Patroclus and Menoetius. They are large P-type Trojans, with average diameters of 113 km and 104 km (about 70 and 65 miles), respectively. Scientists hypothesize that they may be primordial asteroids left over from the very early Solar System.",
+ ],
+ },
+ related: [
+ "sc_lucy",
+ "55246_donaldjohanson",
+ "3548_eurybates",
+ "15094_polymele",
+ "11351_leucus",
+ "21900_orus",
+ "menoetius",
+ ],
+ stats: {
+ discovery:
+ "Discovered in 1906, Patroclus is a Trojan Asteroid that will be visited by the Lucy mission in 2033. In 2001, Patroclus was found to be part of a binary asteroid system with its smaller twin, named Menoetius.",
+ rotation: 102.8,
+ },
+ },
+ "951_gaspra": {
+ title: "Gaspra",
+ description: {
+ blurb: [
+ "951 Gaspra was the first asteroid ever to be closely approached when it was visited by the Galileo spacecraft, which flew by on its way to Jupiter on 29 October 1991.",
+ ],
+ more: [
+ "Gaspra orbits the Sun at an average distance of about 2.21 astronomical units. Gaspra completes one orbit around the Sun in 3.29 years. Galileo flew by Gaspra on 29 October 1991, passing within 1,600 km (990 mi) at a relative speed of about 8 km/s (18,000 mph). 57 images were returned to Earth, the closest taken from a distance of 5,300 km (3,300 mi). The best images have a resolution of about 54 meters per pixel (177.16 ft). The area around the southern pole was not seen during the flyby, but the remaining 80% of the asteroid was imaged.",
+ ],
+ },
+ related: ["sc_galileo"],
+ stats: {
+ discovery:
+ "Discovered in 1916, Gaspra is the first asteroid to be closely approached by a spacecraft, which was Galileo in 1991.",
+ rotation: 7.042,
+ },
+ },
+ "2867_steins": {
+ title: "Steins",
+ description: {
+ blurb: [
+ "Steins is an irregular-shaped asteroid that was visited by Europe's Rosetta space probe in 2008.",
+ ],
+ more: [""],
+ },
+ related: [],
+ },
+ ariel: {
+ title: "Ariel",
+ description: {
+ blurb: ["Ariel is a moon of Uranus."],
+ more: [
+ "All of Uranus' larger moons, including Ariel, are thought to consist mostly of roughly equal amounts of water ice and silicate rock. Carbon dioxide has also been detected on Ariel.",
+ "Ariel's surface appears to be the youngest of all the moons of Uranus. It has few large craters and many small ones, indicating that fairly recent low-impact collisions wiped out the large craters that would have been left by much earlier, bigger strikes. Ariel is also thought to have had the most recent geologic activity of Uranus' larger moons. It is transected by grabens, which are fault-bounded valleys.",
+ "Ariel has the brightest surface of the five largest Uranian moons, but none of them reflect more than about a third of the sunlight that strikes them. This suggests that their surfaces have been darkened by a carbonaceous material. Ariel's brightness increases dramatically when it is in opposition―that is, when the observer is directly between it and the Sun. This indicates that its surface is porous, casting reflectivity-decreasing shadows when illuminated at other angles.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ "90377_sedna": {
+ title: "Sedna",
+ description: {
+ blurb: [
+ "Sedna is a possible dwarf planet well beyond the orbit of Neptune. It has an exceptionally long and elongated orbit, taking approximately 11,400 years to complete.",
+ ],
+ more: [""],
+ },
+ related: [],
+ },
+ "99942_apophis": {
+ title: "Apophis",
+ description: {
+ blurb: [
+ "Asteroid 99942 Apophis is a near-Earth asteroid more than 1000 feet (over 300 meters) in size that will harmlessly pass close to Earth on April 13, 2029.",
+ ],
+ more: [
+ "When it was discovered in 2004, the asteroid caused a stir because initial calculations indicated a small possibility it would impact Earth in 2029. After searching through some older astronomical images, scientists ruled out the possibility of a 2029 impact. It’s now predicted the asteroid will safely pass about 19,800 miles (31,900 kilometers) from our planet’s surface. While that’s a safe distance, it’s close enough that the asteroid will come between Earth and our Moon, which is about 238,855 miles (384,400 kilometers) away. It’s also within the distance that some spacecraft orbit Earth.",
+ ],
+ },
+ related: [],
+ stats: {
+ discovery:
+ "Discovered on June 19, 2004 at the Kitt Peak National Observatory in Arizona.",
+ rotation: 30.4,
+ },
+ approach: {
+ fact: "On April 13, 2029, the asteroid Apophis will pass less than 23,239 miles (37,399 kilometers) from our planet’s surface – just outside the distance of geosynchronous satellites, and closer to Earth than any similarly sized PHO (potentially hazardous object) in recorded history. At that time, Apophis will be visible to observers on the ground in the Eastern Hemisphere without the aid of a telescope or binoculars.",
+ },
+ },
+ "486958_arrokoth": {
+ title: "Arrokoth",
+ description: {
+ blurb: [
+ "The small Kuiper Belt object officially known as Arrokoth is the most distant and most primitive object ever explored by a spacecraft.",
+ ],
+ more: [
+ "Arrokoth is in a region of space beyond Neptune called the Kuiper Belt that is swarming with small, icy and ancient objects. Because they are so far from the Sun, Kuiper Belt objects have only been slightly heated since forming, and are thought to be well-preserved, frozen samples of what the outer solar system was like after its birth more than 4.5 billion years ago.",
+ "It was discovered in 2014 by NASA’s New Horizons science team, using the Hubble Space Telescope. New Horizons flew by Arrokoth on Jan. 1, 2019, snapping images that showed a double-lobed object that looked like a partially flattened snowman. It’s also very red — even redder than Pluto. The object's strange shape — unlike any ever seen — was the biggest surprise of the flyby. Arrokoth means means “sky” in the Powhatan/Algonquian language.",
+ ],
+ },
+ related: ["sc_new_horizons"],
+ },
+ "101955_bennu": {
+ title: "Bennu",
+ description: {
+ blurb: [
+ "An ancient relic of our solar system’s early days, Bennu has seen more than 4.5 billion years of history. Scientists think that within 10 million years of our solar system’s formation, Bennu’s present-day composition was already established.",
+ ],
+ more: [
+ "Bennu likely broke off from a much larger carbon-rich asteroid about 700million to 2 billion years ago. It likely formed in the Main Asteroid Belt between Mars and Jupiter, and has drifted much closer to Earth since then. Because its materials are so old, Bennu may contain organic molecules similar to those that could have been involved with the start of life on Earth. NASA’s OSIRIS-REx mission, which launched in 2016, performed the most in-depth exploration of Bennu to date and returned a sample of its material to Earth in 2023. This spacecraft’s data will also help scientists better understand the likelihood of Bennu striking Earth someday.",
+ ],
+ },
+ related: ["sc_osiris_rex"],
+ stats: {
+ discovery:
+ "Discovered in September of 1999, Bennu was the subject of the OSIRIS-REx mission, which touched down on the asteroid and collected a sample of the surface on October 20th, 2020. OSIRIS-REx departed Bennu in 2021, and delivered the capsule with pieces of the asteroid to Earth on September 24, 2023.",
+ rotation: 4.296,
+ },
+ approach: {
+ fact: "Bennu is a PHO (potentially hazardous object), and will have multiple close approaches with Earth over time. The next close approach will be in 2023, at a distance of 0.497 AU (astronomical units)",
+ },
+ },
+ "152830_dinkinesh": {
+ title: "Dinkinesh",
+ description: {
+ blurb: [
+ "Dinkinesh is a main belt asteroid that was visited by the Lucy mission on November 1st, 2023.",
+ ],
+ more: [
+ "Dinkinesh was discovered in 1999 and is 700 meters (2,300 feet) in diameter. Dinkinesh was Lucy's first and smallest flyby target, and the smallest main-belt asteroid ever visited by a spacecraft. Dinkinesh is the Ethiopian name for the Lucy fossil, for which the Lucy mission is named.",
+ ],
+ },
+ related: [
+ "sc_lucy",
+ "jupiter",
+ "52246_donaldjohanson",
+ "3548_eurybates",
+ "11351_leucus",
+ "21900_orus",
+ "617_patroclus",
+ ],
+ stats: {
+ discovery:
+ "Discovered in 1999, Dinkinesh will be the Lucy mission's first flyby target in early November of 2023. It will become the smallest main-belt asteroid ever visited.",
+ },
+ },
+ "16_psyche": {
+ title: "Psyche",
+ description: {
+ blurb: [
+ "Psyche is one of the largest asteroids in the solar system, and is mostly made of metal.",
+ ],
+ more: [
+ "One of the most intriguing targets in the main asteroid belt, 16 Psyche is a giant metal asteroid, about three times farther away from the sun than is the Earth. Its average diameter is about 140 miles (226 kilometers) — about one-sixteenth the diameter of Earth’s Moon or about the distance between Los Angeles and San Diego. Unlike most other asteroids that are rocky or icy bodies, scientists think the M-type (metallic) asteroid 16 Psyche is comprised mostly of metallic iron and nickel similar to Earth’s core. Scientists wonder whether Psyche could be an exposed core of an early planet, maybe as large as Mars, that lost its rocky outer layers due to a number of violent collisions billions of years ago. This intriguing asteroid is now the primary target of the Psyche mission. The Psyche spacecraft launched on October 13th, 2023, and will arrive at the asteroid in 2029.",
+ ],
+ },
+ related: ["sc_psyche"],
+ stats: {
+ discovery:
+ "Discovered in 1852, the Psyche asteroid is the subject of the upcoming Psyche mission which will launch no earlier than 2023.",
+ rotation: 4.196,
+ },
+ },
+ "1_ceres": {
+ title: "Ceres",
+ description: {
+ blurb: [
+ "Dwarf planet Ceres is the largest object in the asteroid belt between Mars and Jupiter and the only dwarf planet located in the inner solar system.",
+ ],
+ more: [
+ "Ceres was the first member of the asteroid belt to be discovered when Giuseppe Piazzi spotted it in 1801. And when Dawn arrived in 2015, Ceres became the first dwarf planet to receive a visit from a spacecraft.",
+ "Called an asteroid for many years, Ceres is so much bigger and so different from its rocky neighbors that scientists classified it as a dwarf planet in 2006. Even though Ceres comprises 25 percent of the asteroid belt's total mass, tiny Pluto is still 14 times more massive.",
+ "Ceres is named for the Roman goddess of corn and harvests. The word cereal comes from the same name.",
+ ],
+ },
+ related: ["sc_dawn"],
+ stats: {
+ discovery:
+ "Discovered in January of 1801, Ceres was the first asteroid ever found, though it was initially classified as a planet. It remained an asteroid until 2006, when it was reclassified as a dwarf planet.",
+ rotation: 9.0741,
+ },
+ },
+ "2_pallas": {
+ title: "Pallas",
+ description: {
+ blurb: [
+ "2 Pallas is the second asteroid to have been discovered, after 1 Ceres.",
+ ],
+ more: [
+ "Pallas is the third-largest asteroid in the Solar System by both volume and mass, and is a likely remnant protoplanet. At 513 km in diameter, Pallas is slightly smaller than Vesta. The mass of Pallas is 79%±1% that of Vesta, 22% that of Ceres, and a quarter of one percent that of the Moon. Even so, Pallas by itself makes up 7% of the mass of the entire asteroid belt.",
+ ],
+ },
+ related: [],
+ },
+ "3_juno": {
+ title: "Juno",
+ description: {
+ blurb: [
+ "3 Juno is a large asteroid in the asteroid belt, and the third asteroid ever to be discovered.",
+ ],
+ more: [
+ "Juno is one of the larger asteroids, perhaps tenth by size and containing approximately 1% the mass of the entire asteroid belt. Even so, Juno has only 3% the mass of Ceres. Juno was originally considered a planet, along with 1 Ceres, 2 Pallas, and 4 Vesta, but its small size and irregular shape preclude it from being designated a dwarf planet.",
+ ],
+ },
+ related: [],
+ },
+ "216_kleopatra": {
+ title: "Kleopatra",
+ description: {
+ blurb: [
+ "216 Kleopatra is a metallic, ham-bone-shaped asteroid approximately 120 kilometers (75 miles) in diameter.",
+ ],
+ more: [
+ "Kleopatra is a relatively large asteroid, measuring 217 × 94 × 81 km, and has two moons of its own. Calculations from its radar albedo and the orbits of its moons show it to be a rubble pile, a loose amalgam of metal, rock, and 30–50% empty space by volume, likely due to a disruptive impact prior to the impact that created its moons.",
+ ],
+ },
+ related: [],
+ },
+ "243_ida": {
+ title: "Ida",
+ description: {
+ blurb: [
+ "243 Ida is an asteroid in the Koronis family of the asteroid belt, with a mean radius of 15.7 kilometers.",
+ ],
+ more: [
+ "243 Ida is the second asteroid visited by a spacecraft and the first found to have its own moon. Its close encounter happened on Aug. 29, 1993 as Galileo flew by at a distance of about 1,500 miles (about 2,400 kilometers) en route to Jupiter. (The spacecraft flew by another asteroid, Gaspra, on Oct. 29, 1991.) A little more than five months later, scientists studying the images Galileo sent back to Earth noticed that a tiny moon accompanied the asteroid, which was named Dactyl.",
+ ],
+ },
+ related: ["sc_galileo"],
+ stats: {
+ discovery:
+ "Discovered in 1884, Ida was visited by the Galileo spacecraft in August of 1993.",
+ rotation: 4.634,
+ },
+ },
+ "1566_icarus": {
+ title: "Icarus",
+ description: {
+ blurb: [
+ "1566 Icarus is an extremely eccentric asteroid, approximately 1.4 km (0.87 mi) in diameter.",
+ ],
+ more: [
+ "It is a near-Earth object and potentially hazardous, but has a closest possible intersection with Earth at 13.7 lunar distances, or 13.7 times the distance from the Earth to the moon. In 1968 it became the first asteroid ever observed by radar.",
+ ],
+ },
+ related: [],
+ },
+ "1620_geographos": {
+ title: "Geographos",
+ description: {
+ blurb: [
+ "1620 Geographos is a highly elongated asteroid with a mean-diameter of approximately 2.5 km (1.6 mi).",
+ ],
+ more: [
+ "In 1994, NASA's Goldstone radar telescope in the California desert revealed that asteroid Geographos had the largest length-to-width ratio of any solar system object imaged to date. As a potentially hazardous asteroid, Geographos has a minimum orbital intersection distance with Earth of less than 0.05 AU and a diameter of greater than 150 meters. It is currently 0.0301 AU (4,500,000 km), which translates into 11.7 lunar distances.",
+ ],
+ },
+ related: [],
+ },
+ "1862_apollo": {
+ title: "Apollo",
+ description: {
+ blurb: [
+ "1862 Apollo is a stony asteroid, approximately 1.5 kilometers in diameter.",
+ ],
+ more: [
+ "Apollo is the namesake and the first recognized member of the Apollo asteroids, a subgroup of near-Earth objectss which are Earth-crossers, that is, they cross the orbit of the Earth. 1862 Apollo is a potentially hazardous asteroid because its minimum orbit intersection distance (MOID) is less than 0.05 AU and its diameter is greater than 150 meters. It can cross Earth's orbit as close as about 10 lunar distances.",
+ ],
+ },
+ related: [],
+ },
+ "1981_midas": {
+ title: "Midas",
+ description: {
+ blurb: [
+ "1981 Midas is an asteroid approximately 2 kilometers in diameter that is classified as a near-Earth object.",
+ ],
+ more: [
+ "Midas has a low minimum orbit intersection distance with Earth of 0.0036 AU (540,000 km; 330,000 mi), which corresponds to 1.5 lunar distance (Earth–Moon distance). However, it does not pose an impact risk for the foreseeable future.",
+ ],
+ },
+ related: [],
+ },
+ "2063_bacchus": {
+ title: "Bacchus",
+ description: {
+ blurb: [
+ "2063 Bacchus is a near-Earth object of the Apollo group, approximately 1 kilometer in diameter.",
+ ],
+ more: [
+ "Bacchus has an Earth minimum orbital intersection distance of 0.0677 AU (10,130,000 km), which corresponds to 26.4 lunar distances. On March 31st, 1996, it passed 0.0677525 AU (10,135,600 km) from Earth.",
+ ],
+ },
+ related: [],
+ },
+ "2101_adonis": {
+ title: "Adonis",
+ description: {
+ blurb: [
+ "2101 Adonis is classified as potentially hazardous asteroid and near-Earth object of the Apollo group, approximately 1 kilometer in diameter.",
+ ],
+ more: [
+ "Its Earth minimum orbit intersection distance is 0.0116 AU (1,740,000 km), or 4.5 lunar distances. It also makes close approaches of Venus and Mars.",
+ ],
+ },
+ related: [],
+ },
+ "2102_tantalus": {
+ title: "Tantalus",
+ description: {
+ blurb: ["2102 Tantalus is an Apollo asteroid about 2–4 km in diameter."],
+ more: [
+ "2102 Tantalus is a potentially hazardous asteroid (PHA) because its minimum orbit intersection distance (MOID) is less than 0.05 AU and its diameter is greater than 150 meters. The Earth-MOID is 0.0439 AU (6,570,000 km; 4,080,000 mi), or about 17.2 lunar distances.",
+ ],
+ },
+ related: [],
+ },
+ "2135_aristaeus": {
+ title: "Aristaeus",
+ description: {
+ blurb: [
+ "2135 Aristaeus is an Apollo asteroid discovered on April 17, 1977 at Palomar Observatory. It is named for Aristaeus, the son of Apollo and the nymph Cyrene.",
+ ],
+ more: [
+ "2135 Aristaeus is a potentially hazardous asteroid because its minimum orbit intersection distance is less than 0.05 AU and its diameter is greater than 150 meters. The Earth-MOID is 0.0100 AU (1,500,000 km; 930,000 mi), or about 3.9 lunar distances.",
+ ],
+ },
+ related: [],
+ },
+ "2340_hathor": {
+ title: "Hathor",
+ description: {
+ blurb: [
+ "2340 Hathor is an eccentric stony asteroid, classified as near-Earth object and potentially hazardous asteroid. It belongs to the Aten group of asteroids and measures approximately 210 meters in diameter.",
+ ],
+ more: [
+ "Hathor has an Earth orbit intersection distance of 0.0069 AU (1,030,000 km), which corresponds to 2.7 lunar distances.",
+ ],
+ },
+ related: [],
+ },
+ "3122_florence": {
+ title: "Florence",
+ description: {
+ blurb: [
+ "3122 Florence is an asteroid withi two moons of its own. It is classified as a near-Earth object and potentially hazardous asteroid, measuring approximately 5 kilometers in diameter.",
+ ],
+ more: [
+ "On September 1st, 2017, Florence passed 0.047237 AU (7,066,600 km; 4,391,000 mi) from Earth, approximately eighteen times the average distance of the Moon. As seen from Earth, it brightened to apparent magnitude 8.5, and was visible in small telescopes for several nights as it moved south to north through the constellations Piscis Austrinus, Capricornus, Aquarius, and Delphinus. This was the asteroid's closest approach since 1890 and the closest until after 2500. The asteroid is named after Florence Nightingale, the founder of modern nursing.",
+ ],
+ },
+ related: [],
+ },
+ "3200_phaethon": {
+ title: "Phaethon",
+ description: {
+ blurb: [
+ "3200 Phaethon is an active Apollo asteroid with an orbit that brings it closer to the Sun than any other named asteroid. It is also the parent body of the Geminids meteor shower in mid-December.",
+ ],
+ more: [
+ "The Earth minimum orbit intersection distance (E-MOID) is 0.01945 AU (2,910,000 km; 1,808,000 mi, about 7.5 lunar distances), which is defined by the shortest distance between the orbit of Phaethon and the orbit of Earth. With a 30+ year observation arc, the orbit of Phaethon is very well understood with very small uncertainties. Close approaches of Phaethon are well constrained for the next 400 years.",
+ ],
+ },
+ related: [],
+ },
+ "3362_khufu": {
+ title: "Khufu",
+ description: {
+ blurb: ["3362 Khufu is a near-Earth asteroid discovered in 1984."],
+ more: [
+ "3362 Khufu is a potentially hazardous asteroid because its minimum orbit intersection distance (MOID) is less than 0.05 AU and its diameter is greater than 150 meters. The Earth-MOID is 0.0135 AU (2,020,000 km; 1,250,000 mi, or about 5.23 lunar distances). Its orbit is well-determined for the next several hundred years.",
+ ],
+ },
+ related: [],
+ },
+ "4015_wilson-harrington": {
+ title: "Wilson-Harrington",
+ description: {
+ blurb: [
+ "4015 Wilson–Harrington is an active asteroid known both as comet 107P/Wilson–Harrington and as asteroid 4015 Wilson–Harrington.",
+ ],
+ more: [
+ "This near-Earth object is considered both an Apollo asteroid with the designation 4015 Wilson–Harrington and a periodic comet known as Comet Wilson–Harrington or 107P/Wilson–Harrington. It was initially discovered in 1949 as a comet and then lost to further observations. Thirty years later it was rediscovered as an asteroid, after which it took over a decade to determine that these observations were of the same object. Therefore, it has both a comet designation and an asteroid designation, and with a name length of 17 characters it is currently the asteroid with the longest name, having one more character than the 16-character limit imposed by the IAU.",
+ ],
+ },
+ related: [],
+ },
+ "4179_toutatis": {
+ title: "Toutatis",
+ description: {
+ blurb: [
+ "4179 Toutatis is an elongated asteroid and slow rotator, classified as near-Earth object and potentially hazardous asteroid of the Apollo and Alinda group, approximately 2.5 kilometers in diameter.",
+ ],
+ more: [
+ "Toutatis is not a monolith, but most likely a coalescence of shattered fragments. This bifurcated asteroid is shown to be mainly consisting of a head (small lobe) and a body (large lobe).The Chinese lunar probe Chang'e 2 departed from the Sun–Earth L2 point in April of 2012and made a flyby of Toutatis on December 13th, 2012, with the closest approach being 3.2 kilometers and a relative velocity of 10.73 km/s, exactly when Toutatis was near its closest approach to Earth. It took several pictures of the asteroid, revealing it to be a dusty red/orange color.",
+ ],
+ },
+ related: [],
+ },
+ "4183_cuno": {
+ title: "Cuno",
+ description: {
+ blurb: [
+ "4183 Cuno is an eccentric, rare-type asteroid, classified as near-Earth object, roughly 4 kilometers in diameter.",
+ ],
+ more: [
+ "The asteroid has an Earth minimum orbital intersection distance of 0.0283 AU (4,230,000 km), which translates into 11 lunar distances. Cuno approaches the Earth to within 40 million kilometers six times in the 21st century. On May 20th, 2012, it made its closest Earth approach at a distance of 0.122 AU (18,000,000 km). It will not make a closer approach until 2093 when it will pass Earth at 0.084 AU (13,000,000 km).",
+ ],
+ },
+ related: [],
+ },
+ "4450_pan": {
+ title: "Pan",
+ description: {
+ blurb: [
+ "4450 Pan is a highly eccentric asteroid classified as a near-Earth object of the Apollo group, approximately 1.1 kilometers in diameter.",
+ ],
+ more: [
+ "As an Apollo asteroid, it is an Earth-crosser and has a minimum orbit intersection distance with Earth of 0.0287 AU (4,290,000 km), which corresponds to 11.2 lunar distances. Due to its extremely eccentric orbit, it is also a Venus- and Mars-crosser and approaches Mercury as well.",
+ ],
+ },
+ related: [],
+ },
+ "4486_mithra": {
+ title: "Mithra",
+ description: {
+ blurb: [
+ "4486 Mithra is an eccentric asteroid , classified as near-Earth object approximately 2 kilometers in diameter.",
+ ],
+ more: [
+ "As a potentially hazardous asteroid, it has a low minimum orbit intersection distance with Earth of 0.0463 AU (6,930,000 km) or 18 lunar distances. On 14 August 2000, it passed 0.0465 AU (6,960,000 km) from Earth.",
+ ],
+ },
+ related: [],
+ },
+ "4769_castalia": {
+ title: "Castalia",
+ description: {
+ blurb: [
+ "4769 Castalia is a near-Earth object and potentially hazardous asteroid of the Apollo group, approximately 1.4 kilometers (0.87 miles) in diameter and was the first asteroid to be modeled by radar imaging.",
+ ],
+ more: [
+ "Castalia has a peanut shape, suggesting two approximately 800-meter-diameter pieces held together by their weak mutual gravity. Castalia is a potentially hazardous asteroid because its minimum orbit intersection distance (MOID) is less than 0.05 AU and its diameter is greater than 150 meters. The Earth-MOID is 0.0204 AU (3,050,000 km; 1,900,000 miles, or about 8 lunar distances). Its orbit is well-determined for the next several hundred years.",
+ ],
+ },
+ related: [],
+ },
+ "5011_ptah": {
+ title: "Ptah",
+ description: {
+ blurb: [
+ "5011 Ptah is a near-Earth object and potentially hazardous asteroid of the Apollo group. It has an eccentric oribt measures approximately 1.6 kilometers (1 mile) in diameter.",
+ ],
+ more: [
+ "The potentially hazardous asteroid has a minimum orbit intersection distance with Earth of 0.0256 AU (3,830,000 km) or 10 lunar distances. It passes within that distance of Earth 15 times between 1900 and 2100, most recently on 21 January 2007, at 29.6 million kilometers.",
+ ],
+ },
+ related: [],
+ },
+ "6239_minos": {
+ title: "Minos",
+ description: {
+ blurb: [
+ "6239 Minos is an asteroid that is classified as a near-Earth object.",
+ ],
+ more: [
+ "Approximately half kilometer in length and with a rotation period of 3.6 hours, Minos was discovered in 1989 by astronomers Carolyn and Eugene Shoemaker at Palomar Observatory in California.",
+ ],
+ },
+ related: [],
+ },
+ "6489_golevka": {
+ title: "Golevka",
+ description: {
+ blurb: [
+ "6489 Golevka is a small Apollo-class asteroid discovered in 1991.",
+ ],
+ more: [
+ "Its name has a complicated origin. In 1995, Golevka was studied simultaneously by three radar observatories across the world: Goldstone in California, Yevpatoria RT-70 radio telescope in Ukraine (Yevpatoria is sometimes romanized as Evpatoria) and Kashima in Japan. 'Golevka' comes from the first few letters of each observatory's name.",
+ ],
+ },
+ related: [],
+ },
+ "9969_braille": {
+ title: "Braille",
+ description: {
+ blurb: [
+ "9969 Braille is an eccentric, rare-type and elongated asteroid from the innermost regions of the asteroid belt, classified as Mars-crosser and slow rotator, approximately 1–2 kilometers in diameter.",
+ ],
+ more: [
+ "It was discovered in 1992 by astronomers at Palomar Observatory and later named after Louis Braille, the inventor of the writing system for the blind. It was photographed in closeup by the spacecraft Deep Space 1 in 1999, but a malfunction resulted in indistinct images.",
+ ],
+ },
+ related: ["sc_deep_space_1"],
+ stats: {
+ discovery:
+ "Discovered in 1992, Braille was visited by the Deep Space 1 mission on July 29th, 1999. The spacecraft passed within 26 km (16 miles) of the asteroid, which was the closest asteroid flyby ever at that time.",
+ rotation: 226.4,
+ },
+ },
+ "12923_zephyr": {
+ title: "Zephyr",
+ description: {
+ blurb: [
+ "12923 Zephyr is a stony asteroid, classified as potentially hazardous asteroid and near-Earth object of the Apollo group, approximately 2 kilometers (1.2 miles) in diameter.",
+ ],
+ more: [
+ "Zephyr was discovered in 1999 by the Lowell Observatory Near-Earth Object Search at the Anderson Mesa Station in Arizona. The word zephyr derives from the name of the ancient Greek god of the west wind, Zephyros. This near-Earth asteroid has an Earth minimum orbital intersection distance of 3,160,000 km, which corresponds to 8.2 lunar distances. This short distance as well as its sufficiently large size makes it a potentially hazardous asteroid. On September 2010, the asteroid approached Earth at 38,100,000 km; it will make close encounters with Earth again in 2021, 2032 and 2043.",
+ ],
+ },
+ related: [],
+ },
+ "14827_hypnos": {
+ title: "Hypnos",
+ description: {
+ blurb: [
+ "14827 Hypnos is a highly eccentric, sub-kilometer-sized carbonaceous asteroid that is thought to be an extinct comet.",
+ ],
+ more: [
+ "Discovered in 1986, Hypnos is classified as a near-Earth object that can potentially approach Earth as close as 5.7 lunar distances.",
+ ],
+ },
+ related: [],
+ },
+ "25143_itokawa": {
+ title: "Itokawa",
+ description: {
+ blurb: [
+ "25143 Itokawa is a sub-kilometer near-Earth object, and is the first asteroid from which samples were retrieved and brought to Earth.",
+ ],
+ more: [
+ "The asteroid 25143 Itokawa was discovered on Sept. 26, 1998, by the Lincoln Laboratory Near-Earth Asteroid Research Team at Socorro, New Mexico. The Japanese spacecraft Hayabusa (Japanese for falcon) touched down twice on the asteroid and collected a small amount of dust despite the failure of the mechanism designed for the purpose. It delivered the sample to Earth on the 13th of June, 2010. tokawa belongs to the Apollo asteroids, which are Earth-crossing asteroids and the largest dynamical group of near-Earth objects with nearly 10,000 known members. Itokawa orbits the Sun at a distance of 0.95–1.70 AU once every 18 months, and can pass by Earth as close as 5.1 lunar distances (the distance from the Earth to the moon).",
+ ],
+ },
+ stats: {
+ discovery:
+ "Discovered in 1998, Itokawa was the first asteroid to be the target of a sample return mission. The Japanese space probe Hayabusa took a sample from the comet in November of 2005.",
+ rotation: 12.132,
+ },
+ approach: {
+ fact: "Itokawa is classified as a PHO (potentially hazardous object), and will next approach the Earth on March 6th, 2030, at a distance of 0.376 AU (astronomical units).",
+ },
+ },
+ "37655_illapa": {
+ title: "Illapa",
+ description: {
+ blurb: [
+ "37655 Illapa is a carbonaceous asteroid, classified as a near-Earth object and iapproximately 1.5 kilometers in diameter.",
+ ],
+ more: [
+ "Discovered in 1994, Illapa has a short rotation period of 2.6556 hours. On 16 August 2003, Illapa made a close approach to Earth of 0.025037 AU (3,750,000 km; 2,330,000 mi, or about 10 lunar distances).",
+ ],
+ },
+ related: [],
+ },
+ "65803_didymos": {
+ title: "Didymos",
+ description: {
+ blurb: [
+ "65803 Didymos is a sub-kilometer asteroid classified as both a potentially hazardous asteroid and a near-Earth object of both the Apollo and Amor group.",
+ ],
+ more: [
+ 'The asteroid was discovered in 1996, by the Spacewatch survey at Kitt Peak, and its small 160-metre minor-planet moon was discovered in 2003, named Dimorphos. Due to its binary nature, it was then named "Didymos", the Greek word for twin. The Didymos binary system was the target of the DART mission, which was designed to impact with Dimorphos. The collision occurred on September 26th, 2022, and was a resounding success, changing the orbital period of the smaller moon by approximately thirty minutes.',
+ ],
+ },
+ related: ["sc_dart"],
+ stats: {
+ discovery:
+ "Discovered in 1996, Didymos is part of a binary asteroid system with its smaller partner, Dimorphos. The DART mission targeted this system, successfully crashing a probe into Dimorphos on September 26th, 2022.",
+ rotation: 2.2593,
+ },
+ approach: {
+ fact: "Didymos is a PHO (potentially hazardous object), and approached Earth at a distance of 0.07123 AU (astronomical units) on October 4th, 2022.",
+ },
+ },
+ "69230_hermes": {
+ title: "Hermes",
+ description: {
+ blurb: [
+ "69230 Hermes is a sub-kilometer sized asteroid and binary system, classified as a potentially hazardous asteroid and near-Earth object. It passed Earth at approximately twice the distance of the Moon on October 30th, 1937.",
+ ],
+ more: [
+ "The asteroid has an Earth minimum orbital intersection distance of 0.0041 AU (610,000 km) which translates into 1.6 lunar distances. In retrospect it turned out that Hermes came even closer to the Earth in 1942 than in 1937, within 1.7 lunar distances; the second pass was unobserved due to the events of World War 2. It was originally lost after its discovery in 1937, but was discovered again in 2003. Radar observations in October and November 2003 showed Hermes to be a binary asteroid. The primary and secondary components have nearly identical radii of 315 m (1,033 ft) and 280 m (920 ft), respectively, and their orbital separation is only 1,200 metres.",
+ ],
+ },
+ related: [],
+ },
+ "136199_eris": {
+ title: "Eris",
+ description: {
+ blurb: [
+ "Eris is one of the largest known dwarf planets in our solar system. It's about the same size as Pluto, but is three times farther from the Sun.",
+ ],
+ more: [
+ "Eris first appeared to be larger than Pluto. This triggered a debate in the scientific community that led to the International Astronomical Union's decision in 2006 to clarify the definition of a planet. Pluto, Eris and other similar objects are now classified as dwarf planets.",
+ "Originally designated 2003 UB313 (and nicknamed for the television warrior Xena by its discovery team), Eris is named for the ancient Greek goddess of discord and strife. The name fits since Eris remains at the center of a scientific debate about the definition of a planet.",
+ ],
+ },
+ related: [],
+ },
+ "136108_haumea": {
+ title: "Haumea",
+ description: {
+ blurb: [
+ "Located in the Kuiper Belt beyond Neptune’s orbit, the dwarf planet Haumea is an oval-shaped object about the same size as Pluto.",
+ ],
+ more: [
+ "Haumea is an oval-shaped object with a radius of about 385 miles. It has two moons, Namaka and Hi’iaka. Aday on Haumea lasts only four Earth hours, making it one of the fastest rotating large objects in our solar system.",
+ ],
+ },
+ related: [],
+ },
+ "136472_makemake": {
+ title: "Makemake",
+ description: {
+ blurb: [
+ "Along with fellow dwarf planets Pluto, Eris and Haumea, Makemake is located in the Kuiper Belt, a region outside the orbit of Neptune.",
+ ],
+ more: [
+ "Slightly smaller than Pluto, Makemake is the second-brightest object in the Kuiper Belt as seen from Earth (while Pluto is the brightest). It takes about 305 Earth years for this dwarf planet to make one trip around the sun.",
+ "Makemake holds an important place in the history of solar system studies because it—along with Eris—was one of the objects whose discovery prompted the International Astronomical Union to reconsider the definition of a planet and to create the new group of dwarf planets.",
+ "Makemake was named after the Rapanui god of fertility.",
+ ],
+ },
+ related: [],
+ },
+ "162173_ryugu": {
+ title: "Ryugu",
+ description: {
+ blurb: [
+ "Ryugu is an asteroid whose orbit could bring it very near to Earth. It was visited by the Hayabusa2 mission in 2018, where it sampled the surface and returned the asteroid material to Earth in December of 2020.",
+ ],
+ more: [
+ "Ryugu measures approximately 1 kilometre (0.62 mi) in diameter and orbits the earth every 1.3 years. The Japanese space agency JAXA launched the Hayabusa2 mission to Ryugu in 2014, and arrived in 2018. The spacecraft spent a year and a half in orbit around the asteroid before returning to Earth to drop off samples of the surface. The spacecraft had multiple objects land on the asteroid and collect data, including two small rovers. The samples of the surface were returned to Earth in December of 2020.",
+ ],
+ },
+ related: [],
+ stats: {
+ discovery:
+ "Discovered in 1999, Ryugu was the target of the Hayabusa2 mission, which orbited the asteroid for a year and a half, landed small rovers on it, and collected samples that were returned to Earth in December of 2020.",
+ rotation: 7.63,
+ },
+ approach: {
+ fact: "Ryugu is a PHO (potentially hazardous object), and will next approach Earth at a distance of 0.373 AU (astronomical units)s on June 3rd, 2025.",
+ },
+ },
+ "4_vesta": {
+ title: "Vesta",
+ description: {
+ blurb: [
+ "Vesta is one of the largest objects in the asteroid belt, and was visited for over a year by NASA's Dawn Spacecraft.",
+ ],
+ more: [
+ "The asteroid's official name is 4 Vesta because it was the fourth asteroid discovered. About the length of Arizona, it appears to have a surface of basaltic rock - frozen lava - which oozed out of the asteroid's presumably hot interior shortly after its formation 4.5 billion years ago, and has remained largely intact ever since. Telescopic observations reveal mineralogical variations across its surface.",
+ "Vesta has a unique surface feature which scientists look forward to peering into. At the asteroid's south pole is a giant crater - 460 kilometers (285 miles) across and 13 kilometers (8 miles) deep. The massive collision that created this crater gouged out one percent of the asteroid's volume, blasting over one-half million cubic miles of rock into space. What happened to the one percent that was propelled from its Vesta home? The debris, ranging in size from sand and gravel to boulder and mountain, was ejected into space where it began its own journey through the solar system. Scientist believe that about 5 percent of all meteorites we find on Earth are a result of this single ancient crash in deep space.",
+ ],
+ },
+ related: ["sc_dawn"],
+ stats: {
+ discovery:
+ "One of the largest and earliest known asteroids, Vesta was discovered on March 29th, 1807, and was visited by the Dawn mission in 2011.",
+ rotation: 5.342,
+ },
+ },
+ "433_eros": {
+ title: "Eros",
+ description: {
+ blurb: [
+ "Eros is famous as the first asteroid to be orbited by a spacecraft, and as the first one on which a spacecraft landed.",
+ ],
+ more: [
+ "The NEAR spacecraft first flew by Eros on Dec. 23, 1998 at a distance of about 2,400 miles (about 3,800 kilometers) and found that the asteroid was smaller than expected and had two medium-sized craters, a long surface ridge and a density similar to that of Earth's crust. Afterseveral trajectory adjustments, NEAR finally moved into orbit around Eros on Valentine's Day (befitting an asteroid named for the Greek god of love), Feb. 14, 2000.",
+ 'After nearly a year in orbit, during which time the spacecraft was renamed "NEAR Shoemaker" in honor of astrogeology pioneer Eugene Shoemaker, the mission carried out humanity\'s first asteroid landing on Feb. 12, 2001. Eros was 196 million miles (315 million kilometers) from Earth at the time.',
+ ],
+ },
+ related: ["sc_near_shoemaker"],
+ stats: {
+ discovery:
+ "Discovered on August 13th, 1898, Eros was the first near-Earth Object (NEO (near earth object)) ever found, and the first asteroid ever orbited by a spacecraft, NEAR-Shoemaker.",
+ rotation: 5.27,
+ },
+ approach: {
+ fact: "Eros will approach Earth within 0.39765 AU (astronomical units) on November 30th, 2025.",
+ },
+ },
+ callisto: {
+ title: "Callisto",
+ description: {
+ blurb: [
+ "Callisto is Jupiter’s second largest moon and the third largest moon in our solar system.",
+ ],
+ more: [
+ "Callisto is about the same size as Mercury. In the past, some scientists thought of Callisto as a boring “ugly duckling moon” and a “hunk of rock and ice.” That’s because the crater-covered world didn’t seem to have much going on—no active volcanoes or shifting tectonic plates. But data from NASA’s Galileo spacecraft in the 1990s revealed Callisto may have a secret: a salty ocean beneath its surface. That finding put the once seemingly dead moon on the list of worlds that could possibly harbor life.",
+ ],
+ },
+ related: ["sc_voyager_1", "sc_voyager_2", "sc_galileo", "sc_cassini"],
+ },
+ sc_chandra: {
+ title: "Chandra X-ray Observatory",
+ description: {
+ blurb: [
+ "Chandra allows scientists from around the world to obtain X-ray images of exotic environments to help understand the structure and evolution of the universe.",
+ ],
+ more: [
+ 'The Chandra X-ray Observatory is part of NASA\'s fleet of "Great Observatories" along with the Hubble Space Telescope, Spitizer Space Telescope and the now deorbited Compton Gamma Ray Observatory.',
+ "The Chandra X-ray Observatory, which was launched by Space Shuttle Columbia in 1999, can better define the hot, turbulent regions of space. This increased clarity can help scientists answer fundamental questions about the origin, evolution, and destiny of the universe.",
+ ],
+ },
+ dates: {
+ start: "1999-07-23T04:30:59.984",
+ end: "2014-01-09T07:35:59.984", // Coercing chandra to load; not actual end date
+ landing: "",
+ highlight: "2014-01-09T07:35:59.984",
+ },
+ parent: "earth",
+ related: ["sc_hubble_space_telescope", "sc_spitzer"],
+ },
+ charon: {
+ title: "Charon",
+ description: {
+ blurb: [
+ "At half the size of Pluto, Charon is the largest of Pluto's moons and the largest known satellite relative to its parent body.",
+ ],
+ more: [
+ "The little moon is so big that Pluto and Charon are sometimes referred to as a double dwarf planet system. The distance between them is 19,640 km (12,200 miles). Pluto-Charon is our solar system's only known double planetary system. The same surfaces of Charon and Pluto always face each other, a phenomenon called mutual tidal locking. Charon orbits Pluto every 6.4 Earth days.",
+ ],
+ },
+ related: ["sc_new_horizons"],
+ },
+ "67p_churyumov_gerasimenko": {
+ title: "Churyumov Gerasimenko",
+ description: {
+ blurb: [
+ "Comet 67P/ Churyumov-Gerasimenko made history as the first comet to be orbited and landed upon by robots from Earth.",
+ ],
+ more: [
+ "Churyumov-Gerasimenko loops around the Sun in an orbit that crosses those of Jupiter and Mars, approaching but not reaching Earth's orbit. Like most Jupiter Family comets, it is thought to have fallen from the Kuiper Belt, a region beyond Neptune's orbit, as a result of one or more collisions or gravitational tugs. The Rosetta spacecraft, carrying the Philae lander, rendezvoused with this comet in August 2014 and to escorted it on its journey to the inner solar system and back out again. Rosetta is a mission of the European Space Agency (ESA) for which NASA is providing key instruments and support.",
+ ],
+ },
+ related: ["sc_rosetta"],
+ stats: {
+ discovery:
+ "Discovered in 1969, this comet was the first to be landed upon by a robotic mission from Earth, the European Space Agency's Rosetta mission. The Philae lander touched down in November of 2014.",
+ rotation: 12.76,
+ },
+ approach: {
+ fact: "The comet approached Earth within 0.418 AU (astronomical units) on November 12th, 2021, and then will approach again in November of 2034 at a distance of 0.4523 AU (astronomical units).",
+ },
+ },
+ "1p_halley": {
+ title: "P/Halley",
+ description: {
+ blurb: [
+ "Halley's Comet or Comet Halley, officially designated 1P/Halley, is a short-period comet visible from Earth every 75–76 years. Halley is the only known short-period comet that is regularly visible to the naked eye from Earth, and the only naked-eye comet that can appear twice in a human lifetime.",
+ ],
+ more: [
+ "Halley's dimensions are about 9.3 by 5 miles (15 kilometers by 8 kilometers). It is one of the darkest, or least reflective, objects in the solar system. It has an albedo of 0.03, which means that it reflects only 3% of the light that falls on it. In 1986, an international fleet spacecraft met the comet for an unprecedented study from a variety of vantage points. The science fleet included Japan's Suisei and Sakigake spacecraft, the Soviet Union's Vega 1 and Vega 2,the international ISEE-3 (ICE) spacecraft and the European Space Agency's Giotto. NASA's Pioneer 7 and Pioneer 12 also contributed the the bounty of science data collected.",
+ ],
+ },
+ related: [],
+ },
+ "103p_hartley_2": {
+ title: "Hartley 2",
+ description: {
+ blurb: [
+ "Comet Hartley 2 is a small, oval-shaped comet -- its nucleus measures approximately one mile (1.6 kilometers) in diameter. It takes Hartley 2 about 6.47 years to orbit the Sun once.n It was visited by NASA's Deep Impact (EPOXI) mission in 2010.",
+ ],
+ more: [
+ "Comet 103P/Hartley 2 was discovered by Malcolm Hartley in 1986 at the Siding Springs Observatory in Australia. The Deep Impact spacecraft flew past Hartley 2 in its extended mission called EPOXI in November 2010.",
+ "During the spacecraft's flyby of the comet - with closest approach of 694 kilometers - carbon-dioxide-driven jets were seen at the ends of the comet, with most occurring at the small end. In the middle region, or waist of the comet, water was released as vapor with very little carbon dioxide or ice. The latter findings indicate that material in the waist likely came off the ends of the comet and was redeposited.",
+ ],
+ },
+ related: ["sc_deep_impact"],
+ stats: {
+ discovery:
+ "Discovered in 1986, Comet Hartley 2 was the target of the Deep Impact/EPOXI mission, which flew by in November of 2010.",
+ rotation: 18.1,
+ },
+ approach: {
+ fact: "103p/Hartley 2 is classified as an NEO (near earth object), and will approach Earth within 0.3826 AU (astronomical units) on September 26th, 2023.",
+ },
+ },
+ "1i_oumuamua": {
+ title: "Oumuamua",
+ description: {
+ blurb: [
+ "ʻOumuamua is the first known interstellar object detected passing through the Solar System.",
+ ],
+ more: [
+ "The first confirmed object from another star to visit our solar system, this interstellar interloper appears to be a rocky, cigar-shaped object with a somewhat reddish hue. The object, named ‘Oumuamua by its discoverers, is up to one-quarter mile (400 meters) long and highly-elongated—perhaps 10 times as long as it is wide. That aspect ratio is greater than that of any asteroid or comet observed in our solar system to date. Its elongated shape is quite surprising, and unlike objects seen in our solar system, it may provide new clues into how other solar systems formed. The observations suggest this unusual object had been wandering through the Milky Way, unattached to any star system, for hundreds of millions of years before its chance encounter with our star system.",
+ ],
+ },
+ related: [],
+ },
+ "9p_tempel_1": {
+ title: "Tempel 1",
+ description: {
+ blurb: [
+ "Comet 9P/Tempel 1 orbits the sun within the asteroid belt, which lies between the orbits of Mars and Jupiter. Tempel 1 last reached perihelion (closest approach to the sun) in 2016.",
+ ],
+ more: [
+ "Two missions have encountered this comet: Deep Impact in 2005 and Stardust NExT in in 2011. Deep Impact sent an impactor into Tempel 1, becoming the first spacecraft to eject material from the surface of a comet. Changes in the surface of Tempel 1 were obscured by all the material ejected during and after the collision.",
+ ],
+ },
+ related: ["sc_deep_impact", "sc_deep_impact_impactor", "sc_stardust"],
+ stats: {
+ discovery:
+ "Discovered in 1867, comet Tempel 1 was the target of the Deep Impact mission, which physically collided with the comet on July 4th, 2005.",
+ rotation: 40.7,
+ },
+ },
+ "19p_borrelly": {
+ title: "Borrelly",
+ description: {
+ blurb: [
+ "19P/Borrelly is a periodic comet, which was visited by the spacecraft Deep Space 1 in 2001.",
+ ],
+ more: [
+ 'With a shape resembling a chicken leg, the nucleus of comet 19P/Borrelly is approximately 5 miles (8 kilometers) long. The nucleus is inside a much larger cloud of gas and dust known as the "coma." Borrelly follows an elliptical orbit around the Sun, looping from inside the orbit of Mars to outside the orbit of Jupiter and back again. It is a "Jupiter-family comet," with an orbit period of less than 20 years and one ds1that has been significantly modified by the gravity of the gas giant planet through close passages. It takes 6.9 years for Borrelly to orbit the Sun once. The comet last reached perihelion (closest approach to the Sun) in 2015.',
+ "Deep Space 1 encountered comet Borrelly on Sept. 22, 2001. Flying by a speed of 10.3 miles (16.6 kilometers) per second (more than 37,000 mph, or almost 60,000 kph), Deep Space 1 traveled just 1,349 miles (2,171 kilometers) from Borrelly's nucleus. This spacecraft captured the best pictures of any comet's nucleus at the time and collected other valuable scientific data as well.",
+ ],
+ },
+ related: ["sc_deep_space_1"],
+ stats: {
+ discovery:
+ "Discovered in 1904, comet Borrelly was the target of the Deep Space 1 mission, which flew by in September of 2001.",
+ },
+ },
+ "81p_wild_2": {
+ title: "Wild 2",
+ description: {
+ blurb: [
+ "81P/Wild (Wild 2) (Wild is pronounced vilt) is a small comet with the shape of a flattened sphere. NASA made use of this special comet, when in 2004 it sent the Stardust mission to fly by it and gather particles.",
+ ],
+ more: [
+ "Comet 81P/Wild-2 is a fresh periodic comet. Until September 10, 1974, when it passed within 0.006 AU of Jupiter, its orbit lay between Jupiter and a point near Uranus. That encounter with Jupiter, at only 10 times the distance which fragmented P/Shoemaker-Levy 9 in 1994, brought it into the inner solar system, where its perihelion now lies just beyond the distance of Mars and its aphelion near Jupiter.",
+ ],
+ },
+ related: ["sc_stardust"],
+ stats: {
+ discovery:
+ "This comet was discovered on January 6th, 1978, and was visited by the Stardust mission in January of 2004.",
+ },
+ },
+ adrastea: {
+ title: "Adrastea",
+ description: {
+ blurb: [
+ "Adrastea was discovered in July 1979 by the Voyager science team.",
+ ],
+ more: [
+ "Orbiting within Io's orbit, which is the innermost of the four largest moons of Jupiter (called the Galilean moons), are four smaller moons named Metis, Adrastea, Amalthea, and Thebe.",
+ "All the moons within this grouping are oddly shaped, lacking either the mass and/or fluidity of composition to pull themselves into a reasonably spherical shape. The Galileo spacecraft has revealed some surface features, including impact craters, hills and valleys.",
+ "Adrastea is the smallest within this group having a mean radius of about 8.2 ± 2.0 km. Adrastea orbits 129,000 km from its parent planet Jupiter and it takes 0.298 Earth days for Adrastea to complete one orbit. We do not know the rotational period for Adrastea, but its orbital period is 7 hours.",
+ "Since Io orbits about 422,000 km above Jupiter and, at this close distance, is subjected to extreme tidal flexing from Jupiter's gravity, one would imagine that this even closer satellite would be pulled to pieces. However, because it is so small Adrastea is relatively immune to the effects of tidal forces. Adrastea is one of the two closest moons (the other is Metis) that orbit inside what is called the synchronous orbit radius of Jupiter. That is, Adrastea orbits Jupiter faster than Jupiter rotates on its axis. At this distance, Adrastea's orbit will eventually decay and it will fall into the planet.",
+ "Adrastea and Metis also orbit inside Jupiter's main ring and are undoubtedly the source of the material for this ring. Amalthea and Thebe provide the material for the Gossamer ring.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ aegaeon: {
+ title: "Aegaeon",
+ description: {
+ blurb: [
+ "Aegaeon is the smallest known moon of Saturn and scientists imaged it on Aug. 15, 2008, and then confirmed its presence by finding it in two earlier images.",
+ ],
+ more: [
+ "The moonlet is too small to be resolved by Cassini's cameras, so its size cannot be measured directly. However, Cassini scientists estimated the moonlet's size by comparing its brightness to another small Saturnian moon, Pallene. It has also been found that the moonlet's orbit is being disturbed by the larger, nearby moon Mimas, which is responsible for keeping the ring arc together. Aegaeon is embedded within a partial ring, or ring arc, previously found by Cassini, the G ring. Debris knocked off the moon forms a bright arc near the inner edge, which in turn spreads to form the rest of the ring. Based on its interaction with the dust particles that make up the G ring arc Aegaeon is embedded in, this small moon most likely has a density around half that of water ice. But unlike ice, Aegaeon is very dark. It's the least reflective of any Saturnian moon inward of Titan. Originally designated S/2008 S1, Aegaeon is named for a fierce giant with many heads and arms who helped conquer the Titans.",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ aegir: {
+ title: "Aegir",
+ description: {
+ blurb: [
+ "Aegir was discovered on Dec. 12, 2004 (one of 12 Saturnian moons found that day) using a wide-field camera on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Aegir has a mean radius of 1.9 miles (3 km), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 167 degrees and an eccentricity of 0.25. At a mean distance of 12.9 million miles (20.7 million km) from Saturn, the moon takes about 1,118 Earth days to complete one orbit. Aegir is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn—traveling around in the opposite direction from the planet's rotation. Aegir and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Aegir is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Originally called S/2004 S10, Aegir was named for a giant in Norse mythology who personified the ocean.",
+ ],
+ },
+ related: [],
+ },
+ aitne: {
+ title: "Aitne",
+ description: {
+ blurb: [
+ "Aitne was discovered on December 9, 2001 by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Aitne is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. The group probably began as a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision, which broke off a number of pieces, either before or after being captured by Jupiter's gravity. The largest remaining chunk (still retaining 99% of the group's mass) was named \"Carme,\" and the smaller pieces became the other 16 moons in the Carme group. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. They all are very similar in color -- light red -- except for Kalyke, which is considerably redder than the others. All of these characteristics support the idea that the Carme satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. Originally called S/2001 J11, Aitne was named for a Sicilian nymph said to have been raped by the Roman god Jupiter, while he was in the form of a vulture.",
+ ],
+ },
+ related: [],
+ },
+ albiorix: {
+ title: "Albiorix",
+ description: {
+ blurb: [
+ "Albiorix was discovered on Nov. 9, 2000 on Mt. Hopkins, near Amado, Ariz.",
+ ],
+ more: [
+ "Albiorix is one of the four known members of the Gallic group of moons. These moons have prograde orbits (they travel around Saturn in the same direction as the planet's rotation), but their egg-shaped, angled orbits classify them as \"irregular\" moons. Like Saturn's other irregular moons, they are thought to be objects that were captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet, as the regular moons are thought to have done. The other members of this group are Bebhionn, Erriapus, and Tarvos. Observations by Tommy Grav and James Bauer using telescopes on Mauna Kea, Hawaii in 2006 found that the color of Albiorix varies over its surface. They hypothesize that Tarvos and Erriapus, which were both seen to be light red, are the largest fragments from an impact on Albiorix, leaving a less-red crater (these observations did not include Bebhionn). Originally called S/2000 S11, Albiorix was named for a Gallic deity who may have been equivalent to the Roman god Mars.",
+ ],
+ },
+ related: [],
+ },
+ amalthea: {
+ title: "Amalthea",
+ description: {
+ blurb: [
+ "Amalthea was discovered Sept. 9, 1892 by Edward Emerson Barnard.",
+ ],
+ more: [
+ "Orbiting within Io's orbit, which is the innermost of the four largest moons of Jupiter (called the Galilean moons), are four smaller moons named Metis, Adrastea, Amalthea, and Thebe.",
+ "All the moons within this grouping are oddly shaped, lacking either the mass and/or fluidity of composition to pull themselves into a reasonably spherical shape. The Galileo spacecraft has revealed some surface features, including impact craters, hills and valleys.",
+ "Amalthea is the largest within this grouping with a mean radius of about 83.5 ± 2.4 km. Amalthea orbits 181,400 km from its parent planet Jupiter. Amalthea takes 0.498 Earth days to complete one orbit.",
+ "Amalthea is the reddest object in the solar system and it appears to give out more heat than it receives from the sun. This may be because, as it orbits within Jupiter's powerful magnetic field, electric currents are included in the moon's core. Alternatively, the heat could be from tidal stresses.",
+ "Amalthea and Thebe rotate on their axes once for each orbit around Jupiter, always keeping the same side facing the planet. This orbit takes about one-half an Earth day for Amalthea and two-thirds an Earth day for Thebe.",
+ "Amalthea and the moon Thebe provide the material for the Gossamer ring.",
+ "Since Io orbits about 422,000 km above Jupiter and, at this close distance, is subjected to extreme tidal flexing from Jupiter's gravity, one would imagine that this even closer satellite would be pulled to pieces. However, because it is so small (Amalthea's diameter is 1/19th that of Io's diameter) it is relatively immune to the effects of tidal forces. Since Amalthea is so close to its parent planet its orbit will eventually decay and it will fall into the planet.",
+ ],
+ },
+ related: [],
+ },
+ ananke: {
+ title: "Ananke",
+ description: {
+ blurb: [
+ "Ananke was discovered on Sept. 28, 195 on a photograph made with the 100-inch (2.5 m) Hooker telescope at the Mount Wilson Observatory in California.",
+ ],
+ more: [
+ "Ananke is the largest member of the Ananke group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. Ananke was probably an asteroid that was captured by Jupiter's gravity and then suffered a collision which broke off a number of pieces. Those pieces became the other 15 moons in the Ananke group. All of the Ananke moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and rather highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Ananke satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. Ananke's observed color is somewhere between gray and light red. Ananke was named for the mother of Adrastea by Zeus, the Greek equivalent of the Roman god Jupiter. In other accounts, Adrastea is described as a nymph of Crete who was one of the nursemaids of the infant Zeus. Ananke is the personification of fate or necessity in ancient Greek literature, who rewards or punishes people for their deeds.",
+ ],
+ },
+ related: [],
+ },
+ anthe: {
+ title: "Anthe",
+ description: {
+ blurb: [
+ "Anthe was discovered on May 30, 2007, although a check back revealed Anthe in Cassini images as early as June 2004. Anthe is the 60th confirmed moon of Saturn.",
+ ],
+ more: [
+ "Anthe is a tiny moon with a mean radius of 0.6 miles (0.9 km) that orbits between Mimas and Enceladus at about of 122,800 miles (197,700 km) from Saturn. Anthe and two other tiny moons, Methone and Pallene, may have split from either Mimas or Enceladus, or all five moons may be the remains of a larger swarm that traveled in that area close to Saturn. Anthe circles Saturn in approximately 25 hours. Because these three tiny moons orbit at very similar distances from Saturn, they are in a dynamical relationship. The vastly more massive Mimas has the greatest effect on Anthe, causing the Methone orbit to vary by as much as 12.4 miles (20 km), and has a slightly smaller effect on Pallene. Together, these three moons may also be contributing particles to Saturn's E ring. Material blasted off Anthe by micrometeoroid impacts is believed to the source of the Anthe Ring Arc, a faint partial ring arout Saturn that is co-orbital with the moon first detected in June 2007. The name Anthe comes from the name in Greek mythology of one of seven Alkyonides—daughters of the god (or Titan) Alkyoneus. Astronomers also refer to Anthe as Saturn XLIX, and before it was confirmed, it was known as S/2007 S4.",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ aoede: {
+ title: "Aoede",
+ description: {
+ blurb: [
+ "Aoede was discovered Feb. 8, 2003 at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Aoede is considered a member of the Pasiphae group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. Most or all of the Pasiphae satellites are thought to have begun as a single asteroid that, after being captured by Jupiter's gravity, suffered a collision which broke off a number of pieces. All of the Pasiphae moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Pasiphae satellites began as one or more captured asteroids, rather than forming as part of the original Jupiter system. Aoede has a mean radius of two km, assuming an albedo of 0.04. At a mean distance of about 14.9 million miles (24 million km) from Jupiter, the satellite takes about 761 Earth days to complete one orbit. Originally called S/2003 J7, Aoede was named for one of the Muses, who were daughters of Zeus, the Greek equivalent of the Roman god Jupiter. Aoede means song. A name ending in \"e\" was chosen for this moon in accordance with the International Astronomical Union's policy for designating outer moons with retrograde orbits.",
+ ],
+ },
+ related: [],
+ },
+ arche: {
+ title: "Arche",
+ description: {
+ blurb: [
+ "Arche was discovered Oct. 31, 2002, by Scott S. Sheppard at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Arche is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. The group probably began as a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision, which broke off a number of pieces, either before or after being captured by Jupiter's gravity. The largest remaining chunk (still retaining 99 percent of the group's mass) was named \"Carme,\" and the smaller pieces became the other 16 moons in the Carme group. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. They all are very similar in color—light red—except for Kalyke, which is considerably redder than the others. Arche has a mean radius of about 1 mile (1.5 km). At a mean distance of about 14.5 million miles (23.4 million) km from Jupiter, the satellite takes about 732 Earth days to complete one orbit. Originally called S/2002 J1, Arche was named for one of the Muses, who were daughters of Zeus, the Greek equivalent of the Roman god Jupiter. Her name means \"beginning.\"",
+ ],
+ },
+ related: [],
+ },
+ atlas: {
+ title: "Atlas",
+ description: {
+ blurb: [
+ "Atlas was discovered in 1980 by R. Terrile and the Voyager 1 team from photographs taken during its encounter with Saturn.",
+ ],
+ more: [
+ "Atlas is an inner moon of Saturn, orbiting around the outer edge of Saturn's A Ring. Like Pan, Atlas has a distinctive flying saucer shape created by a prominent equatorial ridge not seen on the other small moons of Saturn. Cassini images revealed in 2004 that a temporary faint ring of material with the orbit of Atlas. The small, pointy moon has a mean radius of 9.4 miles (15.1 km). It orbits 85,544 miles (137,670 km) away from, taking 14.4 hours to complete its trip around the planet. Moons of Saturn were originally named for Greco-Roman Titans and descendants of the Titans. But as many new moons were discovered, scientists began selecting names from more mythologies including Gallic, Inuit, and Norse stories. Originally designated S/1980 S28, this moon is named after Atlas, a Titan, and a son of Iapetus. Atlas was ordered by Zeus to uphold the vault of the sky after the defeat of the Titans. Atlas was so strong that he supported the weight of the Universe on his shoulders.",
+ ],
+ },
+ related: ["sc_voyager_1"],
+ },
+ autonoe: {
+ title: "Autonoe",
+ description: {
+ blurb: [
+ "Autonoe was discovered Dec. 10, 2001 by Scott S. Sheppard, David C. Jewitt, and Jan T. Kleyna at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Autonoe is considered a member of the Pasiphae group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. Most or all of the Pasiphae satellites are thought to have begun as a single asteroid that, after being captured by Jupiter's gravity, suffered a collision which broke off a number of pieces. The bulk of the original asteroid survived as the moon called Pasiphae, and the other pieces became some or all of the other moons in the group. All of the Pasiphae moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Pasiphae satellites began as one or more captured asteroids, rather than forming as part of the original Jupiter system. Autonoe has a mean radius of 1.2 miles (2 km), assuming an albedo of 0.04. At a mean distance of about 14.9 million miles (24 million km) from Jupiter, the satellite takes about 761 Earth days to complete one orbit. Originally called S/2001 J1, Autonoe was named for the mother of the Graces by Jupiter, according to some authors.",
+ ],
+ },
+ related: [],
+ },
+ bebhionn: {
+ title: "Bebhionn",
+ description: {
+ blurb: [
+ "Bebhionn was discovered on Dec. 12, 2004 using the wide-field camera on the 8.2-m Subaru telescope on Mauna Kea, Hawaii, with orbital elements computed by Brian Marsden.",
+ ],
+ more: [
+ "Bebhionn has a mean radius of 1.9 miles (3 km), assuming an albedo (a measure of how reflective the surface is) of 0.04. At a mean distance of 10.6 million miles (17.1 million km) from Saturn, the moon takes about 835 Earth days to complete one orbit. Bebhionn is one of the four known members of the Gallic group of moons. These moons have prograde orbits (they travel around Saturn in the same direction as the planet's rotation), but their egg-shaped, angled orbits classify them as \"irregular\" moons. Like Saturn's other irregular moons, they are thought to be objects that were captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet, as the regular moons are thought to have done. The similarities among the orbits of moons in the Gallic group suggest a common origin—they may be fragments of a single object that shattered in a collision. The other members of this group are Albiorix, Erriapus, and Tarvos. Originally called S/2004 S11, Bebhionn was named for a beautiful giantess in Celtic mythology. In one story, she escapes from Maidens' Land—which was populated entirely by women except for the king and his three sons—only to be slain by her giant husband, who was the son of the king of the Isle of Men.",
+ ],
+ },
+ related: [],
+ },
+ belinda: {
+ title: "Belinda",
+ description: {
+ blurb: [
+ "Belinda was discovered on Jan. 13, 1986 in images taken by Voyager 2. It is one of the 10 Uranian satellites discovered by the Voyager science team.",
+ ],
+ more: [
+ "Little is known about Belinda other than its size and orbital characteristics. Based on its low albedo, its surface probably consists of the dark, unprocessed, carbon-rich material found on the C-class of asteroids.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ bergelmir: {
+ title: "Bergelmir",
+ description: {
+ blurb: [
+ "Bergelmir was discovered on Dec. 12, 2004, one of 12 Saturnian moons found that day using wide-field camera on the Subaru 8.3-m reflector telescope on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Bergelmir has a mean radius of 1.9 miles (3 km), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 159 degrees and an eccentricity of about 0.1. At a mean distance of 12 million miles (19.3 million km) from Saturn, the moon takes about 1,006 Earth days to complete one orbit. Bergelmir is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn—traveling around in the opposite direction from the planet's rotation. Bergelmir and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Bergelmir is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Originally called S/2004 S15, Bergelmir was named for the frost giant who, with his wife, escaped drowning in the flood of Ymir's blood that ensued when Ymir was slain by Odin and his brothers in the Norse tale of creation.",
+ ],
+ },
+ related: [],
+ },
+ bestla: {
+ title: "Bestla",
+ description: {
+ blurb: [
+ "Bestla was discovered on Dec. 12, 2004, one of 12 Saturnian moons found that day using wide-field camera on the Subaru 8.3-m reflector telescope on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Bestla has a mean radius of 2.2 miles (3.5 km), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 142 degrees and an eccentricity of about 0.5. At a mean distance of 12.6 million miles (20.3 million km) from Saturn, the moon takes about 1,087 Earth days to complete one orbit. Bestla is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn—traveling around in the opposite direction from the planet's rotation. Bestla and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Bestla is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Bestla appears to be a member of a subgroup with Narvi. Originally called S/2004 S18, Bestla is named for a giantess and the mother of Odin, who is the supreme god in Norse mythology.",
+ ],
+ },
+ related: [],
+ },
+ bianca: {
+ title: "Bianca",
+ description: {
+ blurb: [
+ "Bianca was discovered Jan. 23, 1986 in images taken by Voyager 2. It is one of the 10 Uranian satellites discovered by the Voyager science team.",
+ ],
+ more: [
+ 'Bianca is one of the small, inner moons of Uranus. Little is known about it other than its size and orbital characteristics. Neither its size or albedo have been measured directly, but by analogy with Belinda and Puck, its surface probably consists of the dark, unprocessed, carbon-rich material found on the C-class of asteroids. Originally called S/1986 U9, Bianca was named after the sister of Katharina (Kate) in Shakespeare\'s play, "The Taming of the Shrew."',
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ c_2010_x1: {
+ title: "Elenin",
+ description: {
+ blurb: [
+ "Comet C/2010 X1 (Elenin) is an Oort cloud comet discovered on December 10, 2010.",
+ ],
+ more: [
+ "Comet Elenin was hit by a coronal mass ejection from the sun and started disintegrating in August of 2011, and as of mid-October 2011 was not visible even using large ground-based telescopes.",
+ ],
+ },
+ related: [],
+ },
+ c_2012_s1: {
+ title: "ISON",
+ description: {
+ blurb: [
+ "C/2012 S1 (ISON) bears the name of the night-sky survey program that discovered it, the International Scientific Optical Network, in 2012.",
+ ],
+ more: [
+ "C/2012 S1 (ISON) was the subject of the most coordinated comet observing campaign in history. Over the course of a year, more than a dozen spacecraft and numerous ground-based observers collected what is believed to be the largest single cometary dataset in history as ISON plunged toward a close encounter with the Sun.Just prior to its closest approach to the sun on Nov. 28, 2013, Comet ISON went through a major heating event, and was torn to pieces. What remained of Comet ISON appeared to brighten and spread out, then fade.",
+ ],
+ },
+ related: ["sc_deep_impact"],
+ },
+ caliban: {
+ title: "Caliban",
+ description: {
+ blurb: [
+ "Caliban orbits Uranus in the opposite direction from the regular moons and the rotation of the planet itself (called a retrograde orbit). Its orbit is also somewhat inclined and eccentric, and very far from the planet -- more than 10 times farther than Oberon, the farthest regular moon. These characteristics suggest that Caliban was an independent body that was captured by Uranus' gravity. It is thought to be about 72 km in diameter, and to be the second largest irregular satellite of Uranus (about half the size of Sycorax). The size estimate is based on the brightness of the moon and an assumed albedo of 0.04, typical of captured asteroids in the outer solar system.",
+ ],
+ },
+ related: [],
+ },
+ callirrhoe: {
+ title: "Callirrhoe",
+ description: {
+ blurb: [
+ "Callirrhoe was discovered Oct. 19, 1999 via the 36-inch telescope on Kitt Peak, in the course of observations by the Spacewatch program of the University of Arizona.",
+ ],
+ more: [
+ "Initially thought to be an asteroid, Callirrhoe is considered a member of the Pasiphae group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. All of the Pasiphae moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Pasiphae satellites began as one or more captured asteroids, rather than forming as part of the original Jupiter system. Compared to Jupiter's other satellite groups, confidence is lower that all the moons in the Pasiphae group originated in a single collision. This is due to differences in color (varying from red to gray), and differences in orbital eccentricity and inclination among the members of the Pasiphae group. Sinope, in particular, is suspected of starting out as an independent asteroid. Callirrhoe has a mean radius of 2.7 miles (4.3 km), assuming an albedo of 0.04. At a mean distance of about 15 million miles (24.1 million km) from Jupiter, the satellite takes about 759 Earth days to complete one orbit. This object was originally called asteroid 1999 UX18 and then renamed S/1999 J1 upon discovery that it is a satellite of Jupiter. Ultimately, it was named \"Callirrhoe\" after the daughter of the river god, Achelous, who persuaded Zeus (the Greek equivalent of the Roman god Jupiter) to instantly change her young sons into grown men so they could avenge the murder of their father.",
+ ],
+ },
+ related: [],
+ },
+ calypso: {
+ title: "Calypso",
+ description: {
+ blurb: [
+ "Calypso was discovered by D. Pascu, P.K. Seidelmann, W. Baum, and D. Currie in March 1980 using a ground-based telescope.",
+ ],
+ more: [
+ 'Calypso is a Trojan (trailing moon) of the larger moon Tethys, orbiting 183,000 miles (295,000 km) from Saturn, completing one orbit in 45 hours. Calypso follows Tethys in its orbit by 60 degrees. (Telesto is the other Tethys Trojan, orbiting Saturn 60 degrees ahead of Tethys.) Together, Calypso and Telesto are known as the "Tethys Trojans" and were discovered in the same year. Calypso has a mean radius of 6.6 miles (10.7 km) across. Like many other small Saturnian moons and small asteroids, Calypso is irregularly shaped by overlapping large craters. This moon appears to also have loose surface material capable of smoothing the appearance of craters. Its surface is one of the most reflective (at visual wavelengths) in the solar system, with a visual geometric albedo (a measure of how reflective the surface is) of 1.34. This very high reflectiveness could be the result of particles from Saturn\'s E-ring, which is composed of small ice particles generated by Enceladus\' south polar geysers. Moons of Saturn were originally named for Greco-Roman Titans and descendants of the Titans. But as many new moons were discovered, scientists began selecting names from more mythologies, including Gallic, Inuit, and Norse stories. Originally called S/1980 S25, Calypso is named for a nymph whose name means "I hide." A daughter of the Titans, Oceanus and Tethys, she lived alone on her island until she fell in love with the explorer Odysseus (called Ulysses by the Romans; his name means "one who suffers"). Calypso helped Odysseus find his way home after his long voyage and dangerous adventures.',
+ ],
+ },
+ related: [],
+ },
+ carme: {
+ title: "Carme",
+ description: {
+ blurb: [
+ "Carme was discovered on July 30, 1938 by Seth Barnes Nicholson with the 100-inch (2.5 m) Hooker telescope at the Mount Wilson Observatory in California.",
+ ],
+ more: [
+ "With a mean radius of 14 miles (23 km), Carme is the largest member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. Carme was probably a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision, which broke off a number of pieces, either before or after being captured by Jupiter's gravity. Those pieces became the other 16 moons in the Carme group. Carme still retains 99 percent of the total mass of the group. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. They all are very similar in color—light red—except for Kalyke, which is considerably redder than the others. All of these characteristics support the idea that the Carme satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Carme members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. At a mean distance of about 14.5 million miles (23.4 million km) from Jupiter, the satellite takes about 734 Earth days to complete one orbit. Carme is named for the mother of Britomartis by the Roman god Jupiter (or Zeus in the Greek version of the myth), who became a goddess of Crete. A name ending in \"e\" was chosen in accordance with the International Astronomical Union's policy for designating outer moons with retrograde orbits.",
+ ],
+ },
+ related: [],
+ },
+ carpo: {
+ title: "Carpo",
+ description: {
+ blurb: [
+ "Carpo was discovered on Feb. 26, 2003 using the 12-ft. (3.6-m) Canada-France-Hawaii telescope at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Carpo, some 1.9 miles (3 km) across (assuming an albedo of 0.04), orbits Jupiter at a distance of about 10.5 million miles (17 million km). It takes a little over 456 Earth days to complete one orbit. The orbit is somewhat inclined with respect to Jupiter's equatorial plane, and the direction of travel is the same as that of Jupiter's rotation (a \"prograde\" orbit). It is Jupiter's most distant known moon with a prograde orbit. There are many moons known to be further out, but they all travel around Jupiter in the opposite direction. Originally designated S/2003 J20, Carpo was named for one of the three Athenian goddesses of the flowers of spring and the fruits of summer and autumn. An annual festival in their honor was called the Horaea. According to Hesoid, a group of goddesses collectively called the Horae (with different names, which did not include Carpo) were daughters of Zeus, the Greek equivalent of the Roman god Jupiter.",
+ ],
+ },
+ related: [],
+ },
+ chaldene: {
+ title: "Chaldene",
+ description: {
+ blurb: [
+ "Chaldene was discovered Nov. 23, 2000 by Scott S. Sheppard, David C. Jewitt, Yange R. Fernandez, and Eugene Magnier at an observatory on Mauna Kea in Hawaii.",
+ ],
+ more: [
+ "Chaldene is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. The group probably began as a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision which broke off a number of pieces, either before or after being captured by Jupiter's gravity. The largest remaining chunk (still retaining 99 percent of the group's mass) was named \"Carme,\" and the smaller pieces became the other 16 moons in the Carme group. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. They all are very similar in color—light red—except for Kalyke, which is considerably redder than the others. All of these characteristics support the idea that the Carme satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Carme members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Chaldene has a mean radius of about 1 mile (1.9 km). At a mean distance of about 14.3 million miles (23.1 million km) from Jupiter, the satellite takes about 724 Earth days to complete one orbit. Originally called S/2000 J10, Chaldene was named for the mother of Solymos by Zeus, the Greek equivalent of the Roman god Jupiter. A name ending in \"e\" was chosen in accordance with the International Astronomical Union's policy for designating outer moons with retrograde orbits.",
+ ],
+ },
+ related: [],
+ },
+ cordelia: {
+ title: "Cordelia",
+ description: {
+ blurb: [
+ "Cordelia was discovered on Jan. 20, 1986 in images taken by Voyager 2. It is one of the 10 Uranian satellites discovered by the Voyager science team.",
+ ],
+ more: [
+ "Of the moons known to orbit Uranus, Cordelia is closest to the planet. It and Ophelia are shepherd moons whose gravity keeps the particles that constitute Uranus' Epsilon ring from dispersing. Neither its size nor its albedo have been measured directly, but assuming an albedo of 0.07 like Puck, its surface probably consists of the dark, unprocessed, carbon-rich material found on the C-class of asteroids. Originally called S/1986 U7, Cordelia was named for one of the youngest daughters of King Lear in William Shakespeare's play of the same name. King Lear disowns Cordelia for her refusal to flatter him. Others think highly of her, and the King of France marries her for her virtue alone. Cordelia forgives her father in spite of his cruelty toward her and remains loyal to him.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ cressida: {
+ title: "Cressida",
+ description: {
+ blurb: [
+ "Cressida was discovered on Jan. 9, 1986 in images taken by Voyager 2. It is one of the 10 Uranian satellites discovered by the Voyager science team.",
+ ],
+ more: [
+ 'Cressida is one of the small, inner moons of Uranus. Little is known about it other than its size and orbital characteristics. Based on its low albedo, its surface probably consists of the dark, unprocessed, carbon-rich material found on the C-class of asteroids. Originally called S/1986 U3, Cressida was named for the title character in William Shakespeare\'s play, "Troilus and Cressida."',
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ cupid: {
+ title: "Cupid",
+ description: {
+ blurb: [
+ "Cupid was discovered on Aug. 25, 2003 by M.R. Showalter and J.J. Lissauer, using the Hubble Space Telescope.",
+ ],
+ more: [
+ "Cupid is one of the inner moons of Uranus, so small and dark that it escaped the notice of Voyager 2 during the spacecraft's visit in 1986. Originally called S/2003 U2, Cupid was named for the Roman god of love, who appears in William Shakespeare's play, \"Timon of Athens\" (in keeping with the custom of naming most of Uranus' moons after Shakespearean characters).",
+ ],
+ },
+ related: [],
+ },
+ cyllene: {
+ title: "Cyllene",
+ description: {
+ blurb: [
+ "Cyllene was discovered Feb. 9, 2003 by Scott S. Sheppard and his team from the University of Hawaii at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Cyllene is considered a member of the Pasiphae group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. Most or all of the Pasiphae satellites are thought to have begun as a single asteroid that, after being captured by Jupiter's gravity, suffered a collision which broke off a number of pieces. The bulk of the original asteroid survived as the moon called Pasiphae, and the other pieces became some or all of the other moons in the group. All of the Pasiphae moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Pasiphae satellites began as one or more captured asteroids, rather than forming as part of the original Jupiter system. Compared to Jupiter's other satellite groups, confidence is lower that all the moons in the Pasiphae group originated in a single collision. This is due to differences in color (varying from red to gray), and differences in orbital eccentricity and inclination among the members of the Pasiphae group. Sinope, in particular, is suspected of starting out as an independent asteroid. Cyllene has a mean radius of one kilometer, assuming an albedo of 0.04. At a mean distance of about 14.8 million miles (23.8 million km) from Jupiter, the satellite takes about 752 Earth days to complete one orbit. Originally called S/2003 J13, Cyllene was named for a nymph in Greek mythology who was a daughter of Zeus, the Greek equivalent of the Roman god Jupiter. She is associated with a mountain in Arcadia on which, legend has it, the blackbirds become white and are impossible to shoot during the daytime.",
+ ],
+ },
+ related: [],
+ },
+ dactyl: {
+ title: "Dactyl",
+ description: {
+ blurb: [
+ "Dactyl is a moon of the asteroid 243 Ida, discovered by the Galileo spacecraft in 1993.",
+ ],
+ more: [
+ "Dactyl is heavily cratered, like Ida, and consists of similar materials. Its origin is uncertain. Dactyl was found on 17 February 1994 by Galileo mission member Ann Harch, while examining delayed image downloads from the spacecraft. Galileo recorded 47 images of Dactyl over an observation period of 5.5 hours in August of 1993. Dactyl's orbit around Ida is not precisely known.",
+ ],
+ },
+ related: ["sc_galileo"],
+ },
+ daphnis: {
+ title: "Daphnis",
+ description: {
+ blurb: [
+ "Daphnis was discovered by the Cassini mission team on 1 May 2005. Prior to its discovery, scientists posited the existence of a moon in Daphnis' position due to the ripples observed along the edge of the Keeler Gap.",
+ ],
+ more: [
+ "Known as the wavemaker moon, scientists posited the existence of a moon in Daphnis' position due to the ripples observed along the edge of the Keeler Gap. Daphnis has a mean radius of 2.4 miles (3.8 km) and orbits 85,000 miles (136,500 km) from Saturn, completing one orbit in 14 hours. The gravitational pull of tiny inner Saturnian moon Daphnis perturbs the orbits of particles of Saturn's A ring—and sculpting the edge of the Keeler Gap into waves. Material on the inner edge of the gap orbits faster than the moon, so the waves there lead the moon in its orbit. Material on the outer edge moves slower than the moon, so waves there trail the moon. The waves Daphnis causes cast shadows on Saturn during its equinox when the sun is in line with the plane of the rings. Formerly known as S/2005 S1, Daphnis is named for a shepherd, and pipes player who is a pastoral poet in Greek mythology. Daphnis was the son of Hermes, the brother of Pan and a descendent of the Titans.",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ deimos: {
+ title: "Deimos",
+ description: {
+ blurb: [
+ "Deimos is the smaller of Mars' two moons. Being only 9 by 7 by 6.8 miles in size (15 by 12 by 11 kilometers), Deimos whirls around Mars every 30 hours.",
+ ],
+ more: [
+ "Deimos is a small and lumpy, heavily cratered object. Its craters are generally smaller than 1.6 miles (2.5 kilometers) in diameter, however, and it lacks the grooves and ridges seen on Phobos. Typically when a meteorite hits a surface, surface material is thrown up and out of the resulting crater. The material usually falls back to the surface surrounding the crater. However, these ejecta deposits are not seen on Deimos, perhaps because the moon's gravity is so low that the ejecta escaped to space. Material does appear to have moved down slopes. Deimos also has a thick regolith, perhaps as deep as 328 feet (100 meters), formed as meteorites pulverized the surface. Deimos is a dark body that appears to be composed of C-type surface materials, similar to that of asteroids found in the outer asteroid belt.",
+ ],
+ },
+ related: [],
+ },
+ desdemona: {
+ title: "Desdemona",
+ description: {
+ blurb: [
+ "Desdemona was discovered on Jan. 13 1986 in images taken by Voyager 2. It is one of the 10 Uranian satellites discovered by the Voyager science team.",
+ ],
+ more: [
+ 'Desdemona is one of the small, inner moons of Uranus. Little is known about it other than its size and orbital characteristics. Neither its size nor its albedo have been measured directly, but assuming an albedo of 0.07 like Puck, its surface probably consists of the dark, unprocessed, carbon-rich material found on the C-class of asteroids. Originally called S/1986 U6, Desdemona was named after the wife of Othello in William Shakespeare\'s play, "Othello, the Moor of Venice." Desdemona is the daughter of a Venetian senator.',
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ despina: {
+ title: "Despina",
+ description: {
+ blurb: [
+ "Despina is a tiny moon located within Neptune's faint ring system. The irregularly-shaped moon orbits Neptune every eight hours, circling in the same direction as Neptune's own rotation. Despina remains close to Neptune's equatorial plane.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ dia: {
+ title: "Dia",
+ description: {
+ blurb: [
+ "Dia was discovered in 2000 by using the University of Hawaii's 2.2 m (88 inch) telescope atop Mauna Kea. The moon was then lost in Jupiter's bright glare for several years. Dia was rediscovered in images obtained by the Magellan Telescope in 2010 and 2011.",
+ ],
+ more: [
+ 'With a prograde orbit and a radius of about 1.2 miles (2 km), Dia is among the smallest member of the Himalia group (made up of Himalia, Leda, Lysithea, and Elara). Dia is a Greek name meaning "she who belongs to Zeus" (who became Jupiter in Roman mythology). Dia was the divine daughter of the seashore. The tiny moon was originally called S/2000 J11 because it is a satellite that was discovered in 2000, and was the 11th satellite of Jupiter to be found that year.',
+ ],
+ },
+ },
+ dimorphos: {
+ title: "Dimorphos",
+ description: {
+ blurb: [
+ "Dimorphos is an asteroid that is part of a binary system with the larger asteroid Didymos, and has an orbital period of 11.9 hours.",
+ ],
+ more: [
+ "Discovered in 2003, It measures approximately 160 metres (520 ft) in diameter compared to the larger Didymos, at 780 metres (2,560 ft). The DART mission successfully impacted Dimorphos on September 26th, 2022, in order to test the viability of redirecting the orbit of an asteroid. The orbital period of Dimorphos around Didymos was changed by approximately half an hour.",
+ ],
+ },
+ related: ["sc_dart"],
+ stats: {
+ discovery:
+ "First observed in 2003 (7 years after the discovery of Didymos), Dimorphos is the smaller twin of the Didymos binary asteroid system. The DART mission intentionally crashed into Dimorphos on September 26th, 2022, and successfully altered its orbit.",
+ rotation: 11.92,
+ },
+ approach: {
+ fact: "Dimorphos and its binary system are classifed as a PHO (potentially hazardous object), and approached Earth at a distance of 0.07123 AU (astronomical units) on October 4th, 2022.",
+ },
+ },
+ dione: {
+ title: "Dione",
+ description: {
+ blurb: [
+ "Dione is a small moon orbiting Saturn every 2.7 days at a distance roughly the same as our moon orbits around the Earth.",
+ ],
+ more: [
+ "About 700 miles (1,100 kilometers) in diameter, Dione's density is 1.48 times that of liquid water, suggesting that about a third of Dione is made up of a dense core (probably silicate rock) with the remainder of its composition being ice. At Dione's average temperature of minus 121 degrees Fahrenheit (minus 186 degrees Celsius or 87 Kelvin), ice is hard as rock. Ice particles as fine as smoke constantly bombard Dione from Saturn's E ring, which is produced by the jets of icy material spraying from Enceladus. So while Enceladus is less than half the diameter of Dione, the smaller moon is altering the surface of the larger moon, painting it with fresh ice dust.",
+ ],
+ },
+ related: ["sc_cassini", "sc_voyager_1", "saturn"],
+ },
+ sc_dscovr: {
+ title: "DSCOVR",
+ description: {
+ blurb: [
+ "DSCOVR (Deep Space Climate Observatory) is an American space weather station that monitors changes in the solar wind, providing space weather alerts and forecasts for geomagnetic storms that could disrupt power grids, satellites, telecommunications, aviation and GPS.",
+ ],
+ more: [
+ "DSCOVR was launched on Feb.11, 2015, and 100 days later it reached the Sun–Earth L1 Lagrange point and began orbiting about 1 million miles (1.5 million kilometers) from Earth.",
+ "The satellite has a continuous view of the Sun and the sunlit side of Earth. It takes full Earth pictures about every 2 hours using the Earth Polychromatic Imaging Camera (EPIC) instrument. In October 2015, a website was launched that posts at least a dozen new color images every day from EPIC.",
+ ],
+ },
+ dates: {
+ start: "2015-02-11T23:03:02",
+ end: "",
+ landing: "",
+ },
+ related: ["sun", "earth"],
+ },
+ eirene: {
+ title: "Eirene",
+ description: {
+ blurb: [
+ "Eirene was discovered in February 2003 by Scott Sander Sheppard at the Mauna Kea Observatory in Hawaii, and originally designated S/2003 J5.",
+ ],
+ more: [
+ "Eirene is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Eirene has a mean radius of about 1.2 miles (2 kilometers). At a mean distance of about 15 million miles (23.5 million kilometers) from Jupiter, the satellite takes about 739 Earth days to complete one orbit. In mythology, Eirene is the goddess of peace and the daughter of Zeus and Themis.",
+ ],
+ },
+ },
+ elara: {
+ title: "Elara",
+ description: {
+ blurb: [
+ "Elara was discovered on Jan. 5, 1905 in photographs taken with the Crossley 36-inch (0.9 meter) reflector of the Lick Observatory on Mount Hamilton at the University of California, San Jose.",
+ ],
+ more: [
+ "Elara is the eighth largest moon of Jupiter. With a mean radius of 26.7 miles (43 km) assuming an albedo of 0.04, it's only about 2 percent the size of Europa, the smallest of the four Galilean moons. But it's about half as big as Himalia, which makes it the second biggest in the Himalia group, a family of Jovian satellites which have similar orbits and appearance, and are therefore thought to have a common origin. Elara may be a chunk of an asteroid (a C- or D-class asteroid, judging by the fact that it reflects only about 4 percent of the light it receives), which was broken apart in a collision either before or after being captured by Jupiter's gravity. In this scenario, the other pieces became the other moons in the Himalia group: Leda, Himalia (the largest), and Lysithea. A fifth moon, called S/2000 J11, only about 1.2 miles (2 km) in radius, was considered a candidate for this group. However, it was lost before its orbit could be definitively determined. It may have crashed into Himalia, reuniting two pieces of the former asteroid, and perhaps creating a faint temporary ring of Jupiter near the orbit of Himalia. At a distance of about 7.3 million miles (11.7 million km) from Jupiter, Elara takes nearly 260 Earth days to complete one orbit. Elara is named for one of the lovers of Zeus, the Greek equivalent of the Roman god Jupiter. In Greek mythology, Zeus hid her from his wife, Hera, by placing Elara deep beneath the Earth, where she gave birth to their son, a giant called Tityas.",
+ ],
+ },
+ related: [],
+ },
+ enceladus: {
+ title: "Enceladus",
+ description: {
+ blurb: [
+ "One of Saturn's most surprising moons, Enceladus has altered views about where life might exist.",
+ ],
+ more: [
+ "Few worlds in our solar system are as compelling as Saturn’s icy ocean moon Enceladus. A handful of worlds are thought to have liquid water oceans beneath their frozen shell, but Enceladus sprays its ocean out into space where a spacecraft can sample it. From these samples, scientists have determined that Enceladus has most of thechemical ingredients needed for life, and likely has hydrothermal vents spewing out hot, mineral-rich water into its ocean. About as wide as Arizona, Enceladus also has the whitest,most reflective surface in the solar system. The moon creates a ring of its own as it orbits Saturn—its spray of icy particles spreads out into the space around its orbit, circling the planet to form Saturn’s E ring. In 2005, NASA’s Cassini spacecraft discovered that icy water particles and gas gush from the moon’s surface at approximately 800 miles per hour (400 meters per second). The eruptions appear to be continuous, generating an enormous halo of fine ice dust around Enceladus, which supplies material to Saturn's E-ring. Only a small fraction of the material ends up in the ring, however, with most of it falling like snow back to the moon’s surface, which helps keep Enceladus bright white.The water jets come from relatively warm fractures in the crust, which scientists informally call the “tiger stripes.” Several gases, including water vapor, carbon dioxide, methane, perhaps a little ammonia and either carbon monoxide or nitrogen gas make up the gaseous envelope of the plume, along with salts and silica. And the density of organic materials in the plume was about 20 times denser than scientists expected. From gravity measurements based on the Doppler effect and the magnitude of the moon’s very slight wobble as it orbits Saturn, scientists determined that the jets were being supplied by a global ocean inside the moon. Scientists think that the moon’s ice shell may be as thin as half a mile to 3 miles (1 to 5 kilometers) at the south pole. The average global thickness of the ice is thought to be about 12 to 16 miles (20 to 25 kilometers). Since the ocean in Enceladus supplies the jets, and the jets produce Saturn’s E ring, to study material in the E ring is to study Enceladus’ ocean. The E ring is mostly made of ice droplets, but among them are peculiar nanograins of silica, which can only be generated where liquid water and rock interact at temperatures above about 200 degrees Fahrenheit (90 degrees Celsius). This, among other evidence, points to hydrothermal vents deep beneath Enceladus’ icy shell, not unlike the hydrothermal vents that dot Earth’s ocean floor. With its global ocean, unique chemistry and internal heat, Enceladus has become a promising lead in our search for worlds where life could exist.",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ epimetheus: {
+ title: "Epimetheus",
+ description: {
+ blurb: [
+ 'Audouin Dollfus observed a moon on Dec. 15, 1966, for which he proposed the name "Janus." On Dec. 18 of the same year, Richard Walker made a similar observation, now credited as the discovery of Epimetheus.',
+ ],
+ more: [
+ "Epimetheus is a potato-shaped moon with a mean radius of 36 miles (58 km) and dimensions of 84 x 65 x 65 miles (135 x 108 x 105 km, respectively). Its shape reflects pronounced flattening at the Epimethean South Pole associated with the remains of a large crater. Epimetheus has several craters larger than 19 miles (30 km), including Hilairea and Pollux. This oblong moon orbits 94,000 miles (151,000 km) away from Saturn, taking 17 hours to circle the planet, in the gap between the F and G rings, but it doesn't do this alone. It actually shares its orbit with a sister moon named Janus, in what is called a co-orbital condition or 1:1 resonance. Epimetheus and Janus may have formed by the break-up of one moon. If so, it would have happened early in the life of the Saturn system since both moons have ancient cratered surfaces, many with soft edges because of dust. They also have some grooves (similar to grooves on the Martian moon Phobos) suggesting some glancing blows from other bodies. Together, the moons trail enough particles to generate a faint ring. However, except for very powerful telescopes, the region of their common orbit appears as a gap between Saturn's prominent F and G rings. Epimetheus and Janus are the fifth and sixth moons in distance from Saturn. Both are phase locked with their parent; one side always faces toward Saturn. Being so close, they orbit in less than 17 hours. They are both thought to be composed of largely of water ice, but their density of less than 0.7 is much less than that of water. Thus, they are probably \"rubble piles\" — each a collection of numerous pieces held together loosely by gravity. Each moon has dark, smoother areas, along with brighter areas of terrain. One interpretation of this is that the darker material evidently moves down slopes, leaving shinier material such as water ice on the walls of fractures. Their temperature is approximately -195 degrees Celsius (-319 degrees Fahrenheit). Their reflectivity (or albedo) of 0.7 to 0.8 in the visual range again suggests a composition largely of water ice. Janus and Epimetheus share their orbits with a faint dust ring around Saturn, now called the Janus/Epimetheus Ring. This ring may be made of particles blasted off their surfaces by meteoroid impacts. The name Epimetheus comes from the Greek god (or titan) Epimetheus (or hindsight) who was the brother of Prometheus (foresight). Together, they represented humanity.",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ erinome: {
+ title: "Erinome",
+ description: {
+ blurb: [
+ "Erinome was discovered on Nov. 23, 2000 at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Erinome is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. The group probably began as a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision, which broke off a number of pieces, either before or after being captured by Jupiter's gravity. The largest remaining chunk (still retaining 99% of the group's mass) was named \"Carme,\" and the smaller pieces became the other 16 moons in the Carme group. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. They all are very similar in color—light red—except for Kalyke, which is considerably redder than the others. All of these characteristics support the idea that the Carme satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Carme members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped.vErinome has a mean radius of about one mile (1.6 km). At a mean distance of about 14.4 million miles (23.2 million km) from Jupiter, the satellite takes about 728 Earth days to complete one orbit. Originally called S/2000 J4, Erinome was named for a chaste young woman in Roman mythology whom Venus causes to fall in love with Jupiter. She loses her virginity to Adonis, however, after Venus throws a fog on her. This displeases the goddess Diana, who turns Erinome into a peacock. Adonis, realizing he has assaulted a love of Jupiter, flees into the woods, but is driven out by Mercury. Just as Adonis is about to defeat Mercury in a violent fight, Jupiter throws a lightning bolt and kills him.",
+ ],
+ },
+ related: [],
+ },
+ erriapus: {
+ title: "Erriapus",
+ description: {
+ blurb: [
+ "Erriapus was discovered on Sept. 23, 2000 at the Mauna Kea Observatory on the island of Hawaii.",
+ ],
+ more: [
+ "Erriapus has a mean radius of 3.1 miles (5 kilometers) assuming an albedo (a measure of how reflective the surface is) of 0.06. At a mean distance of 10.9 million miles (17.6 million kilometers) from Saturn, the moon takes about 871 Earth days to complete one orbit. Erriapus is one of the four known members of the Gallic group of moons. These moons have prograde orbits (they travel around Saturn in the same direction as the planet's rotation), but their egg-shaped, angled orbits classify them as \"irregular\" moons. Like Saturn's other irregular moons, they are thought to be objects that were captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet, as the regular moons are thought to have done. The similarities among the orbits of moons in the Gallic group suggest a common origin—they may be fragments of a single object that shattered in a collision. The other members of this group are Albiorix, Bebhionn and Tarvos. Observations by Tommy Grav and James Bauer using telescopes on Mauna Kea, Hawaii in 2006 found that the color of Albiorix varies over its surface. They hypothesize that Tarvos and Erriapus, which were both seen to be light red, are the largest fragments from an impact on Albiorix, leaving a less-red crater. (These observations did not include Bebhionn.) Moons of Saturn were originally named for Greco-Roman Titans and descendants of the Titans. But as many new moons were discovered scientists began selecting names from more mythologies, including Gallic, Inuit and Norse stories. Erriapus, originally designated S/2000 10, is named for a Gallic giant. It was named Erriapo in August 2003, but the name was changed from Erriapo to the nominative Erriapus per International Astronomical Union conventions in late 2007.",
+ ],
+ },
+ related: [],
+ },
+ ersa: {
+ title: "Ersa",
+ description: {
+ blurb: [
+ "This tiny moon of Jupiter was first spotted in 2017 and originally designated S/2018 J1.",
+ ],
+ more: [
+ "The discovery announcement was made in July 2018. In mythology, Ersa is the sister of Pandia and, as such, also the daughter of Zeus and the Moon goddess Selene. Ersa is the goddess of dew.",
+ ],
+ },
+ },
+ euanthe: {
+ title: "Euanthe",
+ description: {
+ blurb: [
+ "Euanthe was discovered on Dec. 11, 2001 by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Euanthe is a member of the Ananke group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. The group probably began as an asteroid that was captured by Jupiter's gravity and then suffered a collision, which broke off a number of pieces. The largest remaining chunk was named \"Ananke,\" and the smaller pieces became the other 15 moons in the Ananke group. All of the Ananke moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and rather highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Ananke satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Ananke members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Euanthe has a mean radius of just under one mile (about 1.5 kilometers), assuming an albedo of 0.04. At a mean distance of about 13 million miles (21 million kilometers) from Jupiter, it takes about 620 Earth days to complete one orbit. Originally called S/2001 J7, Euanthe was given one of the names in Greek mythology for the mother of the Graces by Zeus, the Greek equivalent of the Roman god Jupiter.",
+ ],
+ },
+ related: [],
+ },
+ eukelade: {
+ title: "Eukelade",
+ description: {
+ blurb: [
+ "Eukelade was discovered on Feb. 6, 2003, by Scott S. Sheppard at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Eukelade is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. The group probably began as a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision, which broke off a number of pieces, either before or after being captured by Jupiter's gravity. The largest remaining chunk (still retaining 99% of the group's mass) was named \"Carme,\" and the smaller pieces became the other 16 moons in the Carme group. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. They all are very similar in color—light red —except for Kalyke, which is considerably redder than the others. All of these characteristics support the idea that the Carme satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Carme members are massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Eukelade has a mean radius of about 1.2 miles (2 kilometers). At a mean distance of about 14.4 million miles (23.3 million kilometers) from Jupiter, the satellite takes about 730 Earth days to complete one orbit. Originally called S/2003 J1, Eukelade was named for one of the Muses, who were daughters of Zeus, the Greek equivalent of the Roman god Jupiter. Her name means \"well sounding.\"",
+ ],
+ },
+ related: [],
+ },
+ eupheme: {
+ title: "Eupheme",
+ description: {
+ blurb: [
+ "Eupheme was discovered Mar. 4, 2003 at the Mauna Kea Observatory in Hawaii, and originally designated S/2003 J3.",
+ ],
+ more: [
+ "Eupheme has a mean radius of about less than a mile or about one kilometer, (assuming an albedo of 0.04). At a mean distance of about 13 million miles (20.2 million kilometers) from Jupiter, it takes about 584 Earth days to complete one orbit. In mythology, Eupheme is the spirit of praise and good omen, the granddaughter of Zeus, and the sister of Philophrosyne.",
+ ],
+ },
+ },
+ euporie: {
+ title: "Euporie",
+ description: {
+ blurb: [
+ "Euporie was discovered on Dec. 11, 2001 by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Euporie is a member of the Ananke group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. The group probably began as an asteroid that was captured by Jupiter's gravity and then suffered a collision, which broke off a number of pieces. The largest remaining chunk was named \"Ananke,\" and the smaller pieces became the other 15 moons in the Ananke group. All of the Ananke moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and rather highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Ananke satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Ananke members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Euporie has a mean radius of about 0.6 miles (one kilometer), assuming an albedo of 0.04. At a mean distance of about 11.9 million miles (19.3 million kilometers) from Jupiter, it takes about 551 Earth days to complete one orbit. Originally called S/2001 J10, Euporie was named for one of the Horae (seasons), who were daughters of the Roman god Jupiter, and a Titaness named Themis. Euporie means plenty.",
+ ],
+ },
+ related: [],
+ },
+ europa: {
+ title: "Europa",
+ description: {
+ blurb: [
+ "Europa may be the most promising place in our solar system to find present-day environments suitable for some form of life beyond Earth.",
+ ],
+ more: [
+ "Scientists are almost certain that hidden beneath the icy surface of Europa is a salty-water ocean thought to contain twice as much water as Earth’s oceans combined. Slightly smaller than Earth's Moon, Europa’s water-ice surface is crisscrossed by long, linear fractures, cracks, ridges, and bands. The moon’s ice shell is probably 10 to 15 miles (15 to 25 kilometers) thick, beneath which the ocean is estimated to be 40 to 100 miles (60 to 150 kilometers) deep. Like Earth, Europa is thought to also contain a rocky mantle and iron core. Europa’s water-ice surface is crisscrossed by long, linear fractures. Based on the small number of observable craters, the surface of this moon appears to be no more than 40 to 90 million years old, which is youthful in geologic terms (the surface of Callisto, another of Jupiter’s moons, is estimated to be a few billion years old). Along Europa's many fractures, and in splotchy patterns across its surface, is a reddish-brown material whose composition is not known for certain, but likely contains salts and sulfur compounds that have been mixed with the water ice and modified by radiation. This surface composition may hold clues to the moon's potential as a habitable world.",
+ ],
+ },
+ related: [
+ "sc_pioneer_10",
+ "sc_pioneer_11",
+ "sc_voyager_1",
+ "sc_voyager_2",
+ "sc_galileo",
+ ],
+ },
+ eurydome: {
+ title: "Eurydome",
+ description: {
+ blurb: [
+ "Eurydome was discovered on Dec. 9, 2001 by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Eurydome is considered a member of the Pasiphae group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. Most or all of the Pasiphae satellites are thought to have begun as a single asteroid that, after being captured by Jupiter's gravity, suffered a collision which broke off a number of pieces. The bulk of the original asteroid survived as the moon called Pasiphae, and the other pieces became some or all of the other moons in the group. All of the Pasiphae moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Pasiphae satellites began as one or more captured asteroids, rather than forming as part of the original Jupiter system. Eurydome has a mean radius of about 0.9 miles (1.5 kilometers), assuming an albedo of 0.04. At a mean distance of about 14.3 million miles (23.1 million kilometers) from Jupiter, the satellite takes about 717 Earth days to complete one orbit. Originally called S/2001 J4, Eurydome was named for a character in Greek mythology who, according to some sources, was the mother of the Graces by Zeus, the Greek equivalent of the Roman god Jupiter.",
+ ],
+ },
+ related: [],
+ },
+ farbauti: {
+ title: "Farbauti",
+ description: {
+ blurb: [
+ "Farbauti was discovered on Dec. 12, 2004, one of 12 Saturnian moons found that day using wide-field camera on the Subaru 8.3-m reflector telescope on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Farbauti has a mean radius of about 1.6 miles (2.5 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 158 degrees and an eccentricity of about 0.2. At a mean distance of 12.7 million miles (20.4 million kilometers) from Saturn, the moon takes about 1,087 Earth days to complete one orbit. Farbauti is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn—traveling around in the opposite direction from the planet's rotation. Farbauti and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Farbauti is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Farbauti appears to be a member of a subgroup that also includes Skoll, Hyrrokkin, S/2006 S1, Bergelmir, Skathi, S/2006 S3, and Kari. Originally called S/2004 S9, Farbauti was named for a giant in Norse mythology who was the father of Loki, who was known as the disgrace of the gods.",
+ ],
+ },
+ related: [],
+ },
+ fenrir: {
+ title: "Fenrir",
+ description: {
+ blurb: [
+ "Fenrir was discovered on Dec. 12, 2004, one of 12 Saturnian moons found that day using a wide-field camera on the Subaru 8.2-m reflector telescope on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Fenrir has a mean radius of 1.2 miles (2.0 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 164 degrees and an eccentricity of about 0.1. At a mean distance of 14 million miles (22.5 million kilometers) from Saturn, the moon takes about 1,260 Earth days to complete one orbit. Fenrir is a member of the Norse group of moons. Thes \"irregular\" moons have retrograde orbits around Saturn—traveling around in the opposite direction from the planet's rotation. Fenrir and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Saturn's other irregular moons, Fenrir is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Originally called S/2004 S16, Fenrir was named for a monstrous wolf in Norse mythology who was the offspring of Loki, the disgrace of the gods, and Angrboda, a disagreeable giantess. The gods managed to bind Fenrir using a dwarf-manufactured fetter made of the sound of a cat's footfall, a woman's beard and other hard-to-find components. According to the mythology, Fenrir is destined to break free at doomsday (the time known as Ragnarok) and kill Odin, the supreme Norse god.",
+ ],
+ },
+ related: [],
+ },
+ galatea: {
+ title: "Galatea",
+ description: {
+ blurb: [
+ "Galatea is another of Neptune's tiny moons. Small and irregularly-shaped like Despina, Galatea orbits in the same direction as Neptune and is relatively close to the gas giant's equatorial plane. The small moon's gravity is believed to cause disturbances in Neptune's ring system. It was found in the same month scientists discovered ring arcs, or partial rings, that were suspected to exist around Neptune.",
+ "Galatea circles Neptune every 10 hours and 18 minutes.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ ganymede: {
+ title: "Ganymede",
+ description: {
+ blurb: [
+ "Jupiter's moon Ganymede is the largest moon in our solar system and the only moon with its own magnetic field.",
+ ],
+ more: [
+ "The magnetic field of Ganymede causes auroras, which are ribbons of glowing, electrified gas, in regions circling the moon’s north and south poles. Ganymede has large, bright regions of ridges and grooves that slice across older, darker terrains. These grooved regions are a clue that the moon experienced dramatic upheavals in the distant past. Scientists have also found strong evidence of an underground ocean on Ganymede. Ganymede was discovered by Galileo Galilei on Jan. 7, 1610. The discovery, along with three other Jovian moons, was the first time a moon was discovered orbiting a planet other than Earth. The discovery of the four Galilean satellites eventually led to the understanding that planets in our solar system orbit the sun, instead of our solar system revolving around Earth.",
+ ],
+ },
+ related: [
+ "sc_pioneer_10",
+ "sc_pioneer_11",
+ "sc_voyager_1",
+ "sc_voyager_2",
+ "sc_galileo",
+ "sc_juno",
+ ],
+ },
+ greip: {
+ title: "Greip",
+ description: {
+ blurb: [
+ "Greip was discovered on March 6, 2006 by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna using the Subaru 8.3-m reflector telescope on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Greip has a mean radius of 1.9 miles (3 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 173 degrees and an eccentricity of about 0.3. At a mean distance of 11.5 million miles (18.4 million kilometers) from Saturn, the moon takes about 936 Earth days to complete one orbit. Greip is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn—traveling around in the opposite direction from the planet's rotation. Greip and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Greip is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Originally called S/2006 S4, Greip was named for one of the nine giantesses who gave birth to Heimdall, the guard of the rainbow bridge that links our world to Asgard, home of the Norse gods.",
+ ],
+ },
+ related: [],
+ },
+ c_1995_o1: {
+ title: "Hale-Bopp",
+ description: {
+ blurb: [
+ "Comet Hale-Bopp was visible to the naked eye for 18 months in 1996 and 1997. It has a large nucleus of 37 miles (60 km) and orbits the sun every 2,534 years.",
+ ],
+ more: [
+ "On July 23, 1995, an unusually bright comet outside of Jupiter's orbit (7.15 AU) was discovered independently by Alan Hale, New Mexico and Thomas Bopp, Arizona. The new comet, designated C/1995 O1, is the farthest comet ever discovered by amateurs and appeared 1000 times brighter than Comet Halley did at the same distance. Normally, comets are inert when they are beyond the orbit of Jupiter, so it has been speculated that Comet Hale-Bopp is either a rather large comet or experienced a bright outburst (or both). The comet is the brightest comet since Comet West in 1976.",
+ ],
+ },
+ related: [],
+ },
+ ferdinand: {
+ title: "Ferdinand",
+ description: {
+ blurb: [
+ "Ferdinand is a very small, dark moon which orbits Uranus at a greater distance than any other known satellite of that planet.",
+ ],
+ },
+ related: [],
+ },
+ fornjot: {
+ title: "Fornjot",
+ description: {
+ blurb: [
+ "Fornjot was discovered on Dec. 12 2004, one of 12 Saturnian moons found that day using a wide-field camera on the Subaru 8.2-m reflector telescope on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Fornjot has a mean radius of 1.9 miles (3 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 170 degrees and an eccentricity of about 0.2. At a mean distance of 15.6 million miles (25.2 million kilometers) from Saturn, the moon takes about 1,494 Earth days to complete one orbit. Fornjot is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn—traveling around in the opposite direction from the planet's rotation. Fornjot and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Fornjot is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Originally called S/2004 S8, Fornjot was named for the giant (also called Forniot) in Norse mythology who was father to the giants and commanded the wind, the sea and fire.",
+ ],
+ },
+ related: [],
+ },
+ francisco: {
+ title: "Francisco",
+ description: {
+ blurb: [
+ "Francisco is a very small, dark moon which orbits Uranus in the opposite direction from the regular moons and the planet's own rotation (a retrograde orbit).",
+ ],
+ },
+ related: [],
+ },
+ halimede: {
+ title: "Halimede",
+ description: {
+ blurb: [
+ "Halimede is one of three tiny moons (ranging in size from 30 to 40 km -- or 18 to 24 miles) of Neptune discovered in 2002 using innovative ground-based telescope techniques. (The other moons discovered were Laomedeia and Sao.) The moons are so distant and so small they are about 100 million times fainter than can be seen with the unaided eye. The moons were missed by the Voyager 2 spacecraft in 1989 because they are so faint and distant from Neptune.",
+ "Halimede is considered an irregular satellite because of its distant, eccentric orbit around Neptune. Like most irregular satellites of the giant planets in our outer solar system, Halimede most likely formed after a collision between a larger moon and a comet or an asteroid. Sao and Laomedeia have prograde orbits, which means they orbit in the same direction as Neptune's rotation. Halimede has a retrograde orbit, which means Halimede orbits in the opposite direction of Neptune's rotation.",
+ "Very little is known about Halimede. Scientists are trying to learn more about it and its irregular sisters because they offer a glimpse of the conditions at the time the planets in our solar system were forming billions of years ago.",
+ ],
+ },
+ related: [],
+ },
+ harpalyke: {
+ title: "Harpalyke",
+ description: {
+ blurb: [
+ "Harpalyke was discovered Nov. 23, 2000 by Scott S. Sheppard, David C. Jewitt, Yanga R. Fernandez, and Eugene Magnier at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Harpalyke is a member of the Ananke group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. The group probably began as an asteroid that was captured by Jupiter's gravity and then suffered a collision, which broke off a number of pieces. The largest remaining chunk was named \"Ananke,\" and the smaller pieces became the other 15 moons in the Ananke group. All of the Ananke moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and rather highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Ananke satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Ananke members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Harpalyke has a mean radius of about 1.3 miles (2.2 kilometers), assuming an albedo of 0.04. It is colored a similar gray to two other moons in the Ananke family: Praxidike and Iocaste. At a mean distance of about 13.1 million miles (21.1 million kilometers) from Jupiter, Harpalyke takes about 623 Earth days to complete one orbit. Originally called S/2000 J5, Harpalyke was named for a woman in Greek mythology who was transformed into a night bird called Chalcis. According to one version of the story, this transformation happened after she had intercourse with Zeus, the Greek equivalent of the Roman god Jupiter. In another version, she had incestuous relations with her father. In revenge, she killed her younger brother or her son (depending on the account), carved him up, cooked the meat and served it to her father, who ultimately kills himself.",
+ ],
+ },
+ related: [],
+ },
+ hati: {
+ title: "Hati",
+ description: {
+ blurb: [
+ "Hati was discovered on Dec. 12, 2004, one of 12 Saturnian moons found that day using a wide-field camera on the Subaru 8.2-m reflector telescope on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Hati has a mean radius of 1.9 miles (3 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 165 degrees and an eccentricity of about 0.4. At a mean distance of 12.3 million miles (19.8 million kilometers) from Saturn, the moon takes about 1,039 Earth days to complete one orbit. Its rotational period is just 5.5 hours, the fastest known rotation of all of Saturn's moons. Hati is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn—traveling around in the opposite direction from the planet's rotation. Hati and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Hati is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Originally called S/2004 S14, Hati was named for a giant wolf in Norse mythology who pursues the Moon (that is, the Moon chariot and the boy who drives it—see Mundilfari for an explanation) across the sky. According to the mythology, Hati is destined to catch and devour them at the doomsday time known as Ragnarok.",
+ ],
+ },
+ related: [],
+ },
+ hegemone: {
+ title: "Hegemone",
+ description: {
+ blurb: [
+ "Hegemone was discovered on Feb. 8, 2003 by Scott S. Sheppard, David C. Jewitt, Jan T. Kleyna, Yanga R. Fernandez, and Henry H. Hsieh at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Hegemone is considered a member of the Pasiphae group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. Most or all of the Pasiphae satellites are thought to have begun as a single asteroid that, after being captured by Jupiter's gravity, suffered a collision which broke off a number of pieces. The bulk of the original asteroid survived as the moon called Pasiphae, and the other pieces became some or all of the other moons in the group. All of the Pasiphae moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Pasiphae satellites began as one or more captured asteroids, rather than forming as part of the original Jupiter system. Hegemone has a mean radius of about 0.93 miles (1.5 kilometers), assuming an albedo of 0.04. At a mean distance of about 14.6 million miles (23.6 million kilometers) from Jupiter, the satellite takes about 740 Earth days to complete one orbit. Originally called S/2003 J8, Hegemone was named for one of the Graces (according to the Athenians), who were daughters of Zeus, the Greek equivalent of the Roman god Jupiter. The name means \"female leader.\"",
+ ],
+ },
+ related: [],
+ },
+ helene: {
+ title: "Helene",
+ description: {
+ blurb: [
+ "Helene was discovered on March 1, 1980 during the Earth ring-plane crossing by J. Lecacheux and others.",
+ ],
+ more: [
+ 'Helene, a small and faint moon of Saturn, is referred to as a Trojan moon because it shares its orbit with another moon—Dione, a moon hundreds of times larger than Helene. This complex orbital arrangement is held steady by gravity: Helene is located at a Lagrange point, where it feels the tug of gravity equally from distant Saturn and nearby Dione. For this reason, soon after it was discovered in 1980 it was called Dione B. This irregularly shaped moon has a mean radius of 10.9 miles (17.6 kilometers) with dimensions 22 x 19 x 18.6 miles (36 x 32 x 30 km). It orbits 234,505 miles (377,400 kilometers) away from Saturn, taking 2.7 Earth days to complete one orbit. John Herschel suggested that the moons of Saturn be associated with mythical brothers and sisters of Kronus. (Kronus is the equivalent of the Roman god Saturn in Greek mythology.) The International Astronomical Union now controls the official naming of astronomical bodies. Originally designated S/1980 S6, Helene is named after the granddaughter of Kronus and is the sister of Polydeuces. Helene was born out of an egg since Zeus took the shape of a swan when he raped her mother Leda. The account of this engendering is retold in the poem "Leda and the Swan" by William Butler Yeats. This same figure in Greek mythology was the cause of the Trojan War.',
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ helike: {
+ title: "Helike",
+ description: {
+ blurb: [
+ "Helike was discovered on Feb. 6, 2003 by Scott S. Sheppard at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Helike is a member of the Ananke group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. The group probably began as an asteroid that was captured by Jupiter's gravity and then suffered a collision, which broke off a number of pieces. The largest remaining chunk was named \"Ananke,\" and the smaller pieces became the other 15 moons in the Ananke group. All of the Ananke moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and rather highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Ananke satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Ananke members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Helike has a mean radius of about 1.2 miles (2 kilometers), assuming an albedo of 0.04. At a mean distance of about 13.1 million miles (21.1 million kilometers) from Jupiter, it takes about 626 Earth days to complete one orbit. Originally called S/2003 J6, Helike was named for one of the Muses, who were daughters of Zeus, the Greek equivalent of the Roman god Jupiter. Helike is also the name of a nymph in Greek mythology who helped to nurse Zeus and was transferred to the stars as a reward. There, she became the constellation, the Great Bear.",
+ ],
+ },
+ related: [],
+ },
+ hermippe: {
+ title: "Hermippe",
+ description: {
+ blurb: [
+ "Hermippe was discovered in Dec. 9, 2001 by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Hermippe is a member of the Ananke group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. The group probably began as an asteroid that was captured by Jupiter's gravity and then suffered a collision, which broke off a number of pieces. The largest remaining chunk was named \"Ananke,\" and the smaller pieces became the other 15 moons in the Ananke group. All of the Ananke moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and rather highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Ananke satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Ananke members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Hermippe has a mean radius of about 1.2 miles (2 kilometers). At a mean distance of about 13.2 million miles (21.3 million kilometers) from Jupiter, it takes about 634 Earth days to complete one orbit. Originally called S/2001 J3, Hermippe was named for one of the many lovers of Zeus, the Greek equivalent of the Roman god Jupiter. She bore him a son named Orchomenos.",
+ ],
+ },
+ related: [],
+ },
+ herse: {
+ title: "Herse",
+ description: {
+ blurb: [
+ "Herse was discovered on Feb. 27, 2003 by Brett J. Gladman, John J. Kavelaars, Jean-Marc Petit, and Lynne Allen.",
+ ],
+ more: [
+ "Herse is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. The group probably began as a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision, which broke off a number of pieces, either before or after being captured by Jupiter's gravity. The largest remaining chunk (still retaining 99% of the group's mass) was named \"Carme,\" and the smaller pieces became the other 16 moons in the Carme group. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. They all are very similar in color -- light red -- except for Kalyke, which is considerably redder than the others. All of these characteristics support the idea that the Carme satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Carme members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Herse has a mean radius of about 0.62 miles (one kilometer). At a mean distance of about 14.5 million miles (23.4 million kilometers) from Jupiter, the satellite takes more than 734 Earth days to complete one orbit. Originally called S/2003 J17, Herse was named for a daughter of Selene (goddess of the moon) and Zeus, the Greek equivalent of the Roman god Jupiter.",
+ ],
+ },
+ related: [],
+ },
+ hiiaka: {
+ title: "Hi'iaka",
+ description: {
+ blurb: ["Hi'iaka is a moon of the dwarf planet Haumea."],
+ more: [""],
+ },
+ related: [],
+ },
+ himalia: {
+ title: "Himalia",
+ description: {
+ blurb: [
+ "Himalia was discovered on December 3, 1904 in photographs taken with the Crossley 36-inch (0.9 meter) reflector of the Lick Observatory on Mount Hamilton at the University of California, San Jose.",
+ ],
+ more: [
+ "Himalia is the fifth largest moon orbiting Jupiter. With a mean radius of 85 km assuming an albedo of 0.04), it's only about 5% the size of the fourth largest moon, Europa. But it's by far the largest member of the Himalia group, a family of Jovian satellites which have similar orbits and appearance, and are therefore thought to have a common origin. Himalia may be the largest remaining chunk of an asteroid (a C- or D-class asteroid, judging by the fact that it reflects only about 4% of the light it receives), which had several pieces broken off in a collision either before or after being captured by Jupiter's gravity. In this scenario, those pieces became the other moons in the Himalia group: Leda, Lysithea and Elara. A fifth moon, called S/2000 J11, only about 1.2 miles (2 kilometers) in radius, was considered a candidate for this group. However, it was lost before its orbit could be definitively determined. It may have crashed into Himalia, reuniting two pieces of the former asteroid, and perhaps creating a faint temporary ring of Jupiter near the orbit of Himalia. At a distance of about 7.1 million miles (11.5 million kilometers) from Jupiter, Himalia takes about 251 Earth days to complete one orbit. Himalia was named for a nymph of the island of Rhodes in Greek mythology who was one of the lovers of Zeus (the Greek equivalent of the Roman god Jupiter). She bore him three sons: Spartaeus, Cronios and Cytus.",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ hippocamp: {
+ title: "Hippocamp",
+ description: {
+ blurb: [
+ "Hippocamp, originally designated S/2004 N1, was discovered by Mark Showalter on July 1, 2013 using Hubble Space Telescope images taken of the Neptune system between 2004 and 2009.",
+ ],
+ more: [
+ "Hippocamp is unusually close to a much larger Neptunian moon called Proteus. Normally, a moon like Proteus should have gravitationally swept aside or swallowed the smaller moon while clearing out its orbital path. Scientists think Hippocamp is likely a chipped-off piece of the larger moon that resulted from a collision with a comet billions of years ago. The diminutive moon, only 20 miles (about 34 kilometers) across, is 1/1000th the mass of Proteus (which is 260 miles [about 418 kilometers] across). Hippocamp is much smaller than any of Neptune's previously known satellites, and below the detection threshold of the Voyager cameras sent there in 1989. The moon is so small and dim that itis roughly 100 million times fainter than the faintest star that can be seen with the naked eye. The moon orbits Neptune every 23 hours. It is nestled between the orbits of Larissa and Proteus.",
+ ],
+ },
+ related: [],
+ },
+ hydra: {
+ title: "Hydra",
+ description: {
+ blurb: [
+ "Hydra was discovered in June, 2005 by Hal Weaver and a large team of astronomers using the Hubble Space Telescope.",
+ ],
+ more: [
+ "Hydra is the outer of the two moons discovered orbiting Pluto in 2005. Nix and Hydra are roughly 5,000 times fainter than Pluto and are about two to three times farther from Pluto than its large moon, Charon, which was discovered in 1978. Nix and Hydra are roughly 20 to 70 miles (32 to 113 km) wide. They are so faint so small and so faint that scientists combined a short exposure of Pluto and Charon and a long exposure of Nix and Hydra to create images of them all together. Hydra was named for the nine-headed serpent that Hercules fought in Greek and Roman mythology.",
+ ],
+ },
+ related: ["sc_new_horizons"],
+ },
+ hyperion: {
+ title: "Hyperion",
+ description: {
+ blurb: [
+ "Hyperion is the largest of Saturn's irregular, nonspherical moons.",
+ ],
+ more: [
+ "Hyperion's mean radius is 83.9 miles (135 kilometers), but since Hyperion is rather potato-shaped, its shape can be described in terms of its diameter along its three axes: 255 x 163 x 137 miles (410 x 260 x 220 kilometers, respectively). Considering its odd shape, Hyperion is probably a remnant of a larger moon that was destroyed by a major impact. Hyperion's density is slightly more than half that of water. This could be due to water ice with gaps (porosity) of more than 40 percent. Also, lighter materials, such as frozen methane or carbon dioxide, could make up part of Hyperion. This is consistent with the concept of Hyperion accreting from a number of smaller ice and rock bodies, but not having enough gravity to compact them. Thus, Hyperion might be similar to a large rubble pile. Hyperion rotates chaotically, tumbling unpredictably through space as it orbits Saturn. The most noticeable close-up feature of Hyperion is its deeply cratered surface. Hyperion and its sister outer moons, Phoebe and Iapetus, all show extensive cratering because they are Saturn's most distant moons and have experienced very little tidal warming that might blur or erase earlier features. However, the Hyperion craters are particularly deep and do not have significant rays of ejecta (although there appears to have been slumping or landslides inside many of the bigger craters). The result is a curiously punched-in look, somewhat like the surface of a sponge or a wasp nest. Planetary geologists have theorized that Hyperion's high-porosity and low density would crater more by compression than excavation.",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ hyrrokkin: {
+ title: "Hyrrokkin",
+ description: {
+ blurb: [
+ "Hyrrokkin was discovered on Dec. 12, 2004 using the Subaru 8.3-m reflector telescope on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Hyrrokkin has a mean radius of 1.9 miles (3 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 151 degrees and an eccentricity of about 0.3. At a mean distance of 11.5 million miles (18.4 million kilometers) from Saturn, the moon takes about 932 Earth days to complete one orbit. Hyrrokkin is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn -- traveling around in the opposite direction from the planet's rotation. Hyrrokkin and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Hyrrokkin is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Hyrrokkin appears to be a member of a subgroup that also includes Skathi, Skoll, S/2006 S1, Bergelmir, Farbauti, S/2006 S3, and Kari. Originally called S/2004 S19, Hyrrokkin was named for giantess in Norse mythology who launched Baldur's enormous funeral ship with one mighty push when the gods, themselves, were unable to budge it",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ iapetus: {
+ title: "Iapetus",
+ description: {
+ blurb: [
+ "Iapetus, the third largest moon of Saturn, is known for having a bright half and a dark half, with the leading hemisphere being dark.",
+ ],
+ more: [
+ "Iapetus has been called the yin and yang of the Saturn moons because its leading hemisphere has a reflectivity (or albedo) as dark as coal (albedo 0.03-0.05 with a slight reddish tinge) and its trailing hemisphere is much brighter at 0.5-0.6.",
+ "Saturn's third largest moon, Iapetus has a mean radius of 457 miles (736 kilometers) and a density only 1.2 times that of liquid water. It has been suggested that Iapetus (like Rhea) is three quarters ice and one quarter rock.Iapetus orbits at 2,213,000 miles (3,561,000 kilometers) from Saturn. The great distance from Saturn's tidal forces and from most of the other moons and ring particles has probably allowed the Iapetus surface to be largely unaffected by any melting episodes that could have caused some smoothing or \"resurfacing\" as on some of the moons closer to Saturn.",
+ "However, despite the great distance, Saturn has tidally locked Iapetus. The moon always presents the same face toward Saturn. With its distant, inclined orbit, Iapetus is the only large moon from which there is a nice view of the rings of Saturn.Giovanni Cassini observed the dark-light difference of this moon's surface when he discovered Iapetus in 1671. He noted that he could only see Iapetus on the west side of Saturn. He correctly concluded that Iapetus had one side much darker than the other side, and that Iapetus was tidally locked with Saturn.",
+ "Scientists have long wondered why one hemisphere of Iapetus is so dark in comparison to its other hemisphere, and in comparison to other surfaces in the Saturn system. Iapetus may be sweeping up particles from the more-distant dark moon, Phoebe. If that is the darkening mechanism, it should be steadily renewing the dark surface because very few fresh bright craters are detected within the dark terrain. An alternate theory is that there might be ice volcanism distributing darker material to the surface. Volcano-like eruptions of hydrocarbons might form the dark surfaces, particularly after chemical reactions caused by solar radiation.",
+ "The September 2007 Cassini flyby of Iapetus showed that a third process, thermal segregation, is probably the most responsible for Iapetus' dark hemisphere. Iapetus has a very slow rotation, longer than 79 days. Such a slow rotation means that the daily temperature cycle is very long, so long that the dark material can absorb heat from the sun and warm up. (The dark material absorbs more heat than the bright icy material.) This heating will cause any volatile, or icy, species within the dark material to sublime out, and retreat to colder regions on Iapetus. This sublimation of volatiles causes the dark material to become even darker -- and causes neighboring bright, cold regions to become even brighter. Iapetus may have experienced a (possibly small) influx of dark material from an external source, which could have warmed up and triggered this thermal segregation process.",
+ 'The second most notable feature of Iapetus is its "equatorial ridge", a chain of 6-mile (10-km) high mountains girdling the moon\'s equator. On the anti-Saturnian side of Iapetus, the ridge appears to break up and distinct, partially bright mountains are observed. The Voyager I and Voyager II encounters provided the first knowledge of these mountains, and they are informally referred to as the Voyager Mountains.',
+ "There are two theories on how the ridge formed. Some scientists think the ridge was formed at an earlier time when Iapetus rotated much faster than it does today; others think the ridge is made of material left from the collapse of a ring.",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ io: {
+ title: "Io",
+ description: {
+ blurb: [
+ "Jupiter's moon Io is the most volcanically active world in the Solar System, with hundreds of volcanoes, some erupting lava fountains dozens of miles (or kilometers) high.",
+ ],
+ more: [
+ "Io’s remarkable activity is the result of a tug-of-war between Jupiter's powerful gravity and smaller but precisely timed pulls from two neighboring moons that orbit farther from Jupiter – Europa and Ganymede. A bit larger than Earth's Moon, Io is the third largest of Jupiter's moons, and the fifth one in distance from the planet. Although Io always points the same side toward Jupiter in its orbit around the giant planet, the large moons Europa and Ganymede perturb Io's orbit into an irregularly elliptical one. Thus, in its widely varying distances from Jupiter, Io is subjected to tremendous tidal forces.",
+ "These forces cause Io's surface to bulge up and down (or in and out) by as much as 330 feet (100 meters). Compare these tides on Io's solid surface to the tides on Earth's oceans. On Earth, in the place where tides are highest, the difference between low and high tides is only 60 feet (18 meters), and this is for water, not solid ground.",
+ "Io's orbit, keeping it at more or less a cozy 262,000 miles (422,000 kilometers) from Jupiter, cuts across the planet's powerful magnetic lines of force, thus turning Io into an electric generator. Io can develop 400,000 volts across itself and create an electric current of 3 million amperes. This current takes the path of least resistance along Jupiter's magnetic field lines to the planet's surface, creating lightning in Jupiter's upper atmosphere.",
+ ],
+ },
+ related: [
+ "sc_pioneer_10",
+ "sc_pioneer_11",
+ "sc_voyager_1",
+ "sc_voyager_2",
+ "sc_galileo",
+ "sc_cassini",
+ ],
+ },
+ ijiraq: {
+ title: "Ijiraq",
+ description: {
+ blurb: [
+ "Ijiraq is a minor moon of Saturn and was discovered on Sept. 23, 2000.",
+ ],
+ more: [
+ "Ijiraq has a mean radius of 3.7 miles (6 kilometers) and it takes about 452 Earth days to complete one orbit. Ijiraq is one of five known members of the Inuit group of moons, which orbit Saturn at a mean distance of 7 to 11 million miles. The Inuit moons all have prograde orbits (they travel around Saturn in the same direction as the planet's rotation), but their deviations from circular orbits and from the plane of Saturn's equator classify them as \"irregular\" moons. The similarities among the Inuit group's orbits suggest a common origin -- they may be fragments of a single object that shattered in a collision. The other members of this group are Kiviuq, Paaliaq, Siarnaq, and Tarqeq. Ijiraq is redder than Kiviuq, Siarnaq and Paaliaq, and lacks the feature these other moons display at the deep red wavelength of 0.7 micrometers. Originally called S/2000 S6, Ijiraq was named for a fictional character in the children's book, \"Hide and Sneak\" by Michael Arvaarluk Kusugak.",
+ ],
+ },
+ related: [],
+ },
+ iocaste: {
+ title: "Iocaste",
+ description: {
+ blurb: [
+ "Iocaste was discovered Nov. 23, 2000 by Scott S. Sheppard, David C. Jewitt, Yanga R. Fernandez, and Eugene Magnier at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Iocaste is a member of the Ananke group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. The group probably began as an asteroid that was captured by Jupiter's gravity and then suffered a collision, which broke off a number of pieces. The largest remaining chunk was named \"Ananke,\" and the smaller pieces became the other 15 moons in the Ananke group. All of the Ananke moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and rather highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Ananke satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Ananke members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Iocaste has a mean radius of about 1.6 miles (2.6 kilometers), assuming an albedo of 0.04. It is colored a similar gray to two other moons in the Ananke family: Praxidike and Harpalyke. At a mean distance of about 13.2 million miles (21.3 million kilometers) from Jupiter, Iocaste takes about 632 Earth days to complete one orbit. Originally called S/2000 J3, Iocaste was named for the mother of Agamedes by the Roman god, Jupiter.",
+ ],
+ },
+ related: [],
+ },
+ isonoe: {
+ title: "Isonoe",
+ description: {
+ blurb: [
+ "Isonoe was discovered Nov. 23, 2000, by Scott S. Sheppard, David C. Jewitt, Yanga R. Fernandez, and Eugene Magnier at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Isonoe is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. The group probably began as a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision, which broke off a number of pieces, either before or after being captured by Jupiter's gravity. The largest remaining chunk (still retaining 99% of the group's mass) was named \"Carme,\" and the smaller pieces became the other 16 moons in the Carme group. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. None of the Carme members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Isonoe has a mean radius of about 1.1 miles (1.9 kilometers). At a mean distance of about 14.4 million miles (23.2 million kilometers) from Jupiter, the satellite takes about 726 Earth days to complete one orbit. Originally called S/2000 J6, Isonoe was named for the mother of Orchomenus by Zeus, the Greek equivalent of the Roman god Jupiter. Isonoe was one of the 50 daughters of Danaus in Greek legend. Danaus agreed to the marriage of his 50 daughters to the 50 sons of Aegyptus, his twin brother, but commanded his daughters to kill their new husbands in their sleep on their wedding night. All but one complied. For some reason, Danaus had difficulty finding suitors for his daughters after that, so he offered them as prizes in a foot race. Danaus' daughters were ultimately condemned in Hades to endlessly attempt to fill a bottomless water vessel.",
+ ],
+ },
+ related: [],
+ },
+ janus: {
+ title: "Janus",
+ description: {
+ blurb: [
+ 'Audouin Dollfus observed a moon on Dec. 15, 1966, for which he proposed the name "Janus."',
+ ],
+ more: [
+ "Janus is a potato-shaped moon with a mean radius of 55.6 miles (89.5 kilometers) and dimensions of 122 x 119 x 93 miles (196 x 192 x 150 kilometers, respectively). Janus is extensively cratered with several craters larger than 19 miles (30 kilometers). Janus' prominent craters are named Castor, Phoebe, Idas and Lynceus. This oblong moon orbits 94,000 miles (151,000 kilometers) away from Saturn, taking 17 hours to complete one orbit, in the gap between the F and G rings, but it doesn't do this alone. It actually shares its orbit with a sister moon named Epimetheus, in what is called a co-orbital condition or 1:1 resonance. One moon orbits 31 miles (50 km) farther away from the planet than the other, taking more time to complete one turn around Saturn. This slight difference means the inner, faster moving moon starts to catch up to the other approximately every four Earth years. Interestingly, when this happens, the gravity interaction between the moons causes them to trade places between these inner and outer orbits. Together, the moons trail enough particles to generate a faint ring. However, except for very powerful telescopes, the region of their common orbit appears as a gap between Saturn's prominent F and G rings. Janus and Epimetheus are the fifth and sixth moons in distance from Saturn. Both are phase locked with their parent; one side always faces toward Saturn. Being so close, they orbit in less than 17 hours. They are both thought to be composed of largely of water ice, but their density of less than 0.7 is much less than that of water. Thus, they are probably \"rubble piles\" -- each a collection of numerous pieces held together loosely by gravity. Each moon has dark, smoother areas, along with brighter areas of terrain. One interpretation of this is that the darker material evidently moves down slopes, leaving shinier material such as water ice on the walls of fractures. Their temperature is approximately -195 degrees Celsius (-319 degrees Fahrenheit). Their reflectivity (or albedo) of 0.7 to 0.8 in the visual range again suggests a composition largely of water ice. Janus and Epimetheus share their orbits with a faint dust ring around Saturn, now called the Janus/Epimetheus Ring. This ring may be made of particles blasted off their surfaces by meteoroid impacts. The name Janus comes from the Roman god of gates, doors, doorways, beginnings, and endings.",
+ ],
+ },
+ related: ["sc_pioneer_11", "sc_voyager_2", "sc_cassini"],
+ },
+ jarnsaxa: {
+ title: "Jarnsaxa",
+ description: {
+ blurb: [
+ "Jarnsaxa was discovered on March 6, 2006 using the Subaru 8.3-m reflector telescope on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Jarnsaxa has a mean radius of 1.9 miles (3 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 163 degrees and an eccentricity of about 0.2. At a mean distance of 12.0 million miles (19.4 million kilometers) from Saturn, the moon takes about 1,007 Earth days to complete one orbit. Jarnsaxa is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn -- traveling around in the opposite direction from the planet's rotation. Jarnsaxa and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Jarnsaxa is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Originally called S/2006 S6, Jarnsaxa was named for one of the nine giantesses in Norse mythology who gave birth to Heimdall, the guard of the rainbow bridge that links our world to Asgard, home of the gods.",
+ ],
+ },
+ related: [],
+ },
+ juliet: {
+ title: "Juliet",
+ description: {
+ blurb: [
+ "Juliet was discovered on Jan. 3, 1986 in images taken by Voyager 2. It is one of the 10 Uranian satellites discovered by the Voyager science team.",
+ ],
+ more: [
+ 'Juliet is one of the small, inner moons of Uranus. Little is known about it other than its size and orbital characteristics. Neither its size nor its albedo have been measured directly, but assuming an albedo of 0.07 like Puck, its surface probably consists of the dark, unprocessed, carbon-rich material found on the C-class of asteroids. Originally called S/1986 U2, Juliet was named for the title character in William Shakespeare\'s play, "Romeo and Juliet." Juliet is the daughter of the Capulets, who are sworn enemies to the Montagues. Nevertheless, she falls in love with Romeo, son of the Montagues.',
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ jupiter_li: {
+ title: "Jupiter LI",
+ description: {
+ blurb: [
+ "This tiny moon is one of several discovered from Earth-based telescopes with improved search techniques. It is a little bigger than a mile (2 kilometers) across.",
+ ],
+ more: [
+ "This moon is still awaiting an official name. Since its discovery is now confirmed, it is temporarily being called Jupiter LI, which means it is the 51st confirmed moon discovered at Jupiter. It was originally called S/2010 J1.",
+ ],
+ },
+ related: [],
+ },
+ jupiter_lii: {
+ title: "Jupiter LII",
+ description: {
+ blurb: [
+ "This moon of Jupiter was discovered on Sept. 8, 2010 at the Palomer 5-m Hale telescope in California.",
+ ],
+ more: [
+ "This tiny moon is one of several discovered from Earth-based telescopes with improved search techniques. It is a little bigger than a mile (2 kilometers) across.",
+ ],
+ },
+ related: [],
+ },
+ jupiter_liv: {
+ title: "Jupiter LIV",
+ description: {
+ blurb: [
+ "Jupiter LIV, originally known as S/2016 J 1, is an outer natural satellite of Jupiter.",
+ ],
+ more: [
+ "It was discovered by Scott S. Sheppard in 2016, but not announced until June 2, 2017 via a Minor Planet Electronic Circular from the Minor Planet Center. It is about 1 kilometer in diameter and orbits at a semi-major axis of about 20,650,845 km with an inclination of about 139.8°. It belongs to the Ananke group.",
+ ],
+ },
+ related: [],
+ },
+ jupiter_lv: {
+ title: "Jupiter LV",
+ description: {
+ blurb: [
+ "Jupiter LV, originally known as S/2003 J 18, is an outer natural satellite of Jupiter.",
+ ],
+ more: ["Jupiter LV is about 2 kilometres in diameter."],
+ },
+ related: [],
+ },
+ jupiter_lvi: {
+ title: "Jupiter LVI",
+ description: {
+ blurb: [
+ "Jupiter LVI, provisionally known as S/2011 J 2, is a natural satellite of Jupiter. It was discovered in 2011.",
+ ],
+ more: [
+ "The moon was lost following its discovery in 2011, but was subsequently re-discovered in 2017. It is an irregular moon with a retrograde orbit, like so many of the smaller Jupiter moons.",
+ ],
+ },
+ related: [],
+ },
+ jupiter_lxi: {
+ title: "Jupiter LXI",
+ description: {
+ blurb: [
+ "Jupiter LXI, provisionally known as S/2003 J 19, is a natural satellite of Jupiter, discovered in 2003.",
+ ],
+ more: [
+ "S/2003 J 19 is about 2 kilometres in diameter, and orbits Jupiter every 699.125 days, at an inclination of 165° to the ecliptic (164° to Jupiter's equator), in a retrograde direction and with an eccentricity of 0.1961. It belongs to the Carme group, made up of irregular retrograde moons orbiting Jupiter at an inclination of about 165°.This moon was lost following its discovery in 2003 but then re-discovered in 2018.",
+ ],
+ },
+ related: [],
+ },
+ jupiter_lxiii: {
+ title: "Jupiter LXIII",
+ description: {
+ blurb: [
+ "Jupiter LXIII, provisionally known as S/2017 J 2, is an outer natural satellite of Jupiter. It was discovered in 2017.",
+ ],
+ more: [
+ "It is a member of the Carme group, and is about 2 kilometers in diameter.",
+ ],
+ },
+ related: [],
+ },
+ jupiter_lxiv: {
+ title: "Jupiter LXIV",
+ description: {
+ blurb: [
+ "Jupiter LXIV, originally known as S/2017 J 3, is an outer natural satellite of Jupiter.",
+ ],
+ more: [
+ "It was discovered in 2017, is about two kilometers in diameter, and is a member of the Ananke group.",
+ ],
+ },
+ related: [],
+ },
+ jupiter_lxix: {
+ title: "Jupiter LXIX",
+ description: {
+ blurb: [
+ "Jupiter LXIX, originally known as S/2017 J 8, is an outer natural satellite of Jupiter.",
+ ],
+ more: [
+ "It was discovered in 2017, is about two kilometers in diameter, and is a member of the Ananke group.",
+ ],
+ },
+ related: [],
+ },
+ jupiter_lxvi: {
+ title: "Jupiter LXVI",
+ description: {
+ blurb: [
+ "Jupiter LXVI, originally known as S/2017 J 5, is an outer natural satellite of Jupiter.",
+ ],
+ more: [
+ "It was discovered in 2017, is about two kilometers in diameter, and is a member of the Carme group.",
+ ],
+ },
+ related: [],
+ },
+ jupiter_lxvii: {
+ title: "Jupiter LXVII",
+ description: {
+ blurb: [
+ "Jupiter LXVII, originally known as S/2017 J 6, is an outer natural satellite of Jupiter.",
+ ],
+ more: [
+ "It was discovered in 2017, is about two kilometers in diameter, and is a member of the Pasiphae group.",
+ ],
+ },
+ related: [],
+ },
+ jupiter_lxviii: {
+ title: "Jupiter LXVIII",
+ description: {
+ blurb: [
+ "Jupiter LXVIII, provisionally known as S/2017 J 7, is an outer natural satellite of Jupiter.",
+ ],
+ more: [
+ "It was discovered in 2017, is about two kilometers in diameter, and is a member of the Pasiphae group.",
+ ],
+ },
+ related: [],
+ },
+ jupiter_lxx: {
+ title: "Jupiter LXX",
+ description: {
+ blurb: [
+ "Jupiter LXX, originally known as S/2017 J 9, is an outer natural satellite of Jupiter.",
+ ],
+ more: [
+ "It was discovered in 2017, is about two kilometers in diameter, and is a member of the Ananke group.",
+ ],
+ },
+ related: [],
+ },
+ jupiter_lxxii: {
+ title: "Jupiter LXXII",
+ description: {
+ blurb: [
+ "Jupiter LXXII, originally known as S/2011 J 1, is a natural satellite of Jupiter.",
+ ],
+ more: [
+ "It was discovered in 2017, is about three kilometers in diameter, and is a member of the Ananke group.",
+ ],
+ },
+ related: [],
+ },
+ kale: {
+ title: "Kale",
+ description: {
+ blurb: [
+ "Kale was discovered Dec. 9, 2001 by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Kale is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. The group probably began as a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision, which broke off a number of pieces, either before or after being captured by Jupiter's gravity. The largest remaining chunk (still retaining 99% of the group's mass) was named \"Carme,\" and the smaller pieces became the other 16 moons in the Carme group. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. They all are very similar in color -- light red -- except for Kalyke, which is considerably redder than the others. All of these characteristics support the idea that the Carme satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Carme members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Kale has a mean radius of about 0.6 miles (one kilometer). At a mean distance of about 14.4 million miles (23.2 million kilometers) from Jupiter, the satellite takes about 729 Earth days to complete one orbit. Originally called S/2001 J8, Kale was named for one of the Graces, who were daughters of Zeus, the Greek equivalent of the Roman god Jupiter.",
+ ],
+ },
+ related: [],
+ },
+ kallichore: {
+ title: "Kallichore",
+ description: {
+ blurb: [
+ "Kallichore was discovered on Feb. 6, 2003 by Scott S. Sheppard at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Kallichore is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. The group probably began as a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision, which broke off a number of pieces, either before or after being captured by Jupiter's gravity. The largest remaining chunk (still retaining 99% of the group's mass) was named \"Carme,\" and the smaller pieces became the other 16 moons in the Carme group. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. They all are very similar in color – light red – except for Kalyke, which is considerably redder than the others. All of these characteristics support the idea that the Carme satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Carme members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Kallichore has a mean radius of about 0.6 miles (one kilometer). At a mean distance of about (23.3 million kilometers) from Jupiter, the satellite takes about 728 Earth days to complete one orbit. Originally called S/2003 J11, Kallichore was named for one of the Muses, who were daughters of Zeus, the Greek equivalent of the Roman god Jupiter. Her name means \"beautiful in dance.\"",
+ ],
+ },
+ related: [],
+ },
+ kalyke: {
+ title: "Kalyke",
+ description: {
+ blurb: [
+ "Kalyke was discovered on Nov. 23, 2000 by Scott S. Sheppard, David C. Jewitt, Yanga R. Fernandez, and Eugene Magnier at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Kalyke is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. The group probably began as a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision, which broke off a number of pieces, either before or after being captured by Jupiter's gravity. The largest remaining chunk (still retaining 99% of the group's mass) was named \"Carme,\" and the smaller pieces became the other 16 moons in the Carme group. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. They all are very similar in color – light red – except for Kalyke, which is considerably redder than the others. All of these characteristics support the idea that the Carme satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Carme members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Kalyke has a mean radius of about 1.6 miles (2.6 kilometers). At a mean distance of about 14.6 million miles (23.5 million kilometers) from Jupiter, the satellite takes about 742 Earth days to complete one orbit. Originally called S/2000 J2, Kalyke was named for the mother of Endymion by Zeus (the Greek equivalent of the Roman god Jupiter) according to some accounts in Greek mythology.",
+ ],
+ },
+ related: [],
+ },
+ kari: {
+ title: "Kari",
+ description: {
+ blurb: [
+ "Kari was discovered on March 6, 2006 based on data obtained with the Subaru 8.3-m reflector telescope on Mauna Kea, Hawaii, during the months of January to April, 2006.",
+ ],
+ more: [
+ "Kari has a mean radius of 1.9 miles (3 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 156 degrees and an eccentricity of about 0.5. At a mean distance of 13.7 million miles (22.1 million kilometers) from Saturn, the moon takes about 1,231 Earth days to complete one orbit. Its rotation period is 7 hours and 42 minutes. Kari is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn -- traveling around in the opposite direction from the planet's rotation. Kari and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Kari is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Kari appears to be a member of a subgroup that also includes Skathi, Skoll, Hyrrokkin, S/2006 S1, Farbauti, Bergelmir, and S/2006 S3. Originally called S/2006 S2, Kari was named for a wind giant in Norse mythology",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ kerberos: {
+ title: "Kerberos",
+ description: {
+ blurb: [
+ "Kerberos was discovered on June 28, 2011 by a large team led by Mark Showalter using the Hubble Space Telescope.",
+ ],
+ more: [
+ "Pluto's tiny moon Kerberos appears to be smaller than scientists expected and has a highly-reflective surface, counter to predictions prior to the July 2015 flyby of the NASA's New Horizons spacecraft. The new data show that Kerberos appears to have a double-lobed shape, with the larger lobe approximately 5 miles (8 kilometers) across and the smaller lobe approximately 3 miles (5 kilometers) across. Scientists speculate from its unusual shape that Kerberos could have been formed by the merger of two smaller objects. The reflectivity of Kerberos' surface is similar to that of Pluto's other small moons (approximately 50 percent) and strongly suggests Kerberos, like the others, is coated with relatively clean water ice. Kerberos is located between the orbits of Nix and Hydra, which Hubble discovered in 2005. Charon was discovered in 1978 at the U.S. Naval Observatory and first resolved using Hubble in 1990 as a separate body from Pluto. Originally designated S/2011 (134340) 1 (and sometime referred to as P4), Kerberos is named after the three-headed dog of Greek mythology.",
+ ],
+ },
+ related: ["sc_new_horizons"],
+ },
+ kiviuq: {
+ title: "Kiviuq",
+ description: {
+ blurb: [
+ "Kiviuq was discovered on Aug. 7, 2000 at the European Southern Observatory in La Silla, Chile.",
+ ],
+ more: [
+ "Kiviuq has a mean radius of about 5 miles (8 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.06. This small, light red, irregular moon, is a dark object in a highly inclined orbit around Saturn. At a mean distance of 7.0 million miles (11.3 million kilometers) from Saturn, the moon takes about 449 Earth days to complete one orbit, while it rotates once every 21 hours and 49 minutes. Kiviuq is one of five known members of the Inuit group of moons, which orbit Saturn at a mean distance of 7 to 11 million miles (11 to 18 million kilometers), at inclinations between 40 and 50 degrees from the plane of Saturn's equator, and with eccentricities of 0.15 to 0.48. (A moon's eccentricity is a number between 0 and 1 which describes the shape of the orbit. The closer to 0, the more circular it is; the closer to 1, the more elongated.) The Inuit moons all have prograde orbits (they travel around Saturn in the same direction as the planet's rotation), but their deviations from circular orbits and from the plane of Saturn's equator classify them as \"irregular\" moons. Like Saturn's other irregular moons, they are thought to be objects that were captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet, as the regular moons are thought to have done. Originally called S/2000 S5, Kiviuq was named for the wandering hero of epic stories told by the Inuit people.",
+ ],
+ },
+ related: [],
+ },
+ kore: {
+ title: "Kore",
+ description: {
+ blurb: [
+ "Kore was discovered on Feb. 8, 2003 by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Kore is considered a member of the Pasiphae group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. Most or all of the Pasiphae satellites are thought to have begun as a single asteroid that, after being captured by Jupiter's gravity, suffered a collision which broke off a number of pieces. The bulk of the original asteroid survived as the moon called Pasiphae, and the other pieces became some or all of the other moons in the group. All of the Pasiphae moons are retrograde, so they orbit Jupiter in the opposite direction from the planet's rotation. Compared to Jupiter's other satellite groups, confidence is lower that all the moons in the Pasiphae group originated in a single collision. Kore has a mean radius of 0.6 miles (one kilometer), assuming an albedo of 0.04. At a mean distance of about 15.2 million miles (24.5 million kilometers) from Jupiter, the satellite takes about 777 Earth days to complete one orbit. Originally called S/2003 J14, Kore was named for a character in Greek mythology who was the daughter of Zeus (the Greek equivalent of the Roman god Jupiter) and Demeter, the goddess of agriculture.",
+ ],
+ },
+ related: [],
+ },
+ laomedeia: {
+ title: "Laomedeia",
+ description: {
+ blurb: [
+ "Laomedeia is one of three tiny moons (ranging in size from 30 to 40 km -- or 18 to 24 miles) of Neptune discovered in 2002 using innovative ground-based telescope techniques. (The other moons discovered were Sao and Halimede.) The moons are so distant and so small they are about 100 million times fainter than can be seen with the unaided eye. The moons were missed by the Voyager 2 spacecraft in 1989 because they are so faint and distant from Neptune.",
+ "Laomedeia is considered an irregular satellite because of its distant, eccentric orbit around Neptune. Like most irregular satellites of the giant planets in our outer solar system, Laomedeia most likely formed after a collision between a larger moon and a comet or an asteroid. Laomedeia and Sao have prograde orbits, which means they orbit in the same direction as Neptune's rotation. Halimede has a retrograde orbit, which means Halimede orbits in the opposite direction of Neptune's rotation.",
+ "Very little is known about Laomedeia. Scientists are trying to learn more about it and its irregular sisters because they offer a glimpse of the conditions at the time the planets in our solar system were forming billions of years ago.",
+ ],
+ },
+ related: [],
+ },
+ larissa: {
+ title: "Larissa",
+ description: {
+ blurb: [
+ "Larissa is another of the small moons found near Neptune's faint ring system in 1989. Like Despina and Galatea, Larissa is irregularly shaped and heavily cratered.",
+ "Larissa's orbit is mostly circular, but it is slowly spiraling inward and may eventually impact Neptune's atmosphere, or the gas giant's tidal forces may break Larissa apart to form a planetary ring. The moon orbits Neptune in about 13 hours and 20 minutes.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ leda: {
+ title: "Leda",
+ description: {
+ blurb: [
+ "Leda was discovered on Sept. 14, 1974 by Charles Thomas Kowal on plates taken from Sept. 11 through 13, 1974 with the 122-cm Schmidt telescope at Mount Palomar.",
+ ],
+ more: [
+ "With a mean radius of 6.2 miles (10 kilometers), assuming an albedo of 0.04, Leda is the smallest moon in the Himalia group, a family of Jovian satellites which have similar orbits and appearance, and are therefore thought to have a common origin. Leda may be a chunk of an asteroid (a C- or D-class asteroid, judging by the fact that it reflects only about 4% of the light it receives), which was broken apart in a collision either before or after being captured by Jupiter's gravity. In this scenario, the other pieces became the other moons in the Himalia group: Himalia (the largest), Lysithea and Elara. A fifth moon, called S/2000 J11, only about 2 km in radius, was considered a candidate for this group. However, it was lost before its orbit could be definitively determined. It may have crashed into Himalia, reuniting two pieces of the former asteroid, and perhaps creating a faint temporary ring of Jupiter near the orbit of Himalia. At a distance of about 6.9 million miles (11.2 million kilometers) from Jupiter, Leda takes nearly 241 Earth days to complete one orbit. Leda was named for a woman in Greek mythology. According to one legend, she was seduced by Zeus (the Greek equivalent of the Roman god, Jupiter), who had taken the form of a swan.",
+ ],
+ },
+ related: [],
+ },
+ loge: {
+ title: "Loge",
+ description: {
+ blurb: [
+ "Loge was discovered on March 6, 2006 by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna using the Subaru 8.3-m reflector telescope on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Loge has a mean radius of 1.9 miles (3 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 167 degrees and an eccentricity of about 0.2. At a mean distance of 14.3 million miles (23.0 million kilometers) from Saturn, the moon takes about 1,311 Earth days to complete one orbit. Loge is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn -- traveling around in the opposite direction from the planet's rotation. Loge and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Loge is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Originally called S/2006 S5, Loge was named for Logi, a god who was the personification of fire in Norse mythology.",
+ ],
+ },
+ related: [],
+ },
+ lysithea: {
+ title: "Lysithea",
+ description: {
+ blurb: [
+ "Lysithea was discovered on July 6, 1938 by Seth Barnes Nicholson with the 100-inch (2.5 m) Hooker telescope at the Mount Wilson Observatory.",
+ ],
+ more: [
+ "With a mean radius of 11.1 miles (18 kilometers), assuming an albedo of 0.04, Lysithea is the second smallest moon in the Himalia group, a family of Jovian satellites which have similar orbits and appearance, and are therefore thought to have a common origin. Lysithea may be a chunk of an asteroid (a C- or D-class asteroid, judging by the fact that it reflects only about 4% of the light it receives), which was broken apart in a collision either before or after being captured by Jupiter's gravity. In this scenario, the other pieces became the other moons in the Himalia group: Leda, Himalia (the largest) and Elara. A fifth moon, called S/2000 J11, only about 1.2 miles, (2 kilometers) in radius, was considered a candidate for this group. However, it was lost before its orbit could be definitively determined. It may have crashed into Himalia, reuniting two pieces of the former asteroid, and perhaps creating a faint temporary ring of Jupiter near the orbit of Himalia. At a distance of about 7.2 million miles (11.7 million kilometers) from Jupiter, Lysithea takes about 259 Earth days to complete one orbit. Lysithea was named for one of the lovers of the Roman god Jupiter, or the Greek equivalent, Zeus.",
+ ],
+ },
+ related: [],
+ },
+ mab: {
+ title: "Mab",
+ description: {
+ blurb: [
+ "Mab was discovered on Aug. 23, 2003 by Mark R. Showalter and Jack J. Lissauer, using the Hubble Space Telescope.",
+ ],
+ more: [
+ "Mab is a small, inner moon of Uranus. It orbits at the same distance as one of the planet's rings, the Mu ring, and in fact may provide dust for that ring when the moon is struck by small meteoroids or ring particles. Because of its small size and dark color, it was overlooked in the Voyager 2 images until after it was spotted with a ground-based telescope in 2003. Mab is queen of the fairies in English folklore. She is mentioned in a speech given in William Shakespeare's play, \"Romeo and Juliet,\" so the name is at least somewhat in keeping with the practice of naming most Uranian moons after characters in Shakespeare's plays. The original designation for this moon was S/2003 U1.",
+ ],
+ },
+ related: [],
+ },
+ margaret: {
+ title: "Margaret",
+ description: {
+ blurb: [
+ "Margaret is considered an irregular moon of Uranus because of the eccentricity and inclination of its orbit, but it is the only such moon that travels in a prograde direction -- that is, in the same direction as the regular moons and the planet's rotation about its axis. Only about 20 km in diameter and very dark, it is likely an object that was captured by Uranus' gravity.",
+ ],
+ },
+ related: [],
+ },
+ megaclite: {
+ title: "Megaclite",
+ description: {
+ blurb: [
+ "Megaclite was discovered on Nov. 25, 2000 by Scott S. Sheppard, David C. Jewitt, Yanga R. Fernandez, and Eugene A. Magnier at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Megaclite is considered a member of the Pasiphae group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. Most or all of the Pasiphae satellites are thought to have begun as a single asteroid that, after being captured by Jupiter's gravity, suffered a collision which broke off a number of pieces. The bulk of the original asteroid survived as the moon called Pasiphae, and the other pieces became some or all of the other moons in the group. Compared to Jupiter's other satellite groups, confidence is lower that all the moons in the Pasiphae group originated in a single collision. This is due to differences in color (varying from red to gray), and differences in orbital eccentricity and inclination among the members of the Pasiphae group. Sinope, in particular, is suspected of starting out as an independent asteroid. Megaclite has a mean radius of 1.6 miles (2.7 kilometers), assuming an albedo of 0.04. At a mean distance of about 14.7 million (23.8 million kilometers) from Jupiter, the satellite takes about 753 Earth days to complete one orbit. Originally called S/2000 J8, Megaclite was named for one of the adulterous conquests of the Roman god Jupiter.",
+ ],
+ },
+ related: [],
+ },
+ menoetius: {
+ title: "Menoetius",
+ description: {
+ blurb: [
+ 'Menoetius is part of a large binary asteroid located in the orbit of Jupiter, always "trailing" the planet by 60 degrees. It is in a binary system with its larger twin, Patroclus. Referred to as a Trojan asteroid, It will be visited by the Lucy mission in 2033.',
+ ],
+ more: [
+ "This asteroid will be the final encounter of Lucy's primary mission, in March of 2033. After a long journey from the Greek L4 swarm to the Trojan L5 swarm, Lucy will fly by the binary pair of asteroids (617) Patroclus and Menoetius. They are large P-type Trojans, with average diameters of 113 km and 104 km (about 70 and 65 miles), respectively. Scientists hypothesize that they may be primordial asteroids left over from the very early Solar System.",
+ ],
+ },
+ related: ["sc_lucy", "617_patroclus"],
+ },
+ methone: {
+ title: "Methone",
+ description: {
+ blurb: [
+ "The Cassini Imaging Team discovered Methone on June 1, 2004. Methone and nearby Pallene were the first moons discovered in Cassini images.",
+ ],
+ more: [
+ "Methone is a tiny 1-mile (1.6-kilometer) mean radius moon that orbits between Mimas and Enceladus at a radius of 120,546 miles (194,000 kilometers) from Saturn. Scientists have two theories to explain the presence of Methone and two other tiny sister moons, Pallene and Anthe. First, the three moons may have split from either Mimas or Enceladus. Second, all five moons may be the remains of a larger swarm that traveled in that area close to Saturn. Methone orbits Saturn in 24 hours. Methone, Pallene and Anthe, all orbit at very similar distances from Saturn – they are in a dynamical relationship. Mimas strongly perturbs the three moons, all of which orbit between Mimas and Enceladus. The vastly more massive Mimas causes the Methonean orbit to vary by as much as 12.4 miles (20 km), it causes Pallene to vary by a slightly smaller amount and it has the greatest effect on Anthe. Because these three tiny moons (Methone, Pallene and Anthe) orbit at very similar distances from Saturn, they are in a dynamical relationship. The vastly more massive Mimas causes the Methone orbit to vary by as much as 12.4 miles (20 km), causes Pallene to vary by a slightly smaller amount, and has the greatest effect on Anthe. These three moons may also be contributing particles to Saturn's E-ring. John Herschel suggested that the moons of Saturn be associated with the mythical brothers and sisters of Kronus.",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ metis: {
+ title: "Metis",
+ description: {
+ blurb: [
+ "Metis was discovered in March 1979 by the Voyager science team.",
+ ],
+ more: [
+ "Orbiting within Io's orbit, which is the innermost of the four largest moons of Jupiter (called the Galilean moons), are four smaller moons named Metis, Adrastea, Amalthea, and Thebe. Metis is the third largest within this grouping and it has a mean radius of about 13.3 miles (21.5 kilometers). Metis orbits 128,000 km from its parent planet Jupiter and it takes 0.295 Earth days to complete one orbit. We do not know the rotational period for Metis, but its orbital period is 5 hours, and it is likely to be in synchronous orbit, keeping the same face pointing towards Jupiter. Since Io orbits about 262,000 miles (422,000) kilometers above Jupiter and, at this close distance, is subjected to extreme tidal flexing from Jupiter's gravity, one would imagine that this even closer satellite would be pulled to pieces. However, because it is so small Metis is relatively immune to the effects of tidal forces. Metis is one of the two closest moons (the other is Adrastea) that orbit inside what is called the synchronous orbit radius of Jupiter. That is, Metis orbits Jupiter faster than Jupiter rotates on its axis. At this distance, Metis' orbit will eventually decay and it will fall into the planet. Metis and Adrastea also orbit inside Jupiter's main ring and are undoubtedly the source of the material for this ring. Amalthea and Thebe provide the material for the Gossamer ring. Originally designated S/1979 J 1, Metis is named for the first wife of Zeus who was swallowed by Zeus while pregnant with their first child.",
+ ],
+ },
+ related: ["sc_voyager_1"],
+ },
+ mimas: {
+ title: "Mimas",
+ description: {
+ blurb: [
+ "Crater-covered Mimas is the smallest and innermost of Saturn's major moons.",
+ ],
+ more: [
+ 'Its most distinguishing feature is a giant impact crater – named Herschel after the moon\'s discoverer – which stretches a third of the way across the face of the moon, making it look like the Death Star from "Star Wars" The Herschel Crater is 80 miles (130 kilometers) across – one third of the diameter of the moon itself – with outer walls about 3 miles (5 kilometers) high and a central peak 3.5 miles (6 km) high. The impact that blasted this crater out of Mimas probably came close to breaking the moon apart. Shock waves from the Herschel impact may have caused the fractures, also called chasmata, on the opposite side of Mimas. That Mimas appears to be frozen solid is puzzling because Mimas is closer to Saturn and has a much more eccentric (elongated) orbit than Enceladus, which should mean that Mimas has more tidal heating than Enceladus. Yet Enceladus displays geysers of water, which implies internal heat, while Mimas has one of the most heavily cratered surfaces in the solar system, which suggests a frozen surface that has persisted for enough time to preserve all those craters. This paradox has prompted the "Mimas Test" by which any theory that claims to explain the partially thawed water of Enceladus must also explain the entirely frozen water of Mimas.',
+ ],
+ },
+ related: ["sc_cassini", "sc_voyager_1", "sc_voyager_2"],
+ },
+ miranda: {
+ title: "Miranda",
+ description: {
+ blurb: [
+ "Miranda, a moon of Uranus, looks like it was pieced together from parts that didn't quite merge properly.",
+ ],
+ more: [
+ "At about 500 km in diameter, it's only one-seventh as large as Earth's moon, a size that seems unlikely to support much tectonic activity.",
+ "Yet Miranda sports one of the strangest and most varied landscapes among extraterrestrial bodies, including three large features known as \"coronae,\" which are unique among known objects in our solar system. They are lightly cratered collections of ridges and valleys, separated from the more heavily cratered (and presumably older) terrain by sharp boundaries like mismatched patches on a moth-eaten coat. Miranda's giant fault canyons are as much as 12 times as deep as the Grand Canyon. Due to Miranda's low gravity and large cliffs, a rock dropped off the edge of the highest cliff would take a full 10 minutes to reach the foot of the cliff. All of Uranus' larger moons, including Miranda, are thought to consist mostly of roughly equal amounts of water ice and silicate rock. Unlike the other four main Uranian satellites, Miranda's orbit is slightly inclined. Miranda was named for the daughter of Prospero in William Shakespeare's play, \"The Tempest.\"",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ mneme: {
+ title: "Mneme",
+ description: {
+ blurb: [
+ "Mneme was discovered on Feb. 9, 2003 by Scott S. Sheppard and Brett Joseph Gladman at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Mneme is a member of the Ananke group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. The group probably began as an asteroid that was captured by Jupiter's gravity and then suffered a collision, which broke off a number of pieces. The largest remaining chunk was named \"Ananke,\" and the smaller pieces became the other 15 moons in the Ananke group. All of the Ananke moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and rather highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Ananke satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Ananke members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Mneme has a mean radius of about 0.6 miles (one kilometer), assuming an albedo of 0.04. At a mean distance of about 13 million miles (21 million kilometers) from Jupiter, it takes about 620 Earth days to complete one orbit. Originally called S/2003 J21, Mneme was named for one of the Muses, who were daughters of Zeus, the Greek equivalent of the Roman god Jupiter. Mneme means memory.",
+ ],
+ },
+ related: [],
+ },
+ moon: {
+ title: "Moon",
+ description: {
+ blurb: [
+ "Earth's Moon is the only place beyond Earth where humans have set foot.",
+ ],
+ more: [
+ "The brightest and largest object in our night sky, the Moon makes Earth a more livable planet by moderating our home planet's wobble on its axis, leading to a relatively stable climate. It also causes tides, creating a rhythm that has guided humans for thousands of years.",
+ "Our moon is the fifth largest of the 190+ moons orbiting planets in our solar system.",
+ "Earth's only natural satellite is simply called \"the Moon\" because people didn't know other moons existed until Galileo Galilei discovered four moons orbiting Jupiter in 1610. With a radius of 1,079.6 miles (1,737.5 kilometers), the Moon is less than a third the width of Earth. If Earth were the size of a nickel, the Moon would be about as big as a coffee bean.",
+ "The Moon is farther away from Earth than most people realize. The Moon is an average of 238,855 miles (384,400 kilometers) away. That means 30 Earth-sized planets could fit in between Earth and the Moon.",
+ ' The Moon is slowly moving away from Earth, getting about an inch farther away each year. The leading theory of the Moon\'s origin is that a Mars-sized body collided with Earth about 4.5 billion years ago. The resulting debris from both Earth and the impactor accumulated to form our natural satellite. The newly formed Moon was in a molten state, but within about 100 million years, most of the global "magma ocean" had crystallized, with less-dense rocks floating upward and eventually forming the lunar crust.',
+ ],
+ },
+ related: [
+ "sc_lcross",
+ "sc_grail_a",
+ "sc_grail_b",
+ "sc_ladee",
+ "sc_clementine",
+ "sc_lunar_prospector",
+ ],
+ },
+ mundilfari: {
+ title: "Mundilfari",
+ description: {
+ blurb: [
+ "Mundilfari was discovered in 2000 using the 3.6-m Canada-France-Hawaii reflector on Mauna Kea in Hawaii, with adaptive optics.",
+ ],
+ more: [
+ 'Mundilfari has a mean radius of 2.2 miles (3.5 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.06. It orbits Saturn at an inclination of about 169 degrees and an eccentricity of about 0.2. At a mean distance of 11.6 million miles (18.7 million kilometers) from Saturn, the moon takes about 953 Earth days to complete one orbit. Mundilfari is a member of the Norse group of moons. These "irregular" moons have retrograde orbits around Saturn -- traveling around in the opposite direction from the planet\'s rotation. Mundilfari and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn\'s other irregular moons, Mundilfari is thought to be an object that was captured by Saturn\'s gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Originally called S/2000 S9, Mundilfari was named for the father of two beautiful children in Norse mythology, a son whom he named "Moon" and a daughter whom he named "Sun."',
+ ],
+ },
+ related: [],
+ },
+ naiad: {
+ title: "Naiad",
+ description: {
+ blurb: [
+ "Potato-shaped Naiad is most likely made up of fragments of Neptune's original satellites, which were smashed up by disturbances when the ice giant captured its largest moon, Triton. It is probable that Naiad has not been modified by any internal geological processes since its formation.",
+ "Naiad orbits close to Neptune. The small moon circles the planet every seven hours and six minutes in a decaying orbit; Naiad may eventually crash into Neptune's atmosphere or be torn apart and form a planetary ring.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ namaka: {
+ title: "Namaka",
+ description: {
+ blurb: ["Namaka is the smaller, inner moon of the dwarf planet Haumea."],
+ more: [
+ "Namaka was discovered on 30 June 2005 and announced on 29 November 2005, and is named after the goddess of the sea in Hawaiian mythology and one of the daughters of Haumea.",
+ ],
+ },
+ related: [],
+ },
+ narvi: {
+ title: "Narvi",
+ description: {
+ blurb: [
+ "Narvi was discovered on April 8, 2003 by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna, from photos taken from Feb. 5 to 3 April 3.",
+ ],
+ more: [
+ "Narvi has a mean radius of 2.2 miles (3.5 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 143 degrees and an eccentricity of about 0.4. At a mean distance of 12.1 million miles (19.4 million kilometers) from Saturn, the moon takes about 1,004 Earth days to complete one orbit. Narvi is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn -- traveling around in the opposite direction from the planet's rotation. Narvi and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Narvi is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Narvi appears to be a member of a subgroup with Bestla. Originally called S/2003 S1, Narvi was named for a son of Loki in Norse mythology.",
+ ],
+ },
+ related: [],
+ },
+ nix: {
+ title: "Nix",
+ description: {
+ blurb: [
+ "Nix is the inner of the two moons discovered orbiting Pluto in 2005 by the Hubble Space Telescope.",
+ ],
+ more: [
+ "Nix and Hydra are roughly 5,000 times fainter than Pluto and are about two to three times farther from Pluto than its large moon, Charon, which was discovered in 1978. Nix and Hydra are roughly 20 to 70 miles (32 to 113 km) wide.They are so small and so faint that scientists combined a short exposure of Pluto and Charon and a long exposure of Nix and Hydra to create images of them all together. Nix was named for the Greek goddess of darkness and night and mother of Charon.",
+ ],
+ },
+ related: ["sc_hubble_space_telescope", "sc_new_horizons"],
+ },
+ nereid: {
+ title: "Nereid",
+ description: {
+ blurb: [
+ "Nereid is one of the outermost of Neptune's known moons and is among the largest.",
+ ],
+ more: [
+ "Nereid is unique because it has one of the most eccentric orbits of any moon in our solar system. Nereid is so far from Neptune that it requires 360 Earth days to make one orbit. This odd orbit suggests that Nereid may be a captured asteroid or Kuiper Belt object or that it was greatly disturbed during the capture of Neptune's largest moon Triton.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ neso: {
+ title: "Neso",
+ description: {
+ blurb: [
+ "Very little is known about Neso, another of Neptune's extremely distant irregular moons. Neso's eccentric orbit takes it millions of kilometers from the ice giant. The moon's orbit is among the most distant from its planet than any other known moon in our solar system.",
+ "The small moon shares similar orbital parameters with another moon of Neptune -- Psamathe. Both Neso and Psamathe may be fragments from the break-up of a larger moon billions of years ago.",
+ ],
+ },
+ related: [],
+ },
+ oberon: {
+ title: "Oberon",
+ description: {
+ blurb: ["Oberon is the second largest moon of Uranus."],
+ more: [
+ "Discovered in 1787, little was known about this moon until Voyager 2 passed it during its flyby of Uranus in January 1986. Oberon is heavily cratered―similar to Umbriel―especially when compared to three other moons of Uranus: Ariel, Titania and Miranda. Like all of Uranus' large moons, Oberon is composed of roughly half ice and half rock. Oberon has at least one large mountain that rises about 6 km off the surface. The moon was named for the king of the fairies in Shakespeare's \"A Midsummer Night's Dream.\"",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ ophelia: {
+ title: "Ophelia",
+ description: {
+ blurb: [
+ "Ophelia was discovered in January 1986 in images sent back by the Voyager 2 spacecraft during its flyby of Uranus.",
+ ],
+ more: [
+ "Ophelia is one of the small inner moons of Uranus. Ophelia appears to be the outer satellite straddling Uranus' bright Epsilon ring. Ophelia and Cordelia are believed to herd the ring material into shape and keep it from drifting into space. All of Uranus' inner moons (those observed by Voyager 2) appear to be roughly half water ice and half rock. This moon was originally designated S/1986 U8, but was later renamed for the character of Ophelia in Shakespeare's \"Hamlet.\" Ophelia is the daughter of Polonius and fiance of Hamlet in the play.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ orthosie: {
+ title: "Orthosie",
+ description: {
+ blurb: [
+ "Orthosie is a member of the Ananke group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin",
+ ],
+ more: [
+ "The group probably began as an asteroid that was captured by Jupiter's gravity and then suffered a collision which broke off a number of pieces. The largest remaining chunk was named \"Ananke,\" and the smaller pieces became the other 15 moons in the Ananke group. All of the Ananke moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and rather highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Ananke satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Ananke members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Orthosie has a mean radius of about 0.6 miles (one kilometer), assuming an albedo of 0.04. At a mean distance of about 13.1 million miles (21.2 million kilometers) from Jupiter, it takes about 623 Earth days to complete one orbit. Originally called S/2001 J9, Orthosie was named for one of the Horae, who were daughters of Jupiter and Themis, a Titaness, in Roman mythology. Orthosie means luck.",
+ ],
+ },
+ related: [],
+ },
+ paaliaq: {
+ title: "Paaliaq",
+ description: {
+ blurb: [
+ "Paaliaq was discovered on Aug. 7, 2000 at the European Southern Observatory in La Silla, Chile.",
+ ],
+ more: [
+ "Paaliaq has a mean radius of 6.8 miles (11 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.06. At a mean distance of 9.3 million miles (15.0 million kilometers) from Saturn, the moon takes about 688 Earth days to complete one orbit. It has the most eccentric orbit around Saturn, meaning that its orbit is shaped like an oval. Paaliaq is one of five known members of the Inuit group of moons, which orbit Saturn at a mean distance of 7 to 11 million miles (11 to 18 million kilometers), at inclinations between 40 and 50 degrees from the plane of Saturn's equator, and with eccentricities of 0.15 to 0.48. (A moon's eccentricity is a number between 0 and 1 which describes the shape of the orbit. The closer to 0, the more circular it is; the closer to 1, the more elongated.) Observations by Tommy Grav and James Bauer using telescopes on Mauna Kea, Hawaii in 2006 (before the discovery of Tarqeq) found that Kiviuq, Siarnaq and Paaliaq all are light red with similar infrared features, further supporting the idea of a common origin. Originally called S/2000 S2, Paaliaq was named for a fictional Inuit shaman in the book, \"The Curse of the Shaman,\" by Michael Arvaarluk Kusugak and Vladyana Langer Krykorka.",
+ ],
+ },
+ related: [],
+ },
+ pallene: {
+ title: "Pallene",
+ description: {
+ blurb: [
+ "The Cassini imaging team discovered Pallene on June 1, 2004. Pallene and nearby Methone were the first moons discovered in Cassini images.",
+ ],
+ more: [
+ "Pallene (pronounced pal-lee-nee, adjective: Pallenean) is a tiny moon, with a mean radius of 1.6 miles (2.5 kilometers), that orbits between Mimas and Enceladus at about 132,000 miles (212,000 kilometers) from Saturn. Scientists have two theories to explain the presence of Pallene and two other tiny sister moons, Methone and Anthe. First, the three moons may have split from either Mimas or Enceladus. Second, all five moons may be the remains of a larger swarm that traveled in that area close to Saturn. Pallene circles Saturn in approximately 27.7 hours. Because Pallene and its two sister moons orbit at very similar distances from Saturn, they are in a dynamical relationship. Mimas strongly perturbs Pallene, the 2-mile (3-kilometer) diameter moon Methone and the 1-mile (2-kilometer) diameter moon Anthe, all of which orbit between Mimas and the next major moon, Enceladus. The vastly more massive Mimas causes the orbits of the tiny moons to vary by as much as 12.4 miles (20 kilometers). Together, these three moons may also be contributing particles to Saturn's E-ring. Pallene shares its orbit with a faint dust ring around Saturn, now called the Pallene Ring. This ring may be made of particles blasted off Pallene's surface by meteoroid impacts. The name Pallene comes from the name in Greek mythology of one of seven Alkyonides, daughters of the god (or Titan) Alkyoneus who was born of Gaia and the blood of Uranus.",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ pan: {
+ title: "Pan",
+ description: {
+ blurb: [
+ "Pan was discovered by M.R. Showalter in 1990 using images taken by the Voyager 2 spacecraft nine years earlier.",
+ ],
+ more: [
+ "Pan, the innermost of Saturn's known moons, has a mean radius of 8.8 miles (14.1 kilometers) and orbits 83,000 miles (134,000 kilometers) away from Saturn, within the Encke Gap of Saturn's A-ring. As it orbits Saturn every 13.8 hours, it acts as a shepherd moon and is responsible for keeping the Encke Gap open. The gap is a 200 mile (325 kilometer) opening in Saturn's A ring. Pan creates stripes, called \"wakes,\" in the ring material on either side of it. Since ring particles closer to Saturn than Pan move faster in their orbits, these particles pass the moon and receive a gravitational \"kick\" from Pan as they do. This kick causes waves to develop in the gap and also throughout the ring, extending hundreds of miles into the rings. These waves intersect downstream to create the wakes, places where ring material has bunched up in an orderly manner thanks to Pan's gravitational kick. Pan, like Saturn's moon Atlas, has a prominent equatorial ridge that gives it a distinctive flying saucer shape. Moons of Saturn were originally named for Greco-Roman Titans and descendants of the Titans. But as many new moons were discovered scientists began selecting names from more mythologies, including Gallic, Inuit and Norse stories. Pan, a satyr (a creature resembling a man with the hind legs and hooves of a goat), is a Greek god of nature and the forest.",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ pandia: {
+ title: "Pandia",
+ description: {
+ blurb: [
+ "This tiny moon of Jupiter was first spotted in 2017 and originally designated S/2017 J4.",
+ ],
+ more: [
+ "The discovery announcement was made in July 2018. Pandia is the daughter of Zeus and the Moon goddess Selene. Pandia is the goddess of the full moon and the sister of Ersa.",
+ ],
+ },
+ related: [],
+ },
+ pandora: {
+ title: "Pandora",
+ description: {
+ blurb: [
+ "Pandora was discovered in October 1980 by the Voyager 1 science team.",
+ ],
+ more: [
+ 'Pandora, a potato-shaped moon, is coated in a fine (dust-sized) icy material. Even the craters on Pandora are coated in debris, a stark contrast to the crisply-defined craters of other moons, such as Hyperion. Curious grooves and ridges also appear to cross the surface of the small moon. Pandora is interesting because it tends to disrupt the F ring, while Prometheus helps to keep the primary ring in place. Pandora is about 25.3 miles (40.7 kilometers) in mean radius. It orbits 88,000 miles (142,000 kilometers) away from Saturn, near the F ring, taking 15.1 hours to go around Saturn. Moons of Saturn were originally named for Greco-Roman Titans and descendants of the Titans. But as many new moons were discovered scientists began selecting names from more mythologies, including Gallic, Inuit and Norse stories. Originally called S/1980 S26, Pandora was renamed in 1985. In mythology, Pandora (pan-DOR-uh) was a work of art who was transformed into a human by the gods. Her curiosity was said to have loosed all manner of ills upon the world when she let evil creatures out of a locked box; however, she is also responsible for hope entering the world ("hope" had been the last "creature" in the box).',
+ ],
+ },
+ related: ["sc_voyager_1", "sc_voyager_2", "sc_cassini"],
+ },
+ pasiphae: {
+ title: "Pasiphae",
+ description: {
+ blurb: [
+ "Pasiphae was discovered on Jan. 27, 1908, by Philibert Jacques Melotte with the Greenwich Observatory's 30-inch Cassegrain telescope.",
+ ],
+ more: [
+ "With a mean radius of 18.6 miles (30 kilometers), Pasiphae is the largest member of the Pasiphae group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. Pasiphae was probably an asteroid that was captured by Jupiter's gravity and then suffered a collision which broke off a number of pieces. Those pieces became at least some, and perhaps all, of the other moons commonly categorized as members of the Pasiphae group. All of the Pasiphae moons are retrograde, which means they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. All of these characteristics support the idea that the Pasiphae satellites began as one or more captured asteroids, rather than forming as part of the original Jupiter system. Both Pasiphae and Sinope are locked in secular resonances with Jupiter, which means that Jupiter's gravity tugs at them at regular intervals in a way that can modify their orbits over time. This could account for the differences in their orbits compared to each other and to other presumed members of the Pasiphae group. Pasiphae has a mean radius of 18.6 miles (30 kilometers), assuming an albedo of 0.04. At a mean distance of about 14.6 million miles (23.6 million kilometers) from Jupiter, the satellite takes about 744 Earth days to complete one orbit. Pasiphae was named for the wife of Minos, who was king of Crete.",
+ ],
+ },
+ related: [],
+ },
+ pasithee: {
+ title: "Pasithee",
+ description: {
+ blurb: [
+ "Pasithee was discovered on Dec. 11, 2001, by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Pasithee is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. The group probably began as a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision, which broke off a number of pieces, either before or after being captured by Jupiter's gravity. The largest remaining chunk (still retaining 99 percent of the group's mass) was named \"Carme,\" and the smaller pieces became the other 16 moons in the Carme group. All of the Carme moons are retrograde, which means that they orbit Jupiter in the opposite direction from the planet's rotation. Their orbits are also eccentric (elliptical rather than circular) and highly inclined with respect to Jupiter's equatorial plane. They all are very similar in color -- light red -- except for Kalyke, which is considerably redder than the others. All of these characteristics support the idea that the Carme satellites began as a captured asteroid, rather than forming as part of the original Jupiter system. None of the Carme members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Pasithee has a mean radius of about one kilometer. At a mean distance of about 14 million miles (23 million kilometers) from Jupiter, the satellite takes about 719 Earth days to complete one orbit. Originally called S/2001 J6, Pasithee was named for one of the Graces, who were daughters of Zeus, the Greek equivalent of the Roman god Jupiter.",
+ ],
+ },
+ related: [],
+ },
+ perdita: {
+ title: "Perdita",
+ description: {
+ blurb: [
+ "Perdita was discovered 13 years after its picture was taken by Voyager 2 during the spacecraft's flyby in 1986.",
+ ],
+ more: [
+ "Perdita's orbit lies between those of Belinda and Puck, about 76,400 km from Uranus. It is believed to be about 30 km in diameter and very dark (albedo of about 0.08). Little else is known. University of Arizona's Erich Karkoschka found the moon in the public archive of Voyager 2 images when he compared them with those of the Hubble Space Telescope. The International Astronomical Union (IAU) recognized it as a moon of Uranus, but withdrew its designation as premature when subsequent efforts failed to observe it. Its existence was finally confirmed, however, in 2003, when the Hubble imaged an object right in Perdita's predicted location. Originally called S/1986 U10, Perdita was named for the daughter of Leontes and Hermione in William Shakespeare's play, \"The Winter's Tale.\" In the play Leontes initially refuses to believe that Perdita is his daughter because he thinks that his wife has had an affair with king Polixenes of Bohemia. Circumstances lead to Perdita being abandoned by her father and later found and raised by a Bohemian shepherd. 16 years later Bohemian Prince Florizel meets and falls in love with Perdita and it is revealed that she is the princess of Sicily. Perdita's father Leontes reconciles his differences with king Polixenes, and the marriage is ratified.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ philophrosyne: {
+ title: "Philophrosyne",
+ description: {
+ blurb: [
+ "Philophrosyne was discovered in April 2003 by Scott S. Sheppard at the Mauna Kea Observatory in Hawaii, and originally designated S/2003 J15.",
+ ],
+ more: [
+ 'Philophrosyne is a member of the Ananke group, a family of Jovian satellites which have similar orbits and are thought to have a common origin. The group probably began as an asteroid that was captured by Jupiter\'s gravity and then suffered a collision which broke off a number of pieces. The largest remaining chunk was named "Ananke," and the smaller pieces became the other 15 moons in the Ananke group. Philophrosyne has a mean radius of less than a mile (about one kilometer), assuming an albedo of 0.04. At a mean distance of about 14 million miles (22.6 million kilometers) from Jupiter, it takes about 690 Earth days to complete one orbit.',
+ ],
+ },
+ related: [],
+ },
+ phobos: {
+ title: "Phobos",
+ description: {
+ blurb: [
+ "Phobos is the larger of Mars' two moons. It orbits Mars three times a day, and is so close to the planet's surface that in some locations on Mars it cannot always be seen.",
+ ],
+ more: [
+ "Phobos, gouged and nearly shattered by a giant impact crater and beaten by thousands of meteorite impacts, is on a collision course with Mars. Phobos is the larger of Mars' two moons and is 17 x 14 x 11 miles (27 by 22 by 18 kilometers) in diameter. Phobos is nearing Mars at a rate of six feet (1.8 meters) every hundred years; at that rate, it will either crash into Mars in 50 million years or break up into a ring. Its most prominent feature is the 6-mile (9.7 kilometer) crater Stickney, its impact causing streak patterns across the moon's surface. Stickney was seen by Mars Global Surveyor to be filled with fine dust, with evidence of boulders sliding down its sloped surface.",
+ ],
+ },
+ related: [],
+ },
+ phoebe: {
+ title: "Phoebe",
+ description: {
+ blurb: ["Phoebe is one of the furthest moons from Saturn."],
+ more: [
+ "Phoebe is one of Saturn's most intriguing moons, orbiting at a distance of 8,049,668 miles (12,952,000 kilometers) from the planet, almost four times the distance from Saturn than its nearest neighbor, the moon Iapetus. Phoebe and Iapetus are the only major moons in the Saturnian system that do not orbit closely to the plane of Saturn's equator. Phoebe is also located near a very faint ring of Saturn that was only discovered in 2009, called the Phoebe ring.",
+ "Phoebe is roughly spherical and has a mean radius of about 66.2 miles (106.5 kilometers), about one-sixteenth the radius of Earth's Moon. Phoebe rotates on its axis every nine hours, and it completes a full orbit around Saturn in about 18 Earth months. Its irregular, elliptical orbit is inclined about 175 degrees to Saturn's equator. Phoebe's orbit is also retrograde, which means it goes around Saturn in the opposite direction than most other moons — as well as most objects in the solar system.",
+ "Unlike most major moons orbiting Saturn, Phoebe is very dark and reflects only 6 percent of the sunlight it receives. Its darkness and irregular, retrograde orbit suggest Phoebe is most likely a captured object. A captured object is a celestial body that is trapped by the gravitational pull of a much bigger body, generally a planet. Phoebe's darkness, in particular, suggests that the small moon comes from the outer solar system, an area where there is plenty of dark material.",
+ "Some scientists think Phoebe could be a captured Centaur. Centaurs are believed to be Kuiper Belt bodies that migrated into the inner solar system. Centaurs are found between the asteroid belt and the Kuiper Belt, and are considered a kind of intermediate type of small body, neither an asteroid nor a Kuiper Belt object. If Phoebe is indeed a captured Centaur, images and scientific data of Phoebe taken by the Cassini spacecraft will give scientists the first opportunity to study a Centaur. Centaurs are of extreme interest to scientists because they are believed to be primordial; that is, they appear to date from the formation of the solar system. These objects are the building blocks of the solar system, the leftovers that never pulled into a planet. And because of its relative small size, Phoebe might never have heated up enough to change its chemical composition — which increases the scientific value of its study.",
+ ],
+ },
+ related: ["sc_voyager_2", "sc_cassini"],
+ },
+ polydeuces: {
+ title: "Polydeuces",
+ description: {
+ blurb: [
+ "Polydeuces was discovered by the Cassini mission team on Oct. 21, 2004, and upon further review of Cassini images, scientists found it in images from April 9 of the same year.",
+ ],
+ more: [
+ 'Polydeuces is a small moon with a mean radius of just 0.8 miles (1.3 kilometers) orbiting Saturn at a distance of about 234,000 miles (377,000 kilometers), taking 2.7 Earth days to go around the planet. Polydeuces is an example of a so-called "Trojan" moon — it follows a larger moon in orbit around the planet (in the case of Polydeuces, the larger moon is Dione). Polydeuces is a trailing co-orbital of Dione, while the moon Helene is the leading co-orbital. Trojan moons are found near stable "Lagrangian points" — places where the gravitational pull of the planet and the larger moon become balanced. The Trojans are situated 60 degrees ahead or behind the larger moon in its orbit. It is believed that Polydeuces can get as close as 39 degrees to Dione and then drift as far as 92 degrees from it, taking over two years to complete its journey around the Lagrange point. If verified, the extent of this wandering is the largest detected so far for any Trojan moon. Originally designated S/2004 S5, Polydeuces (another name for Pollux) is named for the son of Leda and Zeus.',
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ portia: {
+ title: "Portia",
+ description: {
+ blurb: [
+ "Portia was discovered January 1986 in images sent back by the Voyager 2 spacecraft during its flyby of Uranus.",
+ ],
+ more: [
+ "Very little is known about Uranus' small and fast-moving moon Portia. It is known that Portia has a diameter of 140 km, making it one of the largest of Uranus' lesser satellites. It is also known that Portia orbits Uranus in less than one Earth day. This moon is named after Portia, the heroine of William Shakespeare's 16th century play \"The Merchant of Venice.\" It was originally designated S/1986 U 1",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ praxidike: {
+ title: "Praxidike",
+ description: {
+ blurb: [
+ "Praxidike was discovered on Nov. 23, 2000, by Scott S. Sheppard, David C. Jewitt, Yanga R. Fernandez, and Eugene Magnier at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ 'Praxidike is a member of the Ananke group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. The group probably began as an asteroid that was captured by Jupiter\'s gravity and then suffered a collision which broke off a number of pieces. The largest remaining chunk was named "Ananke," and the smaller pieces became the other 15 moons in the Ananke group. If Ananke, with a mean radius of 8.7 miles (14 kilometers), is considered the slightly diminished original asteroid, then Praxidike, with a mean radius of 2 miles (3.4 kilometers), assuming an albedo of 0.04, is the largest chip that was knocked off the asteroid. Praxidike is colored a similar gray to two other moons in the Ananke family: Harpalyke and Iocaste. At a mean distance of about 13 million miles (21.1 million kilometers) from Jupiter, Praxidike takes about 625 Earth days to complete one orbit. Originally called S/2000 J7, Praxidike was named for the Greek goddess of justice or punishment. She was the mother of Klesios, Harmonia and Arete by Zeus, the Greek equivalent of the Roman god Jupiter.',
+ ],
+ },
+ related: [],
+ },
+ prometheus: {
+ title: "Prometheus",
+ description: {
+ blurb: [
+ "The Voyager 1 science team discovered Prometheus in October 1980.",
+ ],
+ more: [
+ "Prometheus acts as a shepherding moon, constraining the extent of the inner edge of Saturn's F Ring. Prometheus is extremely irregular and has visible craters — some up to 12.4 miles (20 kilometers) in diameter. However, it is much less cratered than its nearby neighbors Pandora, Janus and Epimetheus. The density of Prometheus has been estimated to be low; it is probably a porous, icy body. The potato-shaped moon is about 26.8 miles (43.1 kilometers) in mean radius, orbiting Saturn at a distance of 87,000 miles (139,000 kilometers), taking 14.7 hours to go around the planet. Moons of Saturn were originally named for Greco-Roman Titans and descendants of the Titans. But as many new moons were discovered scientists began selecting names from more mythologies, including Gallic, Inuit and Norse stories. Originally designated S/1980 S27, Prometheus [pro-MEE-thee-us] is named for the son of the Titan Iapetus and brother of Atlas and Epimetheus. He is best known in Greek mythology for stealing fire from the gods and giving it to humanity.",
+ ],
+ },
+ related: ["sc_voyager_1", "sc_cassini"],
+ },
+ prospero: {
+ title: "Prospero",
+ description: {
+ blurb: [
+ "Prospero is a small, dark, irregular moon that orbits Uranus in the opposite direction from the regular satellites and the rotation of the planet, itself (known as a retrograde orbit).",
+ ],
+ },
+ related: [],
+ },
+ proteus: {
+ title: "Proteus",
+ description: {
+ blurb: ["Proteus was discovered in 1989 by the Voyager 2 spacecraft."],
+ more: [
+ "Proteus is one of the largest of Neptune's known moons, although it is not as big as Triton. The moon has an odd box-like shape and if it had just a little more mass it would be able to transform into a sphere. Proteus orbits Neptune about every 27 hours.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ psamathe: {
+ title: "Psamathe",
+ description: {
+ blurb: [
+ "Psamathe is so distant from Neptune it takes almost 26 Earth years to make a single orbit around the ice giant. The moon's orbit is among the most distant from its planet than any other known moon in our solar system.",
+ "The small moon shares similar orbital parameters with with another moon of Neptune -- Neso. Both Psamathe and Neso may be fragments from the break-up of a larger moon billions of years ago.",
+ ],
+ },
+ related: [],
+ },
+ puck: {
+ title: "Puck",
+ description: {
+ blurb: [
+ "Puck was discovered December 1985 in images sent back by the Voyager 2 spacecraft during its flyby of Uranus.",
+ ],
+ more: [
+ "Puck is one of the small inner moons of Uranus. With a diameter of about 150 km (about 90 miles), Puck is the largest of Uranus' known lesser satellites. Puck orbits Uranus in less than one Earth day. Originally designated S/1985 U1, Puck is named for a mischievous sprite in William Shakespeare's \"A Midsummer Night's Dream.\"",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ rhea: {
+ title: "Rhea",
+ description: {
+ blurb: ["Rhea is the second largest moon of Saturn"],
+ more: [
+ "Rhea is a small, cold, airless body that is very similar to sister moons Dione and Tethys. As with the other two moons, Rhea is tidally locked in phase with its parent — one side always faces toward Saturn — as it completes its 4.5-Earth-day orbit around the planet. Rhea's surface temperatures are also similar to Dione and Tethys, being roughly as warm as -281 degrees Fahrenheit (-174 degrees Celsius) in sunlit areas and ranging down to -364 degrees Fahrenheit (-220 degrees Celsius) in shaded areas. Also like Dione and Tethys, Rhea has a high reflectivity (or geometric albedo) suggesting a surface composition largely of water ice, which behaves like rock in Rhea's temperature range. In 2008, the Cassini spacecraft found evidence of material orbiting Rhea — the first time rings had been found around a moon. A broad debris disk and at least one ring appear to have been detected by a suite of six instruments on Cassini specifically designed to study the atmospheres and particles around Saturn and its moons.",
+ ],
+ },
+ related: ["sc_cassini", "sc_voyager_1", "sc_voyager_2"],
+ },
+ rosalind: {
+ title: "Rosalind",
+ description: {
+ blurb: [
+ "Rosalind was discovered by the Voyager 2 science team on 13 January 1986.",
+ ],
+ more: [
+ "Little is known about Rosalind, one of several satellites discovered by Voyager 2 as it flew by Uranus in 1986. Rosalind is one of Uranus' inner moons and has a radius of about 22 miles (36 kilometers). Originally designated S/1986 U4, Rosalind was named for the daughter of a banished Duke in Shakespeare's play \"As You Like It.\"",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ s_2003_j_10: {
+ title: "S/2003 J 10",
+ description: {
+ blurb: [
+ "S/2003 J 10 was discovered in February 2003 at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "S/2003 J 10 has a mean radius of less than a mile, or about one kilometer. At a mean distance of about 14 million miles (23 million kilometers) from Jupiter, the satellite takes about 716 Earth days to complete one orbit. S/2003 J10 was so designated because it is a satellite (S) that was discovered in 2003, and was the 10th satellite of Jupiter (J) to be found that year.",
+ ],
+ },
+ related: [],
+ },
+ s_2003_j_12: {
+ title: "S/2003 J 12",
+ description: {
+ blurb: [
+ 'The name "S/2003 J 12" means that it is a satellite (S) that was discovered in 2003 orbiting Jupiter (J), and that it was the 12th satellite of Jupiter discovered that year.',
+ ],
+ more: [
+ "At a distance of about 11 million miles (17.8 million kilometers) from Jupiter, S/2003 J12 is the innermost of the known retrograde satellites (those which orbit Jupiter in the opposite direction from the planet's rotation). It takes almost 490 Earth days tocomplete one orbit, and its orbit is highly inclined with respect to Jupiter's equatorial plane. S/2003 J12 is less than a mile across ( about one kilometer), assuming an albedo of 0.04).",
+ ],
+ },
+ related: [],
+ },
+ s_2003_j_16: {
+ title: "S/2003 J 16",
+ description: {
+ blurb: [
+ "S/2003 J 16 was discovered in April 2003 by Brett J. Gladman at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "S/2003 J 16 is a member of the Ananke group. S/2003 J16 has a mean radius of about one kilometer (assuming an albedo of 0.04). At a mean distance of about 13 million miles (20.9 million kilometers) from Jupiter, it takes about 616 Earth days to complete one orbit.",
+ ],
+ },
+ related: [],
+ },
+ s_2003_j_2: {
+ title: "S/2003 J 2",
+ description: {
+ blurb: [
+ "This moon of Jupiter, like many others, was discovered in February or March 2003 at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "This satellite has a mean radius of 1 km, assuming an albedo of 0.04. At a mean distance of about 18 million miles (28.3 million kilometers) from Jupiter, the satellite takes about 979 Earth days to complete one orbit.",
+ ],
+ },
+ related: [],
+ },
+ s_2003_j_23: {
+ title: "S/2003 J 23",
+ description: {
+ blurb: [
+ "This moon of Jupiter, like many others, was discovered in 2003 at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "S/2003 J 23 is considered a member of the Pasiphae group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. S/2003 J 23 has a mean radius of less than a mile (about one kilometer), assuming an albedo of 0.04. At a mean distance of about 15 million miles (23.5 million kilometers) from Jupiter, the satellite takes about 732 Earth days to complete one orbit.",
+ ],
+ },
+ related: [],
+ },
+ s_2003_j_24: {
+ title: "S/2003 J 24",
+ description: {
+ blurb: [
+ "This moon of Jupiter was independently discovered in 2021 using data from 2003.",
+ ],
+ more: [
+ "S/2003 J 24 orbits Jupiter at an average distance of 23,088,000 km (0.15433 AU) in 715.4 days, at an inclination of 162° to the ecliptic, in a retrograde direction and with an eccentricity of 0.25. It belongs to the Carme group, made up of irregular retrograde moons orbiting Jupiter at a distance ranging between 23 and 24 Gm and at an inclination of about 165°.",
+ ],
+ },
+ related: [],
+ },
+ s_2003_j_4: {
+ title: "S/2003 J 4",
+ description: {
+ blurb: [
+ "This moon of Jupiter, like many others, was discovered in 2003 at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "S/2003 J 4 is a member of the Pasiphae group, and has a mean radius of less than a mile (about 1 kilometer), assuming an albedo of 0.04. At a mean distance of about 15 million miles (23.9 million kilometers) from Jupiter, the satellite takes about 755 Earth days to complete one orbit.",
+ ],
+ },
+ related: [],
+ },
+ s_2003_j_9: {
+ title: "S/2003 J 9",
+ description: {
+ blurb: [
+ "This moon of Jupiter, like many others, was discovered in 2003 at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "S/2003 J 9 is a member of the Carme group, and has a mean radius of about 1,600 feet (half a kilometer). At a mean distance of about 15 million miles (23.4 million kilometers) from Jupiter, the satellite takes about 733 Earth days to complete one orbit.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_7: {
+ title: "S/2004 S 7",
+ description: {
+ blurb: [
+ "S/2004 S 7 is a natural satellite of Saturn discovered in 2004. It was considered lost but was later recovered when observed again in 2022.",
+ ],
+ more: [
+ "S/2004 S 7 is about 6 kilometres in diameter, and orbits Saturn in 1173.932 days.",
+ ],
+ },
+ },
+ s_2004_s_12: {
+ title: "S/2004 S 12",
+ description: {
+ blurb: [
+ "S/2004 S 12 is a natural satellite of Saturn discovered in 2004. It was considered lost but was later recovered when observed again in 2022.",
+ ],
+ more: [
+ "S/2004 S 12 is about 5 kilometres in diameter, and orbits Saturn in 1048.567 days.",
+ ],
+ },
+ },
+ s_2004_s_13: {
+ title: "S/2004 S 13",
+ description: {
+ blurb: [
+ "S/2004 S 13 is a natural satellite of Saturn discovered in 2004. It was considered lost but was later recovered when observed again in 2022.",
+ ],
+ more: [
+ "S/2004 S 13 is about 6 kilometres in diameter, and orbits Saturn in 905.848 days.",
+ ],
+ },
+ },
+ s_2004_s_17: {
+ title: "S/2004 S 17",
+ description: {
+ blurb: [
+ "S/2004 S 17 is a natural satellite of Saturn discovered in 2004. It was considered lost but was later recovered when observed again in 2022.",
+ ],
+ more: [
+ "S/2004 S 17 is about 4 kilometres in diameter, and orbits Saturn in 985.453 days, at an inclination of 167° to the ecliptic.",
+ ],
+ },
+ },
+ s_2004_s_21: {
+ title: "S/2004 S 21",
+ description: {
+ blurb: [
+ "S/2004 S 21 is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "S/2004 S 21 is about 3 kilometres in diameter, and orbits Saturn at an average distance of 22,645 Gm in 1272.61 days, at an inclination of 160° to the ecliptic, in a retrograde direction and with an eccentricity of 0.318.",
+ ],
+ },
+ },
+ s_2004_s_24: {
+ title: "S/2004 S 24",
+ description: {
+ blurb: [
+ "S/2004 S 24 is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "S/2004 S 24 is about 3 kilometres in diameter, and orbits Saturn in 1294.25 days, at an inclination of 35.5° to the ecliptic, in a prograde direction and with an eccentricity of 0.085.",
+ ],
+ },
+ },
+ s_2004_s_28: {
+ title: "S/2004 S 28",
+ description: {
+ blurb: [
+ "S/2004 S 28 is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "S/2004 S 28 is about 4 kilometres in diameter, and orbits Saturn in 1220.31 days, at an inclination of 170° to the ecliptic.",
+ ],
+ },
+ },
+ s_2004_s_31: {
+ title: "S/2004 S 31",
+ description: {
+ blurb: [
+ "S/2004 S 31 is a natural satellite of Saturn and a member of the Inuit group. It was announced in 2019 from observations made from 2004 to 2007.",
+ ],
+ more: [
+ "S/2004 S 31 is about 4 kilometres in diameter, and orbits Saturn in 869.65 days.",
+ ],
+ },
+ },
+ s_2004_s_36: {
+ title: "S/2004 S 36",
+ description: {
+ blurb: [
+ "S/2004 S 36 is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "S/2004 S 36 is about 3 kilometres in diameter, and orbits Saturn in 1319.07 days, at an inclination of 155° to the ecliptic, in a retrograde direction and with an eccentricity of 0.748, the highest of any of Saturn's moons.",
+ ],
+ },
+ },
+ s_2004_s_37: {
+ title: "S/2004 S 37",
+ description: {
+ blurb: [
+ "S/2004 S 37 is a natural satellite of Saturn. Its discovery was announced by Scott S. Sheppard, David C. Jewitt, and Jan Kleyna on October 8, 2019 from observations taken between December 12, 2004 and February 2, 2006.",
+ ],
+ more: [
+ "S/2004 S 37 is about 4 kilometres in diameter, and orbits Saturn in 748.18 days.",
+ ],
+ },
+ },
+ s_2004_s_39: {
+ title: "S/2004 S 39",
+ description: {
+ blurb: [
+ "S/2004 S 39 is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "S/2004 S 39 is about 3 kilometres in diameter, and orbits Saturn in 1351.83 days, at an inclination of 167° to the ecliptic, in a retrograde direction and with an eccentricity of 0.080.",
+ ],
+ },
+ },
+ s_2004_s_40: {
+ title: "S/2004 S 40",
+ description: {
+ blurb: [
+ "S/2004 S 40 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 40 is about 4 kilometers in diameter and orbits Saturn at an average distance of 16.1 million km in 764.6 days. It has an inclination of 169.2° to the ecliptic in a retrograde direction with an eccentricity of 0.297.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_41: {
+ title: "S/2004 S 41",
+ description: {
+ blurb: [
+ "S/2004 S 41 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 41 is about 4 kilometers in diameter and orbits Saturn at an average distance of 18.1 million km in 914.61 days. It has an inclination of 165.7° to the ecliptic in a retrograde direction with an eccentricity of 0.300.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_42: {
+ title: "S/2004 S 42",
+ description: {
+ blurb: [
+ "S/2004 S 42 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 42 is about 4 kilometers in diameter and orbits Saturn at an average distance of 18.2 million km in 925.91 days. It has an inclination of 165.7° to the ecliptic in a retrograde direction with an eccentricity of 0.158.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_43: {
+ title: "S/2004 S 43",
+ description: {
+ blurb: [
+ "S/2004 S 43 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 43 is about 4 kilometers in diameter and orbits Saturn at an average distance of 18.9 million km in 980.08 days. It has an inclination of 171.1° to the ecliptic in a retrograde direction with an eccentricity of 0.432.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_44: {
+ title: "S/2004 S 44",
+ description: {
+ blurb: [
+ "S/2004 S 44 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 44 is about 5 kilometers in diameter and orbits Saturn at an average distance of 19.5 million km in 1026.16 days. It has an inclination of 167.7° to the ecliptic in a retrograde direction with an eccentricity of 0.129.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_45: {
+ title: "S/2004 S 45",
+ description: {
+ blurb: [
+ "S/2004 S 45 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 45 is about 4 kilometers in diameter and orbits Saturn at an average distance of 19.7 million km in 1038.7 days. It has an inclination of 154.0° to the ecliptic in a retrograde direction with an eccentricity of 0.551.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_46: {
+ title: "S/2004 S 46",
+ description: {
+ blurb: [
+ "S/2004 S 46 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 46 is about 3 kilometers in diameter and orbits Saturn at an average distance of 20.5 million km in 1107.58 days. It has an inclination of 177.2° to the ecliptic in a retrograde direction with an eccentricity of 0.249.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_47: {
+ title: "S/2004 S 47",
+ description: {
+ blurb: [
+ "S/2004 S 47 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 47 is about 4 kilometers in diameter and orbits Saturn at an average distance of 16.1 million km in 762.49 days. It has an inclination of 160.9° to the ecliptic in a retrograde direction with an eccentricity of 0.291.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_48: {
+ title: "S/2004 S 48",
+ description: {
+ blurb: [
+ "S/2004 S 48 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 48 is about 4 kilometers in diameter and orbits Saturn at an average distance of 22.1 million km in 1242.4 days. It has an inclination of 161.9° to the ecliptic in a retrograde direction with an eccentricity of 0.374.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_49: {
+ title: "S/2004 S 49",
+ description: {
+ blurb: [
+ "S/2004 S 49 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 49 is about 4 kilometers in diameter and orbits Saturn at an average distance of 22.4 million km in 1264.25 days. It has an inclination of 159.7° to the ecliptic in a retrograde direction with an eccentricity of 0.453.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_50: {
+ title: "S/2004 S 50",
+ description: {
+ blurb: [
+ "S/2004 S 50 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 50 is about 3 kilometers in diameter and orbits Saturn at an average distance of 22.3 million km in 1260.44 days. It has an inclination of 164.0° to the ecliptic in a retrograde direction with an eccentricity of 0.450.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_51: {
+ title: "S/2004 S 51",
+ description: {
+ blurb: [
+ "S/2004 S 51 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 51 is about 4 kilometers in diameter and orbits Saturn at an average distance of 25.2 million km in 1519.43 days. It has an inclination of 171.2° to the ecliptic in a retrograde direction with an eccentricity of 0.201.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_52: {
+ title: "S/2004 S 52",
+ description: {
+ blurb: [
+ "S/2004 S 52 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 52 is about 3 kilometers in diameter and orbits Saturn at an average distance of 26.4 million km in 1633.98 days. It has an inclination of 165.3° to the ecliptic in a retrograde direction with an eccentricity of 0.292.",
+ ],
+ },
+ related: [],
+ },
+ s_2004_s_53: {
+ title: "S/2004 S 53",
+ description: {
+ blurb: [
+ "S/2004 S 53 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2004 S 53 is about 4 kilometers in diameter and orbits Saturn at an average distance of 23.3 million km in 1342.44 days. It has an inclination of 162.6° to the ecliptic in a retrograde direction with an eccentricity of 0.240.",
+ ],
+ },
+ related: [],
+ },
+ s_2005_s_4: {
+ title: "S/2005 S 4",
+ description: {
+ blurb: [
+ "S/2005 S 4 is a natural satellite of Saturn, belonging to the Inuit group. It was discovered in 2005 and announced in 2023.",
+ ],
+ more: [
+ "S/2005 S 4 is about 5 kilometers in diameter and orbits Saturn at an average distance of 11.3 million km in 450.22 days. It has an inclination of 48.0° to the ecliptic in a prograde direction with an eccentricity of 0.315.",
+ ],
+ },
+ related: [],
+ },
+ s_2005_s_5: {
+ title: "S/2005 S 5",
+ description: {
+ blurb: [
+ "S/2005 S 5 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2005 and announced in 2023.",
+ ],
+ more: [
+ "S/2005 S 5 is about 3 kilometers in diameter and orbits Saturn at an average distance of 21.4 million km in 1177.82 days. It has an inclination of 169.5° to the ecliptic in a retrograde direction with an eccentricity of 0.588.",
+ ],
+ },
+ related: [],
+ },
+ s_2006_s_1: {
+ title: "S/2006 S 1",
+ description: {
+ blurb: [
+ "S/2006 S 1 is a natural satellite of Saturn, discovered in 2006.",
+ ],
+ more: [
+ "S/2006 S 1 is about 6 kilometres in diameter, and orbits Saturn in 951.1 days, at an inclination of 154.6° to the ecliptic.",
+ ],
+ },
+ },
+ s_2006_s_10: {
+ title: "S/2006 S 10",
+ description: {
+ blurb: [
+ "S/2006 S 10 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2006 and announced in 2023.",
+ ],
+ more: [
+ "S/2006 S 10 is about 3 kilometers in diameter and orbits Saturn at an average distance of 19.0 million km in 983.14 days. It has an inclination of 161.6° to the ecliptic in a retrograde direction with an eccentricity of 0.151.",
+ ],
+ },
+ related: [],
+ },
+ s_2006_s_11: {
+ title: "S/2006 S 11",
+ description: {
+ blurb: [
+ "S/2006 S 11 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2004 and announced in 2023.",
+ ],
+ more: [
+ "S/2006 S 11 is about 3 kilometers in diameter and orbits Saturn at an average distance of 19.7 million km in 1042.28 days. It has an inclination of 174.1° to the ecliptic in a retrograde direction with an eccentricity of 0.144.",
+ ],
+ },
+ related: [],
+ },
+ s_2006_s_12: {
+ title: "S/2006 S 12",
+ description: {
+ blurb: [
+ "S/2006 S 12 is a natural satellite of Saturn, belonging to the Gallic group. It was discovered in 2006 and announced in 2023.",
+ ],
+ more: [
+ "S/2006 S 12 is about 4 kilometers in diameter and orbits Saturn at an average distance of 19.6 million km in 1035.05 days. It has an inclination of 38.6° to the ecliptic in a prograde direction with an eccentricity of 0.542.",
+ ],
+ },
+ related: [],
+ },
+ s_2006_s_13: {
+ title: "S/2006 S 13",
+ description: {
+ blurb: [
+ "S/2006 S 13 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2006 and announced in 2023.",
+ ],
+ more: [
+ "S/2006 S 13 is about 4 kilometers in diameter and orbits Saturn at an average distance of 20.0 million km in 1060.63 days. It has an inclination of 162.0° to the ecliptic in a retrograde direction with an eccentricity of 0.313.",
+ ],
+ },
+ related: [],
+ },
+ s_2006_s_14: {
+ title: "S/2006 S 14",
+ description: {
+ blurb: [
+ "S/2006 S 14 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2006 and announced in 2023.",
+ ],
+ more: [
+ "S/2006 S 14 is about 3 kilometers in diameter and orbits Saturn at an average distance of 21.1 million km in 1152.68 days. It has an inclination of 166.7° to the ecliptic in a retrograde direction with an eccentricity of 0.060.",
+ ],
+ },
+ related: [],
+ },
+ s_2006_s_15: {
+ title: "S/2006 S 15",
+ description: {
+ blurb: [
+ "S/2006 S 15 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2006 and announced in 2023.",
+ ],
+ more: [
+ "S/2006 S 15 is about 4 kilometers in diameter and orbits Saturn at an average distance of 21.8 million km in 1213.96 days. It has an inclination of 161.1° to the ecliptic in a retrograde direction with an eccentricity of 0.117.",
+ ],
+ },
+ related: [],
+ },
+ s_2006_s_16: {
+ title: "S/2006 S 16",
+ description: {
+ blurb: [
+ "S/2006 S 16 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2006 and announced in 2023.",
+ ],
+ more: [
+ "S/2006 S 16 is about 3 kilometers in diameter and orbits Saturn at an average distance of 21.7 million km in 1207.52 days. It has an inclination of 164.1° to the ecliptic in a retrograde direction with an eccentricity of 0.204.",
+ ],
+ },
+ related: [],
+ },
+ s_2006_s_17: {
+ title: "S/2006 S 17",
+ description: {
+ blurb: [
+ "S/2006 S 17 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2006 and announced in 2023.",
+ ],
+ more: [
+ "S/2006 S 17 is about 4 kilometers in diameter and orbits Saturn at an average distance of 22.4 million km in 1264.58 days. It has an inclination of 168.7° to the ecliptic in a retrograde direction with an eccentricity of 0.425.",
+ ],
+ },
+ related: [],
+ },
+ s_2006_s_18: {
+ title: "S/2006 S 18",
+ description: {
+ blurb: [
+ "S/2006 S 18 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2006 and announced in 2023.",
+ ],
+ more: [
+ "S/2006 S 18 is about 4 kilometers in diameter and orbits Saturn at an average distance of 22.8 million km in 1298.4 days. It has an inclination of 169.5° to the ecliptic in a retrograde direction with an eccentricity of 0.131.",
+ ],
+ },
+ related: [],
+ },
+ s_2006_s_19: {
+ title: "S/2006 S 19",
+ description: {
+ blurb: [
+ "S/2006 S 19 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2006 and announced in 2023.",
+ ],
+ more: [
+ "S/2006 S 19 is about 4 kilometers in diameter and orbits Saturn at an average distance of 23.8 million km in 1389.33 days. It has an inclination of 175.5° to the ecliptic in a retrograde direction with an eccentricity of 0.467.",
+ ],
+ },
+ related: [],
+ },
+ s_2006_s_20: {
+ title: "S/2006 S 20",
+ description: {
+ blurb: [
+ "S/2006 S 20 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2006 and announced in 2023.",
+ ],
+ more: [
+ "S/2006 S 20 is about 5 kilometers in diameter and orbits Saturn at an average distance of 13.2 million km in 567.27 days. It has an inclination of 173.1° to the ecliptic in a retrograde direction with an eccentricity of 0.206.",
+ ],
+ },
+ related: [],
+ },
+ s_2006_s_3: {
+ title: "S/2006 S 3",
+ description: {
+ blurb: [
+ "S/2006 S 3 is a natural satellite of Saturn, discovered in 2006.",
+ ],
+ more: [
+ "S/2006 S 3 is about 6 kilometres in diameter, and orbits Saturn at an average distance of 21,308,400 km in 1160.7 days, at an inclination of 152.8° to the ecliptic.",
+ ],
+ },
+ },
+ s_2006_s_9: {
+ title: "S/2006 S 9",
+ description: {
+ blurb: [
+ "S/2006 S 9 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2006 and announced in 2023.",
+ ],
+ more: [
+ "S/2006 S 9 is about 3 kilometers in diameter and orbits Saturn at an average distance of 14.4 million km in 647.89 days. It has an inclination of 173.0° to the ecliptic in a retrograde direction with an eccentricity of 0.248.",
+ ],
+ },
+ related: [],
+ },
+ s_2007_s_2: {
+ title: "S/2007 S 2",
+ description: {
+ blurb: [
+ "S/2007 S 2 is a natural satellite of Saturn, and was discovered in 2007.",
+ ],
+ more: [
+ "S/2007 S 2 is about 6 kilometres in diameter, and orbits Saturn in 759.2 days.",
+ ],
+ },
+ },
+ s_2007_s_3: {
+ title: "S/2007 S 3",
+ description: {
+ blurb: [
+ "S/2007 S 3 is a natural satellite of Saturn discovered in 2007. It has not been seen since and is considered to be lost.",
+ ],
+ more: [
+ "S/2007 S 3 is about 5 kilometres in diameter, and orbits Saturn at an average distance of 20,518,500 kilometres in about 1100 days.",
+ ],
+ },
+ },
+ s_2007_s_5: {
+ title: "S/2007 S 5",
+ description: {
+ blurb: [
+ "S/2007 S 5 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2007 and announced in 2023.",
+ ],
+ more: [
+ "S/2007 S 5 is about 4 kilometers in diameter and orbits Saturn at an average distance of 15.8 million km in 746.88 days. It has an inclination of 158.4° to the ecliptic in a retrograde direction with an eccentricity of 0.104.",
+ ],
+ },
+ related: [],
+ },
+ s_2007_s_6: {
+ title: "S/2007 S 6",
+ description: {
+ blurb: [
+ "S/2007 S 6 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2007 and announced in 2023.",
+ ],
+ more: [
+ "S/2007 S 6 is about 3 kilometers in diameter and orbits Saturn at an average distance of 18.5 million km in 949.5 days. It has an inclination of 166.5° to the ecliptic in a retrograde direction with an eccentricity of 0.169.",
+ ],
+ },
+ related: [],
+ },
+ s_2007_s_7: {
+ title: "S/2007 S 7",
+ description: {
+ blurb: [
+ "S/2007 S 7 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2007 and announced in 2023.",
+ ],
+ more: [
+ "S/2007 S 7 is about 4 kilometers in diameter and orbits Saturn at an average distance of 15.9 million km in 754.29 days. It has an inclination of 169.2° to the ecliptic in a retrograde direction with an eccentricity of 0.217.",
+ ],
+ },
+ related: [],
+ },
+ s_2007_s_8: {
+ title: "S/2007 S 8",
+ description: {
+ blurb: [
+ "S/2007 S 8 is a natural satellite of Saturn, belonging to the Gallic group. It was discovered in 2007 and announced in 2023.",
+ ],
+ more: [
+ "S/2007 S 8 is about 4 kilometers in diameter and orbits Saturn at an average distance of 17.0 million km in 836.9 days. It has an inclination of 36.2° to the ecliptic in a prograde direction with an eccentricity of 0.490.",
+ ],
+ },
+ related: [],
+ },
+ s_2007_s_9: {
+ title: "S/2007 S 9",
+ description: {
+ blurb: [
+ "S/2007 S 9 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2007 and announced in 2023.",
+ ],
+ more: [
+ "S/2007 S 9 is about 4 kilometers in diameter and orbits Saturn at an average distance of 20.2 million km in 1078.07 days. It has an inclination of 159.3° to the ecliptic in a retrograde direction with an eccentricity of 0.360.",
+ ],
+ },
+ related: [],
+ },
+ s_2009_s_1: {
+ title: "S/2009 S 1",
+ description: {
+ blurb: [
+ 'S/2009 S 1 is a "propeller moonlet" of Saturn orbiting at a distance of 117,000 km (73,000 mi), in the outer part of the B Ring, and with a diameter of 300 m (1,000 ft).',
+ ],
+ more: [
+ "The moonlet was discovered by the Cassini Imaging Team on 26 July 2009, when it cast a shadow 36 km (22 mi) long onto the B Ring. S/2009 S 1 protrudes 150 m (500 ft) north of the ring.",
+ ],
+ },
+ },
+ s_2011_j_3: {
+ title: "S/2011 J 3",
+ description: {
+ blurb: [
+ "This small moon of Jupiter was discovered in 2011 but only announced in late 2022.",
+ ],
+ more: [
+ "S/2011 J 3 is part of the Himalia group, a tight cluster of prograde irregular moons of Jupiter that follow similar orbits to Himalia at semi-major axes between 11–12 million km (6.8–7.5 million mi) and inclinations between 26–31°.[3] With an estimated diameter of 3 km (1.9 mi) for an absolute magnitude of 16.3, it is among the smallest known members of the Himalia group.",
+ ],
+ },
+ related: [],
+ },
+ s_2016_j_3: {
+ title: "S/2016 J 3",
+ description: {
+ blurb: [
+ "S/2016 J 3 is a small outer natural satellite of Jupiter discovered in 2016 but only announced and confirmed in early 2023.",
+ ],
+ more: [
+ "S/2016 J 3 is part of the Carme group, a tight cluster of retrograde irregular moons of Jupiter that follow similar orbits to Carme at semi-major axes between 22–24 million km (14–15 million mi), orbital eccentricities between 0.2–0.3, and inclinations between 163–166°. It has a diameter of about 2 km (1.2 mi) for an absolute magnitude of 16.7.",
+ ],
+ },
+ related: [],
+ },
+ s_2016_j_4: {
+ title: "S/2016 J 4",
+ description: {
+ blurb: [
+ "S/2016 J 4 is a small outer natural satellite of Jupiter discovered in 2016 but only announced and confirmed in early 2023.",
+ ],
+ more: [
+ "S/2016 J 4 is part of the Pasiphae group, a dispersed cluster of distant retrograde irregular moons of Jupiter that follow similar orbits to Pasiphae at semi-major axes between 22–25 million km (14–16 million mi), orbital eccentricities between 0.2–0.6, and inclinations between 140–160°. It has a diameter of about 1 km (0.62 mi) for an absolute magnitude of 17.3, making it one of Jupiter's smallest known moons.",
+ ],
+ },
+ related: [],
+ },
+ s_2018_j_2: {
+ title: "S/2018 J 2",
+ description: {
+ blurb: [
+ "S/2018 J 2 is a small outer natural satellite of Jupiter discovered in 2018 but only announced in late 2022.",
+ ],
+ more: [
+ "S/2018 J 2 is part of the Himalia group, a tight cluster of prograde irregular moons of Jupiter that follow similar orbits to Himalia at semi-major axes between 11–12 million km (6.8–7.5 million mi) and inclinations between 26–31°. With an estimated diameter of 3 km (1.9 mi) for an absolute magnitude of 16.5, it is among the smallest known members of the Himalia group.",
+ ],
+ },
+ related: [],
+ },
+ s_2018_j_3: {
+ title: "S/2018 J 3",
+ description: {
+ blurb: [
+ "S/2018 J 3 is a small outer natural satellite of Jupiter discovered in 2018 but only announced in early 2023.",
+ ],
+ more: [
+ "S/2018 J 3 is part of the Carme group, a tight cluster of retrograde irregular moons of Jupiter that follow similar orbits to Carme at semi-major axes between 22–24 million km (14–15 million mi), orbital eccentricities between 0.2–0.3, and inclinations between 163–166°. It has a diameter of about 1 km (0.62 mi) for an absolute magnitude of 17.3, making it one of Jupiter's smallest known moons.",
+ ],
+ },
+ related: [],
+ },
+ s_2018_j_4: {
+ title: "S/2018 J 4",
+ description: {
+ blurb: [
+ "S/2018 J 4 is a small outer natural satellite of Jupiter discovered in 2018 but only announced in early 2023.",
+ ],
+ more: [
+ "S/2018 J 4 is an irregular moon of Jupiter on an highly inclined prograde orbit at an angle of 53° with respect to the ecliptic plane. It belongs to the same group as the similarly-inclined moon Carpo, which was long thought to be an outlier until the discovery of S/2018 J 4. S/2018 J 4's orbit is highly variable over time due to gravitational perturbations by the Sun and other planets. On average, S/2018 J 4's orbit has a semi-major axis of 16.3 million km (10.1 million mi), an eccentricity of 0.18, and a very high inclination of 50° with respect to the ecliptic.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_1: {
+ title: "S/2019 S 1",
+ description: {
+ blurb: [
+ "S/2019 S 1 is a natural satellite of Saturn, belonging to the Inuit group. It was discovered in 2019 and announced in 2021.",
+ ],
+ more: [
+ "S/2019 S 1 is about 5 kilometers in diameter and orbits Saturn at an average distance of 11.2 million km in 445.513 days. It has an inclination of 49.5° to the ecliptic in a prograde direction and with an eccentricity of 0.623.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_10: {
+ title: "S/2019 S 10",
+ description: {
+ blurb: [
+ "S/2019 S 10 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 10 is about 3 kilometers in diameter and orbits Saturn at an average distance of 20.7 million km in 1123.04 days. It has an inclination of 163.9° to the ecliptic in a retrograde direction with an eccentricity of 0.249.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_11: {
+ title: "S/2019 S 11",
+ description: {
+ blurb: [
+ "S/2019 S 11 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 11 is about 4 kilometers in diameter and orbits Saturn at an average distance of 20.7 million km in 1115.0 days. It has an inclination of 144.6° to the ecliptic in a retrograde direction with an eccentricity of 0.513.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_12: {
+ title: "S/2019 S 12",
+ description: {
+ blurb: [
+ "S/2019 S 12 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 12 is about 4 kilometers in diameter and orbits Saturn at an average distance of 20.9 million km in 1138.85 days. It has an inclination of 167.1° to the ecliptic in a retrograde direction with an eccentricity of 0.476.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_13: {
+ title: "S/2019 S 13",
+ description: {
+ blurb: [
+ "S/2019 S 13 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 13 is about 3 kilometers in diameter and orbits Saturn at an average distance of 21.0 million km in 1144.92 days. It has an inclination of 177.3° to the ecliptic in a retrograde direction with an eccentricity of 0.318.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_14: {
+ title: "S/2019 S 14",
+ description: {
+ blurb: [
+ "S/2019 S 14 is a natural satellite of Saturn, belonging to the Inuit group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 14 is about 4 kilometers in diameter and orbits Saturn at an average distance of 17.9 million km in 893.14 days. It has an inclination of 46.2° to the ecliptic in a prograde direction with an eccentricity of 0.172.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_15: {
+ title: "S/2019 S 15",
+ description: {
+ blurb: [
+ "S/2019 S 15 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 15 is about 3 kilometers in diameter and orbits Saturn at an average distance of 21.2 million km in 1161.54 days. It has an inclination of 157.7° to the ecliptic in a retrograde direction with an eccentricity of 0.257.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_16: {
+ title: "S/2019 S 16",
+ description: {
+ blurb: [
+ "S/2019 S 16 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 16 is about 3 kilometers in diameter and orbits Saturn at an average distance of 23.3 million km in 1341.17 days. It has an inclination of 162.0° to the ecliptic in a retrograde direction with an eccentricity of 0.250.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_17: {
+ title: "S/2019 S 17",
+ description: {
+ blurb: [
+ "S/2019 S 17 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 17 is about 4 kilometers in diameter and orbits Saturn at an average distance of 22.7 million km in 1291.39 days. It has an inclination of 155.5° to the ecliptic in a retrograde direction with an eccentricity of 0.546.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_18: {
+ title: "S/2019 S 18",
+ description: {
+ blurb: [
+ "S/2019 S 18 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 18 is about 3 kilometers in diameter and orbits Saturn at an average distance of 23.1 million km in 1327.06 days. It has an inclination of 154.6° to the ecliptic in a retrograde direction with an eccentricity of 0.509.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_19: {
+ title: "S/2019 S 19",
+ description: {
+ blurb: [
+ "S/2019 S 19 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 19 is about 3 kilometers in diameter and orbits Saturn at an average distance of 23.0 million km in 1318.05 days. It has an inclination of 151.8° to the ecliptic in a retrograde direction with an eccentricity of 0.458.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_2: {
+ title: "S/2019 S 2",
+ description: {
+ blurb: [
+ "S/2019 S 2 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 2 is about 3 kilometers in diameter and orbits Saturn at an average distance of 16.6 million km in 799.82 days. It has an inclination of 173.3° to the ecliptic in a retrograde direction with an eccentricity of 0.279.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_20: {
+ title: "S/2019 S 20",
+ description: {
+ blurb: [
+ "S/2019 S 20 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 20 is about 3 kilometers in diameter and orbits Saturn at an average distance of 23.7 million km in 1375.45 days. It has an inclination of 156.1° to the ecliptic in a retrograde direction with an eccentricity of 0.354.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_21: {
+ title: "S/2019 S 21",
+ description: {
+ blurb: [
+ "S/2019 S 21 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 21 is about 4 kilometers in diameter and orbits Saturn at an average distance of 26.4 million km in 1636.32 days. It has an inclination of 171.9° to the ecliptic in a retrograde direction with an eccentricity of 0.155.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_3: {
+ title: "S/2019 S 3",
+ description: {
+ blurb: [
+ "S/2019 S 3 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 3 is about 4 kilometers in diameter and orbits Saturn at an average distance of 17.1 million km in 837.74 days. It has an inclination of 166.9° to the ecliptic in a retrograde direction with an eccentricity of 0.249.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_4: {
+ title: "S/2019 S 4",
+ description: {
+ blurb: [
+ "S/2019 S 4 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 4 is about 3 kilometers in diameter and orbits Saturn at an average distance of 18.0 million km in 904.26 days. It has an inclination of 170.1° to the ecliptic in a retrograde direction with an eccentricity of 0.409.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_5: {
+ title: "S/2019 S 5",
+ description: {
+ blurb: [
+ "S/2019 S 5 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 5 is about 3 kilometers in diameter and orbits Saturn at an average distance of 19.1 million km in 990.38 days. It has an inclination of 158.8° to the ecliptic in a retrograde direction with an eccentricity of 0.215.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_6: {
+ title: "S/2019 S 6",
+ description: {
+ blurb: [
+ "S/2019 S 6 is a natural satellite of Saturn, belonging to the Inuit group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 6 is about 4 kilometers in diameter and orbits Saturn at an average distance of 18.2 million km in 916.7 days. It has an inclination of 48.1° to the ecliptic in a prograde direction with an eccentricity of 0.084.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_7: {
+ title: "S/2019 S 7",
+ description: {
+ blurb: [
+ "S/2019 S 7 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 7 is about 4 kilometers in diameter and orbits Saturn at an average distance of 20.2 million km in 1080.29 days. It has an inclination of 174.2° to the ecliptic in a retrograde direction with an eccentricity of 0.232.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_8: {
+ title: "S/2019 S 8",
+ description: {
+ blurb: [
+ "S/2019 S 8 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 8 is about 4 kilometers in diameter and orbits Saturn at an average distance of 20.3 million km in 1088.68 days. It has an inclination of 172.8° to the ecliptic in a retrograde direction with an eccentricity of 0.311.",
+ ],
+ },
+ related: [],
+ },
+ s_2019_s_9: {
+ title: "S/2019 S 9",
+ description: {
+ blurb: [
+ "S/2019 S 9 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2019 and announced in 2023.",
+ ],
+ more: [
+ "S/2019 S 9 is about 4 kilometers in diameter and orbits Saturn at an average distance of 20.4 million km in 1093.11 days. It has an inclination of 159.5° to the ecliptic in a retrograde direction with an eccentricity of 0.433.",
+ ],
+ },
+ related: [],
+ },
+ s_2020_s_1: {
+ title: "S/2020 S 1",
+ description: {
+ blurb: [
+ "S/2020 S 1 is a natural satellite of Saturn, belonging to the Inuit group. It was discovered in 2020 and announced in 2023.",
+ ],
+ more: [
+ "S/2020 S 1 is about 4 kilometers in diameter and orbits Saturn at an average distance of 11.3 million km in 451.1 days. It has an inclination of 48.2° to the ecliptic in a prograde direction with an eccentricity of 0.337.",
+ ],
+ },
+ related: [],
+ },
+ s_2020_s_10: {
+ title: "S/2020 S 10",
+ description: {
+ blurb: [
+ "S/2020 S 10 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2020 and announced in 2023.",
+ ],
+ more: [
+ "S/2020 S 10 is about 3 kilometers in diameter and orbits Saturn at an average distance of 25.3 million km in 1527.22 days. It has an inclination of 165.6° to the ecliptic in a retrograde direction with an eccentricity of 0.295.",
+ ],
+ },
+ related: [],
+ },
+ s_2020_s_2: {
+ title: "S/2020 S 2",
+ description: {
+ blurb: [
+ "S/2020 S 2 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2020 and announced in 2023.",
+ ],
+ more: [
+ "S/2020 S 2 is about 3 kilometers in diameter and orbits Saturn at an average distance of 17.9 million km in 897.6 days. It has an inclination of 170.7° to the ecliptic in a retrograde direction with an eccentricity of 0.152.",
+ ],
+ },
+ related: [],
+ },
+ s_2020_s_3: {
+ title: "S/2020 S 3",
+ description: {
+ blurb: [
+ "S/2020 S 3 is a natural satellite of Saturn, belonging to the Inuit group. It was discovered in 2020 and announced in 2023.",
+ ],
+ more: [
+ "S/2020 S 3 is about 3 kilometers in diameter and orbits Saturn at an average distance of 18.1 million km in 907.99 days. It has an inclination of 46.1° to the ecliptic in a prograde direction with an eccentricity of 0.144.",
+ ],
+ },
+ related: [],
+ },
+ s_2020_s_4: {
+ title: "S/2020 S 4",
+ description: {
+ blurb: [
+ "S/2020 S 4 is a natural satellite of Saturn, belonging to the Gallic group. It was discovered in 2020 and announced in 2023.",
+ ],
+ more: [
+ "S/2020 S 4 is about 3 kilometers in diameter and orbits Saturn at an average distance of 18.2 million km in 926.92 days. It has an inclination of 40.1° to the ecliptic in a prograde direction with an eccentricity of 0.495.",
+ ],
+ },
+ related: [],
+ },
+ s_2020_s_5: {
+ title: "S/2020 S 5",
+ description: {
+ blurb: [
+ "S/2020 S 5 is a natural satellite of Saturn, belonging to the Inuit group. It was discovered in 2020 and announced in 2023.",
+ ],
+ more: [
+ "S/2020 S 5 is about 3 kilometers in diameter and orbits Saturn at an average distance of 18.4 million km in 933.88 days. It has an inclination of 48.2° to the ecliptic in a prograde direction with an eccentricity of 0.220.",
+ ],
+ },
+ related: [],
+ },
+ s_2020_s_6: {
+ title: "S/2020 S 6",
+ description: {
+ blurb: [
+ "S/2020 S 6 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2020 and announced in 2023.",
+ ],
+ more: [
+ "S/2020 S 6 is about 3 kilometers in diameter and orbits Saturn at an average distance of 21.3 million km in 1168.86 days. It has an inclination of 166.9° to the ecliptic in a retrograde direction with an eccentricity of 0.481.",
+ ],
+ },
+ related: [],
+ },
+ s_2020_s_7: {
+ title: "S/2020 S 7",
+ description: {
+ blurb: [
+ "S/2020 S 7 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2020 and announced in 2023.",
+ ],
+ more: [
+ "S/2020 S 7 is about 3 kilometers in diameter and orbits Saturn at an average distance of 17.4 million km in 861.7 days. It has an inclination of 161.5° to the ecliptic in a retrograde direction with an eccentricity of 0.500.",
+ ],
+ },
+ related: [],
+ },
+ s_2020_s_8: {
+ title: "S/2020 S 8",
+ description: {
+ blurb: [
+ "S/2020 S 8 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2020 and announced in 2023.",
+ ],
+ more: [
+ "S/2020 S 8 is about 3 kilometers in diameter and orbits Saturn at an average distance of 22.0 million km in 1228.12 days. It has an inclination of 161.8° to the ecliptic in a retrograde direction with an eccentricity of 0.252.",
+ ],
+ },
+ related: [],
+ },
+ s_2020_s_9: {
+ title: "S/2020 S 9",
+ description: {
+ blurb: [
+ "S/2020 S 9 is a natural satellite of Saturn, belonging to the Norse group. It was discovered in 2020 and announced in 2023.",
+ ],
+ more: [
+ "S/2020 S 9 is about 4 kilometers in diameter and orbits Saturn at an average distance of 25.4 million km in 1534.97 days. It has an inclination of 161.4° to the ecliptic in a retrograde direction with an eccentricity of 0.531.",
+ ],
+ },
+ related: [],
+ },
+ s_2021_j_1: {
+ title: "S/2021 J 1",
+ description: {
+ blurb: [
+ "This small moon of Jupiter was discovered in 2021 and announced in early 2023.",
+ ],
+ more: [
+ "S/2021 J 1 is part of the Ananke group, a cluster of retrograde irregular moons of Jupiter that follow similar orbits to Ananke at semi-major axes between 19–22 million km (12–14 million mi), orbital eccentricities between 0.1–0.4, and inclinations between 139–155°. It has a diameter of about 1 km (0.62 mi) for an absolute magnitude of 17.3, making it one of Jupiter's smallest known moons.",
+ ],
+ },
+ related: [],
+ },
+ s_2021_j_2: {
+ title: "S/2021 J 2",
+ description: {
+ blurb: [
+ "This small moon of Jupiter was discovered in 2021 and announced in early 2023.",
+ ],
+ more: [
+ "S/2021 J 2 is part of the Ananke group, a cluster of retrograde irregular moons of Jupiter that follow similar orbits to Ananke at semi-major axes between 19–22 million km (12–14 million mi), orbital eccentricities between 0.1–0.4, and inclinations between 139–155°. It has a diameter of about 1 km (0.62 mi) for an absolute magnitude of 17.3, making it one of Jupiter's smallest known moons.",
+ ],
+ },
+ related: [],
+ },
+ s_2021_j_3: {
+ title: "S/2021 J 3",
+ description: {
+ blurb: [
+ "This small moon of Jupiter was discovered in 2021 and announced in early 2023.",
+ ],
+ more: [
+ "S/2021 J 3 is part of the Ananke group, a cluster of retrograde irregular moons of Jupiter that follow similar orbits to Ananke at semi-major axes between 19–22 million km (12–14 million mi), orbital eccentricities between 0.1–0.4, and inclinations between 139–155°. It has a diameter of about 2 km (1.2 mi) for an absolute magnitude of 17.2.",
+ ],
+ },
+ related: [],
+ },
+ s_2021_j_4: {
+ title: "S/2021 J 4",
+ description: {
+ blurb: [
+ "This small moon of Jupiter was discovered in 2021 and announced in early 2023.",
+ ],
+ more: [
+ "S/2021 J 4 is part of the Carme group, a tight cluster of retrograde irregular moons of Jupiter that follow similar orbits to Carme at semi-major axes between 22–24 million km (14–15 million mi), orbital eccentricities between 0.2–0.3, and inclinations between 163–166°. It has a diameter of about 1 km (0.62 mi) for an absolute magnitude of 17.4, making it one of Jupiter's smallest known moons.",
+ ],
+ },
+ related: [],
+ },
+ s_2021_j_5: {
+ title: "S/2021 J 5",
+ description: {
+ blurb: [
+ "This small moon of Jupiter was discovered in 2021 and announced in early 2023.",
+ ],
+ more: [
+ "S/2021 J 5 is part of the Carme group, a tight cluster of retrograde irregular moons of Jupiter that follow similar orbits to Carme at semi-major axes between 22–24 million km (14–15 million mi), orbital eccentricities between 0.2–0.3, and inclinations between 163–166°. It has a diameter of about 2 km (1.2 mi) for an absolute magnitude of 16.8.",
+ ],
+ },
+ related: [],
+ },
+ s_2021_j_6: {
+ title: "S/2021 J 6",
+ description: {
+ blurb: [
+ "This small moon of Jupiter was discovered in 2021 and announced in early 2023.",
+ ],
+ more: [
+ "S/2021 J 6 is part of the Carme group, a tight cluster of retrograde irregular moons of Jupiter that follow similar orbits to Carme at semi-major axes between 22–24 million km (14–15 million mi), orbital eccentricities between 0.2–0.3, and inclinations between 163–166°. It has a diameter of about 1 km (0.62 mi) for an absolute magnitude of 17.3, making it one of Jupiter's smallest known moons.",
+ ],
+ },
+ related: [],
+ },
+ s_2022_j_1: {
+ title: "S/2022 J 1",
+ description: {
+ blurb: [
+ "This small moon of Jupiter was discovered in 2022 and announced in early 2023.",
+ ],
+ more: [
+ "S/2022 J 1 is part of the Carme group, a tight cluster of retrograde irregular moons of Jupiter that follow similar orbits to Carme at semi-major axes between 22–24 million km (14–15 million mi), orbital eccentricities between 0.2 and 0.3, and inclinations between 163 and 166°. It has a diameter of about 2 km (1.2 mi) for an absolute magnitude of 17.0.",
+ ],
+ },
+ related: [],
+ },
+ s_2022_j_2: {
+ title: "S/2021 J 2",
+ description: {
+ blurb: [
+ "This small moon of Jupiter was discovered in 2022 and announced in early 2023.",
+ ],
+ more: [
+ "S/2022 J 2 is part of the Carme group, a tight cluster of retrograde irregular moons of Jupiter that follow similar orbits to Carme at semi-major axes between 22–24 million km (14–15 million mi), orbital eccentricities between 0.2 and 0.3, and inclinations between 163 and 166°. With a diameter of about 1 km (0.62 mi) for an absolute magnitude of 17.6, it is one of Jupiter's smallest known moons with confirmed orbits.",
+ ],
+ },
+ related: [],
+ },
+ s_2022_j_3: {
+ title: "S/2021 J 3",
+ description: {
+ blurb: [
+ "This small moon of Jupiter was discovered in 2022 and announced in early 2023.",
+ ],
+ more: [
+ "S/2022 J 3 is part of the Ananke group, a cluster of retrograde irregular moons of Jupiter that follow similar orbits to Ananke at semi-major axes between 19–22 million km (12–14 million mi), orbital eccentricities between 0.1 and 0.4, and inclinations between 139 and 155°. It has a diameter of about 1 km (0.62 mi) for an absolute magnitude of 17.4.[",
+ ],
+ },
+ related: [],
+ },
+ sao: {
+ title: "Sao",
+ description: {
+ blurb: [
+ "Sao is one of three tiny moons (ranging in size from 30 to 40 km -- or 18 to 24 miles) of Neptune discovered in 2002 using innovative ground-based telescope techniques. (The other moons discovered were Laomedeia and Halimede.) The moons are so distant and so small they are about 100 million times fainter than can be seen with the unaided eye. The moons were missed by the Voyager 2 spacecraft in 1989 because they are so faint and distant from Neptune.",
+ "Sao is considered an irregular satellite because of its distant, eccentric orbit around Neptune. Like most irregular satellites of the giant planets in our outer solar system, Sao most likely formed after a collision between a larger moon and a comet or an asteroid. Sao and Laomedeia have prograde orbits, which means they orbit in the same direction as Neptune's rotation. Halimede has a retrograde orbit, which means Halimede orbits in the opposite direction of Neptune's rotation.",
+ "Very little is known about Sao. Scientists are trying to learn more about it and its irregular sisters because they offer a glimpse of the conditions at the time the planets in our solar system were forming billions of years ago.",
+ ],
+ },
+ related: [],
+ },
+ gridr: {
+ title: "Gridr",
+ description: {
+ blurb: [
+ "Gridr (formerly S/2004 S 20 and Saturn LIV) is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "In mythology, Gridr is a Norse giantess, and a consort of Odin who warned Thor of Geirrod's treachery and equipped Thor with her belt, iron glove, and staff. Gridr is about 4 kilometres in diameter, and orbits Saturn at an average distance of 19.418 Gm in 1010.55 days, at an inclination of 163° to the ecliptic, in a retrograde direction and with an eccentricity of 0.197.",
+ ],
+ },
+ },
+ angrboda: {
+ title: "Angrboda",
+ description: {
+ blurb: [
+ "Angrboda (formerly S/2004 S22 and Saturn LV) is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "In mythology, Angrboda is a Norse giantess, consort of Loki, and the mother of monsters. Angrboda is about 3 kilometres in diameter, and orbits Saturn in 1107.13 days, at an inclination of 177° to the ecliptic.",
+ ],
+ },
+ },
+ skrymir: {
+ title: "Skrymir",
+ description: {
+ blurb: [
+ "Skrymir (formerly S/2004 S23 and Saturn LVI) is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "In mythology, Skrymir is a Norse giant who is a master of illusions. Skrymir is about 4 kilometres in diameter, and orbits Saturn in 1149.82 days, at an inclination of 177° to the ecliptic.",
+ ],
+ },
+ },
+ gerd: {
+ title: "Gerd",
+ description: {
+ blurb: [
+ "Gerd (formerly S/2004 S25 and Saturn LVII) is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "In mythology, Gerd is a Norse giantess and a consort of Freyr. She is the personification of fertile soil. Gerd is about 4 kilometres in diameter, and orbits Saturn in 1150.69 days, at an inclination of 173° to the ecliptic.",
+ ],
+ },
+ },
+ eggther: {
+ title: "Eggther",
+ description: {
+ blurb: [
+ "Eggther (formerly S/2004 S27 and Saturn LIX) is the outermost known natural satellite of Saturn, discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "In mythology, Eggther is a Norse giant and the watchman who announces the beginning of Ragnarok. Eggther is about 6 kilometres in diameter, and orbits Saturn in 1054.45 days, at an inclination of 168° to the ecliptic.",
+ ],
+ },
+ },
+ beli: {
+ title: "Beli",
+ description: {
+ blurb: [
+ "Beli (formerly S/2004 S30 and Saturn LXI) is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "In mythology, Beli is a Norse giant killed by Freyr with a staghorn. Beli is about 4 kilometres in diameter, and orbits Saturn in 1087.84 days, at 157.5° to the ecliptic.",
+ ],
+ },
+ },
+ gunnlod: {
+ title: "Gunnlod",
+ description: {
+ blurb: [
+ "Gunnlod (formerly S/2004 S32 and Saturn LXII) is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "In mythology, Gunnlod is a Norse giantess, and a daughter of Suttungr, for whom she guards the mead of poetry. Gunnlod is about 4 kilometres in diameter, and orbits Saturn in 1153.96 days, at an inclination of 159° to the ecliptic.",
+ ],
+ },
+ },
+ thiazzi: {
+ title: "Thiazzi",
+ description: {
+ blurb: [
+ "Thiazzi (formerly S/2004 S33 and Saturn LXIII) is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "In mythology, Thiazzi is a Norse giant, and a son of Alvaldi who kidnapped Idun, guardian of the apples of the gods. Thiazzi is about 4 kilometres in diameter, and orbits Saturn in 1403.18 days, at an inclination of 160° to the ecliptic.",
+ ],
+ },
+ },
+ alvaldi: {
+ title: "Alvaldi",
+ description: {
+ blurb: [
+ "Alvaldi (formerly S/2004 S35 and Saturn LXV) is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "In mythology, Alvaldi is a Norse giant and the father of Thiazzi. He was rich in gold, and his sons divided it amongst themselves by taking a mouthful of gold each. Alvaldi is about 5 kilometres in diameter, and orbits Saturn in 1253.08 days, at an inclination of 177° to the ecliptic.",
+ ],
+ },
+ },
+ geirrod: {
+ title: "Geirrod",
+ description: {
+ blurb: [
+ "Geirrod (formerly S/2004 S38 and Saturn LXVI) is a natural satellite of Saturn discovered in 2004 and announced in 2019.",
+ ],
+ more: [
+ "In mythology, Geirrod was a Norse giant killed by Thor. Geirrod is about 4 kilometres in diameter, and orbits Saturn in 1211.02 days, at an inclination of 154° to the ecliptic.",
+ ],
+ },
+ },
+ setebos: {
+ title: "Setebos",
+ description: {
+ blurb: [
+ "Setebos is a small, dark moon (about 48 km in diameter, assuming an albedo of 0.04) which orbits Uranus in the opposite direction from the regular moons and the planet's rotation (known as a retrograde orbit).",
+ ],
+ },
+ related: [],
+ },
+ siarnaq: {
+ title: "Siarnaq",
+ description: {
+ blurb: [
+ "Siarnaq was discovered on Sept. 23, 2000 using the 3.6-m Canada-France-Hawaii reflector on Mauna Kea, Hawaii, with adaptive optics.",
+ ],
+ more: [
+ "Siarnaq has a mean radius of about 12.4 miles (20 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.06. At a mean distance of 11 million miles (18 million kilometers) from Saturn, the moon takes about 896 Earth days to complete one orbit. It rotates once every 10 hours and 9 minutes, which is this is the shortest rotation period of all prograde irregular moons of Saturn. Siarnaq is one of five known members of the Inuit group of moons, which orbit Saturn at a mean distance of 7 to 11 million miles (11 to 18 million kilometers), at inclinations between 40 and 50 degrees from the plane of Saturn's equator, and with eccentricities of 0.15 to 0.48. Like Saturn's other irregular moons, they are thought to be objects that were captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet, as the regular moons are thought to have done. The similarities among the Inuit group's orbits suggest a common origin — they may be fragments of a single object that shattered in a collision. The other members of this group are Kiviuq, Ijiraq, Paaliaq, and Tarqeq. Observations by Tommy Grav and James Bauer using telescopes on Mauna Kea, Hawaii in 2006 (before the discovery of Tarqeq) found that Kiviuq, Siarnaq and Paaliaq all are light red with similar infrared features, further supporting the idea of a common origin. Originally called S/2000 S3, Siarnaq was named for an Inuit goddess of sea creatures who was also queen of the underworld.",
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ sinope: {
+ title: "Sinope",
+ description: {
+ blurb: [
+ "Sinope was discovered on July 21, 1914, by Seth Barnes Nicholson on photographic plates taken with the Lick Observatory's 36-inch (0.9 meter) telescope.",
+ ],
+ more: [
+ "Sinope is generally considered a member of the Pasiphae group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. However, there is some uncertainty about whether Sinope belongs in this group or not. Most or all of the Pasiphae satellites are thought to have begun as a single asteroid that, after being captured by Jupiter's gravity, suffered a collision which broke off a number of pieces. The bulk of the original asteroid survived as the moon called Pasiphae, and the other pieces became some or all of the other moons in the group. If Sinope does not belong in the Pasiphae group, then the individual moon called Pasiphae retains 99 percent of the mass of the original asteroid. If Sinope is included, Pasiphae still retains the lion's share: 87 percent of the original mass. None of the Pasiphae members is massive enough to pull itself into a sphere, so they are probably all irregularly shaped. Sinope has a mean radius of 11.8 miles (19 kilometers), assuming an albedo of 0.04. At a mean distance of about 14.8 million miles (23.9 million kilometers) from Jupiter, the satellite takes about 759 Earth days to complete one orbit. Sinope was named for a nymph who outsmarted a smitten Zeus (the Greek equivalent of the Roman god Jupiter).",
+ ],
+ },
+ related: [],
+ },
+ skathi: {
+ title: "Skathi",
+ description: {
+ blurb: [
+ "Skathi was discovered on Sept. 23, 2000 using the 3.6-m Canada-France-Hawaii reflector on Mauna Kea, Hawaii, with adaptive optics.",
+ ],
+ more: [
+ "Skathi (formerly called Skadi) has a mean radius of 2.5 miles (4 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.06. It orbits Saturn at an inclination of about 151 degrees and an eccentricity of about 0.3. At a mean distance of 9.7 million miles (15.6 million kilometers) from Saturn, the moon takes about 728 Earth days to complete one orbit. Skathi is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn — traveling around in the opposite direction from the planet's rotation. Skathi and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Skathi is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Skathi appears to be a member of a subgroup that also includes Skoll, Hyrrokkin, S/2006 S1, Bergelmir, Farbauti, S/2006 S3, and Kari. Skathi, and another member of the Norse group, Ymir, may be the sources of material that coats the dark side of Iapetus and, to a lesser extent, the surface of Hyperion. Originally called S/2000 S8, Skathi was named for Skadi, a giantess in Norse mythology.",
+ ],
+ },
+ related: [],
+ },
+ skoll: {
+ title: "Skoll",
+ description: {
+ blurb: [
+ "Skoll was discovered on March 6, 2006, by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna using the Subaru 8.3-m reflector telescope on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Skoll has a mean radius of 1.9 miles (3 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 160 degrees and an eccentricity of about 0.5. At a mean distance of 11.0 million miles (17.7 million kilometers) from Saturn, the moon takes about 878 Earth days to complete one orbit. Skoll is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn — traveling around in the opposite direction from the planet's rotation. Skoll and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Skoll is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Skoll appears to be a member of a subgroup that also includes Skathi, Hyrrokkin, S/2006 S1, Bergelmir, Farbauti, S/2006 S3, and Kari. Originally called S/2006 S8, Skoll was named for a giant wolf in Norse mythology, who pursues the sun across the sky. It is destined to catch and devour them at the doomsday time known as Ragnarok.",
+ ],
+ },
+ related: [],
+ },
+ sponde: {
+ title: "Sponde",
+ description: {
+ blurb: [
+ "Sponde was discovered Dec. 9, 2001, by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Sponde is considered a member of the Pasiphae group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. Sponde has a mean radius of one kilometer, assuming an albedo of 0.04. At a mean distance of about 14.8 million miles (23.8 million kilometers) from Jupiter, the satellite takes about 748 Earth days to complete one orbit. Originally called S/2001 J5, Sponde was named for one of the Horae, who were daughters of Themis and Zeus, the Greek equivalent of the Roman god, Jupiter.",
+ ],
+ },
+ related: [],
+ },
+ stephano: {
+ title: "Stephano",
+ description: {
+ blurb: [
+ "About 32 km in diameter (assuming an albedo of 0.04), Stephano is a small, dark moon which orbits Uranus in the opposite direction from the regular satellites and the planet's rotation (a retrograde orbit). Its orbital characteristics are similar to those of Caliban, suggesting a common origin.",
+ ],
+ },
+ related: [],
+ },
+ styx: {
+ title: "Styx",
+ description: {
+ blurb: [
+ "Styx was discovered on June 26, 2012 by a large team led by Mark Showalter using the Hubble Space Telescope.",
+ ],
+ more: [
+ "Pluto’s tiny moon Styx was uncovered in a Hubble survey searching for potential hazards in advance of the July 2015 New Horizons spacecraft Pluto flyby. It is intriguing that such a small planet can have such a complex collection of satellites. The discovery provides additional clues for unraveling how the Pluto system formed and evolved. The favored theory is that all the moons are relics of a collision between Pluto and another large Kuiper Belt Object billions of years ago. The moon is estimated to be 6 to 15 miles (10 to 24 kilometers) across. It is in a 58,000 mile (93,000 kilometer) diameter circular orbit around Pluto that is assumed to be on the same plane with the other satellites in the system. Originally designated S/2012 (134340) 1 (and sometime referred to as P5), Styx is named for the mythological river that separates the world of the living from the realm of the dead.",
+ ],
+ },
+ related: ["sc_hubble_space_telescope", "sc_new_horizons"],
+ },
+ surtur: {
+ title: "Surtur",
+ description: {
+ blurb: [
+ "Surtur was discovered on March 6, 2006, by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna using the Subaru 8.3-m reflector telescope on Mauna Kea, Hawaii.",
+ ],
+ more: [
+ "Surtur has a mean radius of 1.9 miles (3 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.04. It orbits Saturn at an inclination of about 169 degrees and an eccentricity of about 0.4. At a mean distance of 14.2 million miles (22.9 million kilometers) from Saturn, the moon takes about 1,296 Earth days to complete one orbit. Surtur is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn — traveling around in the opposite direction from the planet's rotation. Surtur and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Surtur is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Originally called S/2006 S7, Surtur was named for Surt, who guards Muspell, the land of fire in Norse mythology. At the doomsday time known as Ragnarok, he is destined to lead the fire giants in battle against the gods. The gods will be vanquished and Heaven and Earth will be consumed in fire.",
+ ],
+ },
+ related: [],
+ },
+ suttungr: {
+ title: "Suttungr",
+ description: {
+ blurb: [
+ "Suttungr was discovered in 2000 using the 3.6-m Canada-France-Hawaii reflector on Mauna Kea, Hawaii, with adaptive optics.",
+ ],
+ more: [
+ "Suttungr has a mean radius of 2.2 miles (3.5 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.06. It orbits Saturn at an inclination of about 174 degrees and an eccentricity of about 0.1. At a mean distance of 12.1 million miles (19.5 million kilometers) from Saturn, the moon takes about 1,017 Earth days to complete one orbit. Suttungr is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn — traveling around in the opposite direction from the planet's rotation. Suttungr and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Suttungr is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Originally called S/2000 S12, Suttungr was named for Suttungr (also spelled Suttung), a giant in Norse mythology.",
+ ],
+ },
+ related: [],
+ },
+ sycorax: {
+ title: "Sycorax",
+ description: {
+ blurb: [
+ "Sycorax is the largest of the irregular moons which orbit Uranus in the opposite direction from the regular moons and the planet's rotation (known as a retrograde orbit).",
+ ],
+ },
+ related: [],
+ },
+ tarqeq: {
+ title: "Tarqeq",
+ description: {
+ blurb: [
+ "Tarqeq was discovered on Jan. 16, 2007, by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna at the Subaru 8.2-m reflector at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Tarqeq has a mean radius of 1.9 miles (3 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.06. At a mean distance of 11.1 million miles (17.9 million kilometers) from Saturn, the moon takes about 887 Earth days to complete one orbit. Tarqeq is one of five known members of the Inuit group of moons, which orbit Saturn at a mean distance of 7 to 11 million miles (11 to 18 million kilometers), at inclinations between 40 degrees and 50 degrees from the plane of Saturn's equator, and with eccentricities of 0.15 to 0.48. (A moon's eccentricity is a number between 0 and 1 which describes the shape of the orbit. The closer to 0, the more circular it is; the closer to 1, the more elongated.) Originally called S/2007 S1, Tarqeq was named for the Inuit spirit of Earth's Moon. This spirit is said to be a mighty hunter who watches over human behavior. In the mythology of the indigenous people of northern Alaska, he controls the animals.",
+ ],
+ },
+ related: [],
+ },
+ tarvos: {
+ title: "Tarvos",
+ description: {
+ blurb: [
+ "Tarvos was discovered on Sept. 23, 2000 using the 3.6-m Canada-France-Hawaii reflector on Mauna Kea, Hawaii, with adaptive optics.",
+ ],
+ more: [
+ "Tarvos has a mean radius of about 4.7 miles (7.5 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.06. At a mean distance of 11.4 million miles (18.3 million kilometers) from Saturn, the moon takes about 926 Earth days to complete one orbit. Tarvos is one of the four known members of the Gallic group of moons. These moons have prograde orbits (they travel around Saturn in the same direction as the planet's rotation), but their egg-shaped, angled orbits classify them as \"irregular\" moons. Like Saturn's other irregular moons, they are thought to be objects that were captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet, as the regular moons are thought to have done. Originally called S/2000 S4, Tarvos was named for a bull in Celtic mythology. It is known from two stone sculptures, found in Paris and Trier, of a bull with three cranes and a tree which is presumed to be a willow.",
+ ],
+ },
+ related: [],
+ },
+ taygete: {
+ title: "Taygete",
+ description: {
+ blurb: [
+ "Taygete was discovered Nov. 25, 2000, by Scott S. Sheppard, David C. Jewitt, Yanga R. Fernandez, and Eugene Magnier at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ "Taygete is a member of the Carme group, a family of Jovian satellites which have similar orbits and appearance and are therefore thought to have a common origin. The group probably began as a D-type asteroid (possibly from the Hilda family or the Jupiter Trojans) that suffered a collision, which broke off a number of pieces, either before or after being captured by Jupiter's gravity. The largest remaining chunk (still retaining 99 percent of the group's mass) was named \"Carme,\" and the smaller pieces became the other 16 moons in the Carme group. Taygete has a mean radius of about 1.5 miles (2.5 kilometers). At a mean distance of about 14.4 million miles (23.3 million kilometers) from Jupiter, the satellite takes about 732 Earth days to complete one orbit. Originally called S/2000 J9, Taygete was named for one of the Pleiades, who were the seven daughters of Atlas. Taygete was impregnated by Zeus, the Greek equivalent of the Roman god Jupiter, and bore him a son called Lakedaemon. According to one account, that smooth-talking Zeus once attempted to mollify his wife, Hera, by telling her that he had never been so charmed as by Hera — not even when he had Taygete.",
+ ],
+ },
+ related: [],
+ },
+ telesto: {
+ title: "Telesto",
+ description: {
+ blurb: [
+ "Telesto was discovered in 1980 using ground-based observations by Brad Smith, Harold Reitsema, Stephen Larson, and John Fountain.",
+ ],
+ more: [
+ 'Telesto is known as a "Tethys Trojan" because, together with Calypso, it circles Saturn in the same orbit as the moon Tethys. At a distance of about 183,000 miles (295,000 kilometers) from Saturn, the moon takes 45.3 hours to make one trip around the planet. Telesto orbits about 60 degrees ahead of Tethys, while Calypso orbits behind Tethys by about 60 degrees. Because Telesto is in the front of this three-moon group, it is called the "leading Trojan." Telesto is 7.7 miles (12.4 kilometers) in mean radius and appears to have a smooth, icy surface. It does not show the signs of intense cratering seen on many of Saturn\'s other moons. Telesto is a daughter of the Titans Oceanus and Tethys in Greek mythology. It was originally designated S/1981 S13.',
+ ],
+ },
+ related: ["sc_cassini"],
+ },
+ tethys: {
+ title: "Tethys",
+ description: {
+ blurb: ["Tethys is Saturn's fifth largest moon."],
+ more: [
+ "This cold, airless and heavily scarred body is very similar to sister moons Dione and Rhea except that Tethys is not as heavily cratered as the other two. Tethys appeared as a tiny dot to astronomers until the Voyager (1 and 2) encounters in 1980 and 1981. The Voyager images showed a major impact crater and a great chasm. The Cassini spacecraft has added details including a great variety of colors at small scales suggesting a variety of materials not seen elsewhere.",
+ ],
+ },
+ related: ["sc_pioneer_11", "sc_voyager_1", "sc_voyager_2", "sc_cassini"],
+ },
+ thalassa: {
+ title: "Thalassa",
+ description: {
+ blurb: [
+ "Thalassa, like Naiad, most likely formed from fragments of Neptune's original moons, which were smashed by the disturbances caused when the ice giant Neptune captured Triton. Thalassa is unusual for an irregular moon because it is roughly disk-shaped.",
+ "Also like Naiad, Thalassa circles the planet in the same direction as Neptune rotates, and remains close to Neptune's equatorial plane. Thalassa's orbit is slowly decaying due to tidal deceleration and may eventually crash into Neptune's atmosphere or be torn apart and form a planetary ring.",
+ ],
+ },
+ related: [],
+ },
+ thebe: {
+ title: "Thebe",
+ description: {
+ blurb: [
+ "Thebe was discovered in 1980 by the Voyager science team from images taken by Voyager 1.",
+ ],
+ more: [
+ "Thebe is one of the four known small moons that orbit closer to Jupiter than the four vastly larger Galilean moons. These eight are the only known \"regular\" Jovian satellites, which means that they orbit Jupiter in the same direction as the planet's rotation (prograde orbits), and that their orbits are almost circular and in the same plane as Jupiter's equator. Thebe is the planet's seventh largest moon, with a mean radius of about 49 km. At a distance of about 138 thousand miles (222 thousand kilometers) from Jupiter, Thebe whips once around the planet in a little over 16 hours. The satellite originally called S/1979 J2 was ultimately named \"Thebe,\" a name associated with Jupiter — or his Greek equivalent, Zeus — in a variety of ways in different myths. In one, Thebe was a nymph who was a love of Zeus. In another, she was an Egyptian king's daughter and a love of Jupiter.",
+ ],
+ },
+ related: ["sc_galileo", "sc_voyager_1", "sc_voyager_2"],
+ },
+ thelxinoe: {
+ title: "Thelxinoe",
+ description: {
+ blurb: [
+ "Thelxinoe was discovered on Feb. 9, 2003, by Scott S. Sheppard and Brett J. Gladman at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ 'Thelxinoe is a member of the Ananke group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. The group probably began as an asteroid that was captured by Jupiter\'s gravity and then suffered a collision which broke off a number of pieces. The largest remaining chunk was named "Ananke," and the smaller pieces became the other 15 moons in the Ananke group. Thelxinoe has a mean radius of about 0.62 miles (1 kilometer), assuming an albedo of 0.04. At a mean distance of about 13.1 million miles (21.2 million kilometers) from Jupiter, it takes about 628 Earth days to complete one orbit. Originally called S/2003 J22, Thelxinoe was named for one of the Muses, who were daughters of Zeus, the Greek equivalent of the Roman god Jupiter. Thelxinoe means charm.',
+ ],
+ },
+ related: [],
+ },
+ themisto: {
+ title: "Themisto",
+ description: {
+ blurb: [
+ "Themisto was initially discovered on Sept. 30, 1975, by Charles Thomas Kowal and Elizabeth Roemer.",
+ ],
+ more: [
+ "Themisto was subsequently lost until 2000, when it was rediscovered by Scott S. Sheppard, David C. Jewitt, Yanga Roland Fernandez and Eugene A. Magnier as part of a systematic search for small irregular Jovian moons. They used two CCD cameras — the largest in the world at the time — one mounted on the 8.3-m Subaru telescope and the other on the 3.6-m Canada-French-Hawaii telescope on Mauna Kea in Hawaii. It is a small satellite with a mean radius of 2.5 miles (4 kilometers) whose orbit is inclined with respect to Jupiter's equatorial plane. It travels in the same direction as Jupiter's rotation (a prograde orbit). At a distance of about 4.5 million miles (7.3 million kilometers) from Jupiter, Themisto takes about 130 Earth days to complete one orbit. Satellites in the Jovian system are named for Zeus/Jupiter's lovers and descendants. Themisto was originally called S/1975 J1 and then S/2000 J1 when it was rediscovered. Its current name comes from the Greek mythological character who was the mother of Ister by Zeus, the Greek equivalent of the Roman god Jupiter. She was changed into a bear by a jealous Hera, who was Zeus' wife and sister.",
+ ],
+ },
+ related: [],
+ },
+ thrymr: {
+ title: "Thrymr",
+ description: {
+ blurb: [
+ "Thrymr was discovered in 2000 using the 3.6-m Canada-France-Hawaii reflector on Mauna Kea in Hawaii, with adaptive optics.",
+ ],
+ more: [
+ "Thrymr has a mean radius of 2.2 miles (3.5 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.06. It orbits Saturn at an inclination of about 174 degrees and an eccentricity of about 0.5. At a mean distance of 12.7 million miles (20.4 million kilometers) from Saturn, the moon takes about 1,094 Earth days to complete one orbit. Thrymr is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn -- traveling around in the opposite direction from the planet's rotation. Thrymr and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Thrymr is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Originally called S/2000 S7, Thrymr was named for a giant in Norse mythology who stole Thor's hammer and offered to return it only if the gods gave him the very beautiful goddess Freyia to be his wife.",
+ ],
+ },
+ related: [],
+ },
+ thyone: {
+ title: "Thyone",
+ description: {
+ blurb: [
+ "Thyone was discovered on Dec. 11, 2001, by Scott S. Sheppard, David C. Jewitt and Jan T. Kleyna at the Mauna Kea Observatory in Hawaii.",
+ ],
+ more: [
+ 'Thyone is a member of the Ananke group, a family of Jovian satellites which have similar orbits and are therefore thought to have a common origin. The group probably began as an asteroid that was captured by Jupiter\'s gravity and then suffered a collision which broke off a number of pieces. The largest remaining chunk was named "Ananke," and the smaller pieces became the other 15 moons in the Ananke group. Thyone has a mean radius of about 1 mile (2 kilometers), assuming an albedo of 0.04. At a mean distance of about 13.2 million miles (21.2 million kilometers) from Jupiter, it takes about 627 Earth days to complete one orbit. Originally called S/2001 J2, Thyone was named for the mother (originally named Semele) of Dionysos by Zeus, the Greek equivalent of the Roman god Jupiter.',
+ ],
+ },
+ related: [],
+ },
+ titan: {
+ title: "Titan",
+ description: {
+ blurb: [
+ "Saturn’s largest moon Titan is an extraordinary and exceptional world.",
+ ],
+ more: [
+ "Among our solar system’s more than 150 known moons, Titan is the only one with a substantial atmosphere. And of all the places in the solar system, Titan is the only place besides Earth known to have liquids in the form of rivers, lakes and seas on its surface. Titan is larger than the planet Mercury and is the second largest moon in our solar system. Jupiter's moon Ganymede is just a little bit larger (by about 2 percent). Titan’s atmosphere is made mostly of nitrogen, like Earth’s, but with a surface pressure 50 percent higher than Earth’s. Titan has clouds, rain, rivers, lakes and seas of liquid hydrocarbons like methane and ethane. The largest seas are hundreds of feet deep and hundreds of miles wide. Beneath Titan’s thick crust of water ice is more liquid—an ocean primarily of water rather than methane. Titan’s subsurface water could be a place to harbor life as we know it, while its surface lakes and seas of liquid hydrocarbons could conceivably harbor life that uses different chemistry than we’re used to—that is, life as we don’t yet know it. Titan could also be a lifeless world.",
+ ],
+ },
+ related: [
+ "sc_pioneer_11",
+ "sc_voyager_1",
+ "sc_voyager_2",
+ "sc_cassini",
+ "sc_huygens",
+ ],
+ },
+ titania: {
+ title: "Titania",
+ description: {
+ blurb: [
+ "Titania is Uranus' largest moon. Images taken by Voyager 2 almost 200 years after Titania's discovery revealed signs that the moon was geologically active.",
+ ],
+ more: [
+ "A prominent system of fault valleys, some nearly 1,000 miles (1,609 kilometers) long, is visible near the terminator (shadow line). The troughs break the crust in two directions, an indication of some tectonic extension of Titania's crust. Deposits of highly reflective material, which may represent frost, can be seen along the Sun-facing valley walls.",
+ "The moon is about 1,000 miles (1,600 kilometers) in diameter. The neutral gray color of Titania is typical of most of the significant Uranian moons. Titania is named for the queen of the fairies in William Shakespeare's 16th century play \"A Midsummer Night's Dream.\"",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ trinculo: {
+ title: "Trinculo",
+ description: {
+ blurb: [
+ "Trinculo is a small, dark moon orbiting Uranus in the opposite direction from the regular moons and the planet's rotation (called a retrograde orbit).",
+ ],
+ },
+ related: [],
+ },
+ triton: {
+ title: "Triton",
+ description: {
+ blurb: [
+ "Triton is the largest of Neptune's 13 moons. It is unusual because it is the only large moon in our solar system that orbits in the opposite direction of its planet's rotation―a retrograde orbit.",
+ ],
+ more: [
+ "Scientists think Triton is a Kuiper Belt Object captured by Neptune's gravity millions of years ago. It shares many similarities with Pluto, the best known world of the Kuiper Belt.",
+ "Like our own moon, Triton is locked in synchronous rotation with Neptune―one side faces the planet at all times. But because of its unusual orbital inclination both polar regions take turns facing the Sun. Triton's thin atmosphere is composed mainly of nitrogen with small amounts of methane. This atmosphere most likely originates from Triton's volcanic activity, which is driven by seasonal heating by the Sun. Triton, Io and Venus are the only bodies in the solar system besides Earth that are known to be volcanically active at the present time.",
+ "Triton is one of the coolest objects in our solar system. It is so cold that most of Triton's nitrogen is condensed as frost, giving its surface an icy sheen that reflects 70 percent of the sunlight that hits it.",
+ "NASA's Voyager 2―the only spacecraft to fly past Neptune and Triton―found surface temperatures of -391degrees Fahrenheit (-235 degrees Celsius). During its 1989 flyby, Voyager 2 also found Triton has active geysers, making it one of the few geologically active moons in our solar system.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ umbriel: {
+ title: "Umbriel",
+ description: {
+ blurb: [
+ "Umbriel is the darkest of Uranus' largest moons. It reflects only 16 percent of the light that strikes its surface, a feature similar to the highland areas of Earth's Moon.",
+ ],
+ more: [
+ "Other Uranian moons are much brighter. The process by which Umbriel's ancient cratered surface was darkened remains a mystery. Umbriel has a diameter of about 750 miles (1,200 kilometers). Images taken by Voyager 2 in 1986 revealed a curious bright ring about 90 miles (140 kilometers) in diameter on the moon's dark surface. It is unclear what created the distinctive ring, although it may be frost deposits associated with an impact crater.",
+ ],
+ },
+ related: ["sc_voyager_2"],
+ },
+ ymir: {
+ title: "Ymir",
+ description: {
+ blurb: [
+ "Ymir was discovered in 2000 at the European Southern Observatory in La Silla, Chile.",
+ ],
+ more: [
+ "Ymir has a mean radius of about 5.6 miles (9 kilometers), assuming an albedo (a measure of how reflective the surface is) of 0.06. It orbits Saturn at an inclination of about 172 degrees and an eccentricity of about 0.3. At a mean distance of 14.3 million miles (23.1 million kilometers) from Saturn, the moon takes about 1,316 Earth days to complete one orbit. Of the distant moons that take more than 3 Earth years to orbit Saturn, Ymir is by far the largest, nearly three times the size of its neighbors. Ymir is a member of the Norse group of moons. These \"irregular\" moons have retrograde orbits around Saturn -- traveling around in the opposite direction from the planet's rotation. Ymir and the other Norse moons also have eccentric orbits, meaning they are more elongated than circular. Like Saturn's other irregular moons, Ymir is thought to be an object that was captured by Saturn's gravity, rather than having accreted from the dusty disk that surrounded the newly formed planet as the regular moons are thought to have done. Ymir and another member of the Norse group, Skathi, may be the sources of material that coats the dark side of Iapetus and, to a lesser extent, the surface of Hyperion. Originally called S/2000 S1, Ymir was named for the first living being in Norse mythology, the first of a race of frost giants.",
+ ],
+ },
+ related: [],
+ },
+ sc_ace: {
+ title: "ACE",
+ description: {
+ blurb: [
+ "NASA's Advanced Composition Explorer (ACE) collects and analyzes particles of solar, interplanetary, interstellar and galactic origins.",
+ ],
+ more: [
+ "The ACE robotic spacecraft was launched August 25, 1997, and entered an orbit close to the L1 Lagrangian point (which lies between the Sun and the Earth at a distance of some 1.5 million km from the latter) on December 12, 1997. The data contributes to our understanding of the Sun, its interaction with Earth, and the evolution of the solar system. ACE continues to provide space weather reports and warnings of geomagnetic storms that can disrupt communications on Earth and harm astronauts in space.",
+ ],
+ },
+ dates: {
+ start: "1997-08-25",
+ end: "",
+ landing: "",
+ },
+ related: [],
+ },
+ sc_acrimsat: {
+ title: "ACRIMSAT",
+ description: {
+ blurb: [
+ "ACRIMSAT (Active Cavity Radiometer Irradiance Monitor Satellite) was a mission to monitor the levels of total solar irradiance, which is the power per square meter delivered by the sun.",
+ ],
+ more: [
+ "Launched in December 1999, the mission lasted almost 14 years, until contact was lost on December 13th, 2013. Monitoring the sun's output over a long period can help separate climate change effects of the sun's variance from other effects such as the greenhouse effect.",
+ ],
+ },
+ dates: {
+ start: "1999-12-21T00:00:00",
+ end: "2013-12-13T00:00:00",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sun"],
+ },
+ sc_aqua: {
+ title: "Aqua",
+ description: {
+ blurb: [
+ "Aqua is a NASA Earth Science satellite mission named for the large amount of information that the mission is collecting about the Earth's water cycle.",
+ ],
+ more: [
+ "The Aqua mission collects data about evaporation from the oceans, water vapor in the atmosphere, clouds, precipitation, soil moisture, sea ice, land ice, and snow cover on the land and ice. Additional variables also being measured by Aqua include radiative energy fluxes, aerosols, vegetation cover on the land, phytoplankton and dissolved organic matter in the oceans, and air, land, and water temperatures. Aqua was launched on May 4, 2002, and has six Earth-observing instruments on board, collecting a variety of global data sets. Aqua was originally developed for a six-year design life but has now far exceeded that original goal. It continues transmitting high-quality data from four of its six instruments, AIRS, AMSU, CERES, and MODIS, and reduced quality data from a fifth instrument, AMSR-E. The sixth Aqua instrument, HSB, collected approximately nine months of high quality data but failed in February 2003. Aqua was the first member launched of a group of satellites termed the Afternoon Constellation, or sometimes the A-Train.",
+ ],
+ },
+ dates: {
+ start: "2002-05-04T09:54:58",
+ end: "",
+ landing: "",
+ },
+ related: [],
+ },
+ sc_artemis_1: {
+ title: "Artemis I",
+ description: {
+ blurb: [
+ "Artemis I is an uncrewed flight test that is the first mission to use NASA's Space Launch System (SLS) and the Orion spacecraft. It will be followed by a crewed flight on Artemis II.",
+ ],
+ more: [
+ "The first in a series of increasingly complex missions, Artemis I is an uncrewed flight test that will provide a foundation for human deep space exploration, and demonstrate our commitment and capability to extend human existence to the Moon and beyond. The spacecraft launched on the most powerful rocket in the world and flew farther than any spacecraft built for humans has ever flown, traveling thousands of miles past the moon, then entering a distant retrograde orbit of the moon before returning to Earth.",
+ ],
+ },
+ dates: {
+ start: "2022-11-16T06:47:44",
+ end: "2022-11-17T06:47:44",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_capstone"],
+ },
+ sc_aura: {
+ title: "Aura",
+ description: {
+ blurb: [
+ "Aura (Latin for breeze) obtains measurements of ozone, aerosols and key gases throughout the atmosphere using technologically innovative space instrumentation. Scientists use these data to gain revolutionary insights into the chemistry of our atmosphere.",
+ ],
+ more: [
+ "Aura's instruments measure trace gases in the atmosphere by detecting their unique spectral signatures. MLS observes the faint microwave emissions from rotating and vibrating molecules. HIRDLS and TES observe the infrared thermal emissions also due to molecular vibrations and rotations. OMI detects the molecular absorption of backscattered sunlight in the visible and ultraviolet wavelengths.",
+ "Horizon viewing (limb) instruments (MLS, TES and HIRDLS slice through the atmosphere, profiling gases. Down-looking instruments (OMI and TES) stare at the Earth. Since MLS looks out the front of the spacecraft, it is the first to profile the atmosphere. The OMI and TES instruments then look at the same air mass as it passes beneath the spacecraft. As the spacecraft then moves on in its orbit, HIRDLS and TES profile the atmosphere again. This unique observing geometry allows the Aura instruments to combine their measurements to get a better picture of the atmospheric chemistry.",
+ ],
+ },
+ dates: {
+ start: "2004-07-15T10:01:51",
+ end: "",
+ landing: "",
+ },
+ related: [],
+ },
+ sc_biosentinel: {
+ title: "BioSentinel",
+ description: {
+ blurb: [
+ "NASA’s BioSentinel is a shoebox-sized CubeSat that will perform the first long-duration biology experiment in deep space.",
+ ],
+ more: [
+ "The satellite launched to deep space aboard Artemis I and flew past the Moon in a direction to orbit the Sun. Once the satellite is in position beyond our planet’s protective magnetic field, it will conduct a study of the effects of deep space radiation on a living organism, yeast. Because human cells and yeast cells have many similar biological mechanisms, including DNA damage and repair, BioSentinel’s experiments can help us better understand the radiation risks for long-duration deep space human exploration. BioSentinel will carry living organisms farther into space than ever before. NASA’s Artemis missions at the Moon will prepare humans to travel on increasingly farther and longer-duration missions to destinations like Mars. Results from BioSentinel’s six- to nine-month mission will fill critical gaps in knowledge about the health risks in deep space posed by space radiation.",
+ ],
+ },
+ dates: {
+ start: "2022-11-16T11:45:33",
+ end: "",
+ landing: "",
+ },
+ related: ["moon", "sc_artemis_1", "sc_lunar_icecube"],
+ },
+ sc_calipso: {
+ title: "CALIPSO",
+ description: {
+ blurb: [
+ "The CALIPSO satellite provided new insight into the role that clouds and atmospheric aerosols (airborne particles) play in regulating Earth's weather, climate, and air quality.",
+ ],
+ more: [
+ "CALIPSO (Cloud-Aerosol Lidar and Infrared Pathfinder Satellite Observation) combined an active lidar instrument with passive infrared and visible imagers to probe the vertical structure and properties of thin clouds and aerosols over the globe. CALIPSO was launched on April 28, 2006. CALIPSO, along with the CloudSat mission, were highly complementary and together provided new, never-before-seen 3-D perspectives of how clouds and aerosols form, evolve, and affect weather and climate.",
+ ],
+ },
+ dates: {
+ start: "2006-04-28T10:02:16",
+ end: "2023-08-01T12:00:00",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_cloudsat"],
+ },
+ sc_capstone: {
+ title: "CAPSTONE",
+ description: {
+ blurb: [
+ "Cislunar Autonomous Positioning System Technology Operations and Navigation Experiment (CAPSTONE) is a lunar orbiter that will test and verify a unique, elliptical orbit that is planned for the Gateway space station.",
+ ],
+ more: [
+ "As a precursor for Gateway, a Moon-orbiting outpost that is part of NASA’s Artemis program, CAPSTONE will help reduce risk for future spacecraft by validating innovative navigation technologies and verifying the dynamics of this halo-shaped orbit.",
+ ],
+ },
+ dates: {
+ start: "2022-06-28T09:55:52",
+ end: "",
+ landing: "",
+ },
+ parent: "moon",
+ related: ["sc_artemis_1"],
+ },
+ sc_cassini: {
+ title: "Cassini",
+ description: {
+ blurb: [
+ "For more than a decade, NASA’s Cassini spacecraft shared the wonders of Saturn and its family of icy moons—taking us to astounding worlds where methane rivers run to a methane sea and where jets of ice and gas are blasting material into space from a liquid water ocean that might harbor the ingredients for life. Cassini revealed in great detail the true wonders of Saturn, a giant world ruled by raging storms and delicate harmonies of gravity.",
+ ],
+ more: [
+ "Cassini was one of the most ambitious efforts ever mounted in planetary exploration. A joint endeavor of NASA, ESA (the European Space Agency) and the Italian space agency (ASI), Cassini was a sophisticated robotic spacecraft sent to study Saturn and its complex system of rings and moons in unprecedented detail. Cassini carried a probe called Huygens to the Saturn system. The probe, which was built by ESA, parachuted to the surface of Saturn’s largest moon, Titan, in January 2005—the most distant landing to date in our solar system. Huygens returned spectacular images and other science results during a two-and-a-half-hour descent through Titan’s hazy atmosphere, before coming to rest amid rounded cobbles of ice on a floodplain damp with liquid methane.Cassini completed its initial four-year mission in June 2008 and earned two mission extensions that enabled the team to delve even deeper into Saturn’s mysteries. Key discoveries during its 13 years at Saturn included a global ocean with strong indications of hydrothermal activity within Enceladus, and liquid methane seas on Titan. After 20 years in space — 13 of those years exploring Saturn — Cassini exhausted its fuel supply. And so, to protect moons of Saturn that could have conditions suitable for life, Cassini was sent on a daring final mission that would seal its fate. After a series of nearly two dozen nail-biting dives between the planet and its icy rings, Cassini plunged into Saturn’s atmosphere on Sept. 15, 2017, returning science data to the very end.",
+ ],
+ },
+ dates: {
+ start: "1997-10-15T09:26:00Z",
+ end: "2017-09-15T11:55:14Z",
+ landing: "",
+ highlight: "2017-04-22T09:36:00Z",
+ },
+ parent: "saturn",
+ related: ["saturn", "titan", "jupiter", "enceladus"],
+ },
+ sc_clementine: {
+ title: "Clementine",
+ description: {
+ blurb: [
+ "Clementine was the first U.S. spacecraft launched to the Moon in over 20 years. It was designed to test spacecraft components during extended exposure to space and to study the Moon and an asteroid.",
+ ],
+ more: [
+ "Clementine was launched in 1994 and The lunar observations included imaging at various wavelengths in the visible as well as in ultraviolet and infrared, laser ranging altimetry, gravimetry, and charged particle measurements. Clementine successfully entered an elliptical polar orbit (about 270 × 1,830 miles or 430 × 2,950 kilometers) around the Moon on Feb. 19, 1994, with a period of five days. In two months during 1994, it transmitted about 1.6 million digital images of the lunar surface, many of them with resolutions down to about 330-660 feet (100-200 meters). In the process, it provided scientists with their first look at the total lunar landscape including polar regions.",
+ ],
+ },
+ dates: {
+ start: "1994-01-25T16:34:00",
+ end: "1995-05-10T00:00:00",
+ landing: "",
+ highlight: "1994-02-01T00:00:00",
+ },
+ parent: "moon",
+ related: ["moon", "sc_lunar_reconaissance_orbiter"],
+ },
+ sc_cloudsat: {
+ title: "CloudSat",
+ description: {
+ blurb: [
+ "Part of NASA's fleet of weather- and climate-tracking satellites, CloudSat used advanced radar to examine the inner structure of clouds, helping researchers better understand how severe tropical cyclones as well as climate changes related to clouds occur.",
+ ],
+ more: [
+ "In August 2010, CloudSat embarked on a new mission phase to study the genesis and patterns of tropical cyclones. Since its launch in 2006, CloudSat has played an instrumental role in new techniques for estimating the intensity of hurricanes from space, in addition to producing data about links between pollution and rainfall. The mission ended in late December of 2023.",
+ ],
+ },
+ dates: {
+ start: "2006-04-28T10:02:16",
+ end: "2023-12-20T00:00:00",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_calipso"],
+ },
+ sc_cluster_ii_fm5: {
+ title: "Rumba",
+ description: {
+ blurb: [
+ "Rumba is one of four spacecraft of the Cluster II mission of the European Space Agency, which studies the Earth's magnetosphere.",
+ ],
+ more: [
+ "The mission is composed of four identical spacecraft flying in a tetrahedral formation. Four spacecraft allow scientists make the 3D, time-resolved measurements needed to create a realistic picture of the complex plasma interactions occurring between regions of the magnetosphere and between the magnetosphere and the solar wind.",
+ ],
+ },
+ dates: {
+ start: "2000-08-09T11:13:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_cluster_ii_fm6", "sc_cluster_ii_fm7", "sc_cluster_ii_fm8"],
+ },
+ sc_cluster_ii_fm6: {
+ title: "Salsa",
+ description: {
+ blurb: [
+ "Salsa is one of four spacecraft of the Cluster II mission of the European Space Agency, which studies the Earth's magnetosphere.",
+ ],
+ more: [
+ "The mission is composed of four identical spacecraft flying in a tetrahedral formation. Four spacecraft allow scientists make the 3D, time-resolved measurements needed to create a realistic picture of the complex plasma interactions occurring between regions of the magnetosphere and between the magnetosphere and the solar wind.",
+ ],
+ },
+ dates: {
+ start: "2000-07-16T12:39:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_cluster_ii_fm5", "sc_cluster_ii_fm7", "sc_cluster_ii_fm8"],
+ },
+ sc_cluster_ii_fm7: {
+ title: "Samba",
+ description: {
+ blurb: [
+ "Samba is one of four spacecraft of the Cluster II mission of the European Space Agency, which studies the Earth's magnetosphere.",
+ ],
+ more: [
+ "The mission is composed of four identical spacecraft flying in a tetrahedral formation. Four spacecraft allow scientists make the 3D, time-resolved measurements needed to create a realistic picture of the complex plasma interactions occurring between regions of the magnetosphere and between the magnetosphere and the solar wind.",
+ ],
+ },
+ dates: {
+ start: "2000-07-16T12:39:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_cluster_ii_fm5", "sc_cluster_ii_fm6", "sc_cluster_ii_fm8"],
+ },
+ sc_cluster_ii_fm8: {
+ title: "Tango",
+ description: {
+ blurb: [
+ "Tango is one of four spacecraft of the Cluster II mission of the European Space Agency, which studies the Earth's magnetosphere.",
+ ],
+ more: [
+ "The mission is composed of four identical spacecraft flying in a tetrahedral formation. Four spacecraft allow scientists make the 3D, time-resolved measurements needed to create a realistic picture of the complex plasma interactions occurring between regions of the magnetosphere and between the magnetosphere and the solar wind.",
+ ],
+ },
+ dates: {
+ start: "2000-08-09T11:13:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_cluster_ii_fm5", "sc_cluster_ii_fm6", "sc_cluster_ii_fm7"],
+ },
+ sc_dart: {
+ title: "DART",
+ description: {
+ blurb: [
+ "DART, or Double Asteroid Redirection Test, was the first attempt to change the course of an asteroid with a kinetic impact.",
+ ],
+ link: "https://dart.jhuapl.edu/",
+ more: [
+ "An on-orbit demonstration of asteroid deflection was a key test that NASA and other agencies wished to perform before any actual need is present. The DART mission was NASA's demonstration of kinetic impactor technology, impacting an asteroid to adjust its speed and path. The targeted system is composed of two asteroids: the larger asteroid Didymos (diameter: 780 meters, 0.48 miles), and the smaller moonlet asteroid, Dimorphos (diameter: 160 meters, 525 feet), which orbits Didymos. On September 26th, 2022, the DART spacecraft impacted Dimorphos nearly head-on, shortening the time it takes the small asteroid moonlet to orbit Didymos by several minutes.",
+ ],
+ },
+ dates: {
+ start: "2021-11-24T06:20:00",
+ end: "2022-09-26T23:14:20",
+ landing: "",
+ },
+ related: ["65803_didymos", "dimorphos"],
+ },
+ sc_dawn: {
+ title: "Dawn",
+ description: {
+ blurb: [
+ "Dawn was the first spacecraft to orbit two extraterrestrial bodies, as well as the first spacecraft to visit either Vesta or Ceres, and the first to orbit a dwarf planet.",
+ ],
+ link: "https://solarsystem.nasa.gov/missions/dawn/overview/",
+ more: [
+ 'Dawn launched in 2007 on a journey that put about 4.3 billion miles (6.9 billion kilometers) on its odometer. Propelled by ion engines, the spacecraft achieved many firsts until its extended mission concluded on Oct. 31, 2018. The Dawn mission was designed to study two large bodies in the asteroid belt in order to answer questions about the formation of the Solar System, as well as to test the performance of its ion thrusters in deep space. Ceres and Vesta were chosen as two contrasting protoplanets, the first one apparently "wet" (i.e. icy and cold) and the other "dry" (i.e. rocky). The Dawn mission ran out of fuel in 2018 and still orbits the dwarf planet Ceres.',
+ ],
+ },
+ dates: {
+ start: "2007-09-27T13:15:00",
+ end: "2018-10-30T00:00:00",
+ landing: "",
+ },
+ related: ["4_vesta", "1_ceres"],
+ },
+ sc_deep_impact: {
+ title: "Deep Impact",
+ description: {
+ blurb: [
+ "The primary mission of NASA's Deep Impact was to probe beneath the surface of a comet. The spacecraft delivered a special impactor into the path of Tempel 1 to reveal never before seen materials and provide clues about the internal composition and structure of a comet. The spacecraft released its impactor which collided with the comet, and then the spacecraft observed the result.",
+ ],
+ link: "https://www.jpl.nasa.gov/missions/deep-impact",
+ more: [
+ "On July 3, 2005, at 06:00 UT (or 06:07 UT Earth-receive time), Deep Impact released the impactor probe, which, using small thrusters, moved into the path of the comet, where it hit the following day, July 4, at 05:44:58 UT. The mission was then renamed as EPOXI, with a dual purpose to study extrasolar planets and the comet 103/P Hartley 2. The spacecraft arrived at Hartley 2 in 2010, and then planned to study an asteroid when contact was lost in August of 2013.",
+ ],
+ },
+ dates: {
+ start: "2005-01-12T20:20:08",
+ end: "2013-08-08T00:00:00",
+ landing: "",
+ },
+ related: [
+ "sc_deep_impact_impactor",
+ "9p_tempel_1",
+ "103p_hartley_2",
+ "c_2012_s1",
+ ],
+ },
+ sc_deep_impact_impactor: {
+ title: "Deep Impact Impactor",
+ description: {
+ blurb: [
+ "The Impactor was a part of the Deep Impact spacecraft that would detatch and intentionally collide with the Comet Tempel 1.",
+ ],
+ more: [
+ "On July 3, 2005, at 06:00 UT (or 06:07 UT Earth-receive time), Deep Impact released the impactor probe, which, using small thrusters, moved into the path of the comet, where it hit the following day, July 4, at 05:44:58 UT. The probe was traveling at a relative velocity of about 23,000 miles per hour (37,000 kilometers per hour) at the time of impact. The impact generated an explosion the equivalent of 4.7 tons of TNT and a crater estimated to be about 490 feet (150 meters) in diameter. The impact generated an explosion the equivalent of 4.7 tons of TNT and a crater estimated to be about 490 feet (150 meters) in diameter.",
+ ],
+ },
+ dates: {
+ start: "2005-01-12T18:47:08",
+ end: "2005-07-04T06:05:00",
+ landing: "",
+ highlight: "2005-07-04T00:00:00",
+ },
+ related: ["sc_deep_impact", "9p_tempel_1"],
+ },
+ sc_deep_space_1: {
+ title: "Deep Space 1",
+ description: {
+ blurb: [
+ "NASA's Deep Space 1 was an engineering test flight for a dozen new technologies, including highly-efficient ion engines and autonomous navigation software. It also flew by a comet and an asteroid.",
+ ],
+ link: "https://www.jpl.nasa.gov/missions/deep-space-1-ds1",
+ more: [
+ "DS1 passed the near-Earth asteroid 9660 Braille on July 29th, 1999, at a range of about 16 miles (26 kilometers) and at a velocity of about 10 miles per second (15.5 kilometers per second). On Sept. 22, 2001, DS1 entered the coma of Comet Borrelly, making its closest approach of about 1,350 miles (2,171 kilometers) to the nucleus. Traveling at about 10 miles per second (16.58 kilometers per second) relative to the nucleus at the time, it returned some of the best images of a comet to date, as well as other significant data. It was the first NASA mission to use an ion propulsion engine.",
+ ],
+ },
+ dates: {
+ start: "1998-10-24T12:08:00",
+ end: "2001-12-18T20:00:00",
+ landing: "",
+ },
+ related: ["19p_borrelly"],
+ },
+ sc_eo_1: {
+ title: "EO-1",
+ description: {
+ blurb: [
+ "Earth Observing-1 (EO-1) was a NASA Earth observation satellite created to develop and validate a number of instrument and spacecraft bus breakthrough technologies.",
+ ],
+ more: [
+ "It was the first satellite to map active lava flows from space; the first to measure a facility's methane leak from space; and the first to track re-growth in a partially logged Amazon forest from space. EO-1 captured scenes such as the ash after the World Trade Center attacks, the flooding in New Orleans after Hurricane Katrina, volcanic eruptions and a large methane leak in southern California.",
+ ],
+ },
+ dates: {
+ start: "2000-11-21T18:24:25",
+ end: "2017-03-30T00:00:00",
+ landing: "",
+ highlight: "2017-01-01T00:00:00",
+ },
+ parent: "earth",
+ related: ["earth"],
+ },
+ sc_euclid: {
+ title: "Euclid",
+ description: {
+ blurb: [
+ "Euclid is a European Space Agency mission to map the geometry of the Universe and better understand dark matter and dark energy, which make up most of the energy budget of the cosmos.",
+ ],
+ more: [
+ "Euclid will probe the history of the expansion of the Universe and the formation of cosmic structures by measuring the redshift of galaxies out to a value of 2, which is equivalent to seeing back 10 billion years into the past. In this way, Euclid will cover the entire period over which dark energy played a significant role in accelerating the expansion of the Universe.",
+ ],
+ },
+ dates: {
+ start: "2023-07-01T15:12:00",
+ end: "",
+ landing: "",
+ },
+ related: ["sc_jwst"],
+ },
+ sc_europa_clipper: {
+ title: "Europa Clipper",
+ description: {
+ blurb: [
+ "Europa Clipper will search for signs of potential habitability on Jupiter's icy ocean moon Europa.",
+ ],
+ more: [
+ "To determine if this distant moon has conditions favorable for life, NASA’s Europa Clipper mission is preparing to conduct the first dedicated and detailed study of an ocean world beyond Earth.",
+ "The expedition’s objective is to explore Europa to investigate its habitability. The spacecraft is not being sent to find life itself, but will instead try to answer specific questions about Europa’s ocean, ice shell, composition and geology.",
+ ],
+ },
+ dates: {
+ start: "2024-10-10T01:44:00",
+ end: "",
+ landing: "",
+ },
+ parent: "europa",
+ related: ["sc_galileo"],
+ },
+ sc_explorer_1: {
+ title: "Explorer 1",
+ description: {
+ blurb: [
+ "On January 31st, 1958, Explorer 1 became the first satellite launched by the United States of America. It followed the launch the previous year of the Russian satellites Sputnik 1 and 2.",
+ ],
+ more: [
+ "It was the first spacecraft to detect the Van Allen radiation belt, returning data until its batteries were exhausted after nearly four months. It remained in orbit until 1970.",
+ ],
+ },
+ dates: {
+ start: "1958-02-01T03:48:00",
+ end: "1958-05-23T00:00:00",
+ landing: "",
+ },
+ parent: "earth",
+ related: [],
+ },
+ sc_galileo: {
+ title: "Galileo",
+ description: {
+ blurb: [
+ "The Galileo mission was the first spacecraft to enter orbit around the planet Jupiter, arriving in December of 1995 and staying for eight years, and made close passes by all its major moons. Galileo even carried a small probe that it deployed and sent deep into the atmosphere of Jupiter, taking readings for almost an hour before the probe was crushed by overwhelming pressure.",
+ ],
+ link: "https://solarsystem.nasa.gov/missions/galileo/overview/",
+ more: [
+ "The Galileo spacecraft logged quite a few other firsts during its 14-year mission to Jupiter. Among its discoveries: an intense radiation belt above Jupiter's cloud tops, helium in about the same concentration as the Sun, extensive and rapid resurfacing of the moon Io because of volcanism and a magnetic field at Ganymede.",
+ ],
+ },
+ dates: {
+ start: "1989-10-18T16:53:40",
+ end: "2003-09-21T18:57:18",
+ landing: "",
+ },
+ related: ["jupiter", "europa", "ganymede", "io", "callisto", "amalthea"],
+ },
+ sc_galileo_probe: {
+ title: "Galileo Probe",
+ description: {
+ blurb: [
+ "The Galileo orbiter carried a small probe that became the first to sample the atmosphere of a gas planet.",
+ ],
+ more: [
+ "The probe measured temperature, pressure, chemical composition, cloud characteristics, sunlight and energy internal to the planet, and lightning. During its 58-minute life, the probe penetrated 124 miles (200 kilometers) into Jupiter's violent atmosphere before it was crushed, melted and/or vaporized by the intense pressure and temperature.",
+ ],
+ },
+ dates: {
+ start: "1995-07-13T05:30:00",
+ end: "1995-07-13T05:30:01",
+ landing: "",
+ highlight: "1995-07-13T05:30:00",
+ },
+ parent: "jupiter",
+ related: ["sc_galileo", "jupiter"],
+ },
+ sc_geotail: {
+ title: "Geotail",
+ description: {
+ blurb: [
+ "Geotail provides information about the way the magnetic envelope surrounding Earth, called the magnetosphere, responds to incoming material and energy from the Sun.",
+ ],
+ more: [
+ "The Geotail mission was a joint project of Japan’s Institute of Space and Astronautical Science (ISAS) and later, from 2003, the Japan Aerospace Exploration Agency (JAXA) and NASA. The mission was part of the International Solar Terrestrial Physics (ISTP) project, which also included the Wind, Polar, SOHO, and Cluster missions. Geotail’s goal was to study the structure and dynamics of the long tail region of Earth’s magnetosphere, which is created on the nightside of Earth by the solar wind. During active periods, the tail couples with the near-Earth magnetosphere, and often releases energy that is stored in the tail, activating auroras in the polar ionosphere.",
+ ],
+ },
+ dates: {
+ start: "1992-07-24T14:26:00",
+ end: "2022-11-28T00:00:00",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_gpm: {
+ title: "GPM",
+ description: {
+ blurb: [
+ "Global Precipitation Measurement (GPM) is an international satellite mission to provide next-generation observations of rain and snow worldwide every three hours.",
+ ],
+ more: [
+ "NASA and the Japanese Aerospace Exploration Agency (JAXA) launched the GPM Core Observatory satellite on February 27th, 2014, carrying advanced instruments that set a new standard for precipitation measurements from space. The data they provide is used to unify precipitation measurements made by an international network of partner satellites to quantify when, where, and how much it rains or snows around the world.",
+ "The GPM mission contributes to advancing our understanding of Earth's water and energy cycles, improves the forecasting of extreme events that cause natural disasters, and extends current capabilities of using satellite precipitation information to directly benefit society.",
+ ],
+ },
+ dates: {
+ start: "2014-02-27T18:37:00",
+ end: "",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_grace_1: {
+ title: "GRACE-1",
+ description: {
+ blurb: [
+ "The Gravity Recovery and Climate Experiment (GRACE) was a joint mission of NASA and the German Aerospace Center (DLR). Twin satellites took detailed measurements of Earth's gravity field anomalies from its launch in March 2002 to the end of its science mission in October 2017.",
+ ],
+ more: [
+ "The twin GRACE spacecraft tracked Earth's water movement to monitor changes in underground water storage, the amount of water in large lakes and rivers, soil moisture, ice sheets and glaciers, and sea level caused by the addition of water to the ocean. These discoveries provide a unique view of Earth's climate and have far-reaching benefits to society and the world's population. GRACE is able to make accurate measurements thanks in part to two advanced technologies: a microwave ranging system based on Global Positioning System (GPS) technology, and a very sensitive accelerometer—an instrument that measures the forces on the satellites besides gravity (such as atmospheric drag). Using the microwave ranging system, GRACE can measure the distance between satellites to within one micron -- about the diameter of a blood cell. Together, these very precise measurements of location, force and orbital change translate into an observation of gravity with unprecedented accuracy. Flight engineers maneuver the satellites only if they separate by more than 155 miles (250 km), otherwise they are left alone and gravity ‘tugs and pulls’ on them.",
+ ],
+ },
+ dates: {
+ start: "2002-03-17T09:21:00",
+ end: "2017-10-27T00:00:00",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_grace_2", "sc_grace_fo1", "sc_grace_fo2"],
+ },
+ sc_grace_2: {
+ title: "GRACE-2",
+ description: {
+ blurb: [
+ "The Gravity Recovery and Climate Experiment (GRACE) was a joint mission of NASA and the German Aerospace Center (DLR). Twin satellites took detailed measurements of Earth's gravity field anomalies from its launch in March 2002 to the end of its science mission in October 2017.",
+ ],
+ more: [
+ "The twin GRACE spacecraft tracked Earth's water movement to monitor changes in underground water storage, the amount of water in large lakes and rivers, soil moisture, ice sheets and glaciers, and sea level caused by the addition of water to the ocean. These discoveries provide a unique view of Earth's climate and have far-reaching benefits to society and the world's population. GRACE is able to make accurate measurements thanks in part to two advanced technologies: a microwave ranging system based on Global Positioning System (GPS) technology, and a very sensitive accelerometer—an instrument that measures the forces on the satellites besides gravity (such as atmospheric drag). Using the microwave ranging system, GRACE can measure the distance between satellites to within one micron -- about the diameter of a blood cell. Together, these very precise measurements of location, force and orbital change translate into an observation of gravity with unprecedented accuracy. Flight engineers maneuver the satellites only if they separate by more than 155 miles (250 km), otherwise they are left alone and gravity ‘tugs and pulls’ on them.",
+ ],
+ },
+ dates: {
+ start: "2002-03-17T09:21:00",
+ end: "2017-10-27T00:00:00",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_grace_1", "sc_grace_fo1", "sc_grace_fo2"],
+ },
+ sc_grace_fo1: {
+ title: "GRACE-FO1",
+ description: {
+ blurb: [
+ "The Gravity Recovery and Climate Experiment Follow-on (GRACE-FO) mission measures changes in Earth's gravity field. It consists of two spacecraft that follow each other in orbit.",
+ ],
+ more: [
+ "Launched on May 22, 2018, GRACE-FO continues the work of tracking Earth's water movement to monitor changes in underground water storage, the amount of water in large lakes and rivers, soil moisture, ice sheets and glaciers, and sea level caused by the addition of water to the ocean. These discoveries provide a unique view of Earth's climate and have far-reaching benefits to society and the world's population. GRACE-FO is able to make accurate measurements thanks in part to two advanced technologies: a microwave ranging system based on Global Positioning System (GPS) technology, and a very sensitive accelerometer—an instrument that measures the forces on the satellites besides gravity (such as atmospheric drag).",
+ "Using the microwave ranging system, GRACE can measure the distance between satellites to within one micron -- about the diameter of a blood cell. Together, these very precise measurements of location, force and orbital change translate into an observation of gravity with unprecedented accuracy. Flight engineers maneuver the satellites only if they separate by more than 155 miles (250 km), otherwise they are left alone and gravity ‘tugs and pulls’ on them.",
+ ],
+ },
+ dates: {
+ start: "2018-05-22T19:47:58",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_grace_1", "sc_grace_2", "sc_grace_fo2"],
+ },
+ sc_grace_fo2: {
+ title: "GRACE-FO2",
+ description: {
+ blurb: [
+ "The Gravity Recovery and Climate Experiment Follow-on (GRACE-FO) mission measures changes in Earth's gravity field. It consists of two spacecraft that follow each other in orbit.",
+ ],
+ more: [
+ "Launched on May 22, 2018, GRACE-FO continues the work of tracking Earth's water movement to monitor changes in underground water storage, the amount of water in large lakes and rivers, soil moisture, ice sheets and glaciers, and sea level caused by the addition of water to the ocean. These discoveries provide a unique view of Earth's climate and have far-reaching benefits to society and the world's population. GRACE-FO is able to make accurate measurements thanks in part to two advanced technologies: a microwave ranging system based on Global Positioning System (GPS) technology, and a very sensitive accelerometer—an instrument that measures the forces on the satellites besides gravity (such as atmospheric drag).",
+ "Using the microwave ranging system, GRACE can measure the distance between satellites to within one micron -- about the diameter of a blood cell. Together, these very precise measurements of location, force and orbital change translate into an observation of gravity with unprecedented accuracy. Flight engineers maneuver the satellites only if they separate by more than 155 miles (250 km), otherwise they are left alone and gravity ‘tugs and pulls’ on them.",
+ ],
+ },
+ dates: {
+ start: "2018-05-22T19:47:58",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_grace_1", "sc_grace_2", "sc_grace_fo1"],
+ },
+ sc_grail_a: {
+ title: "GRAIL A",
+ description: {
+ blurb: [
+ "NASA's GRAIL mission flew twin spacecraft—Ebb and Flow—in tandem around the Moon to map variations in the lunar gravitational field",
+ ],
+ more: [
+ "As the two spacecraft flew over areas of increasing gravity, the probes moved slightly toward and away from each other, while an instrument measured changes in their relative velocity, providing key information on the Moon’s gravitational field. At the end of the mission, the probes were purposely crashed on the Moon.",
+ ],
+ },
+ dates: {
+ start: "2011-09-10T13:08:52",
+ end: "2012-12-17T22:28:51",
+ landing: "",
+ },
+ parent: "moon",
+ related: ["moon", "sc_grail_b"],
+ },
+ sc_grail_b: {
+ title: "GRAIL B",
+ description: {
+ blurb: [
+ "NASA's GRAIL mission flew twin spacecraft—Ebb and Flow—in tandem around the Moon to map variations in the lunar gravitational field",
+ ],
+ more: [
+ "As the two spacecraft flew over areas of increasing gravity, the probes moved slightly toward and away from each other, while an instrument measured changes in their relative velocity, providing key information on the Moon’s gravitational field. At the end of the mission, the probeswere purposely crashed on the Moon.",
+ ],
+ },
+ dates: {
+ start: "2011-09-10T13:08:52",
+ end: "2012-12-17T22:29:21",
+ landing: "",
+ },
+ parent: "moon",
+ related: ["moon", "sc_grail_a"],
+ },
+ sc_grifex: {
+ title: "GRIFEX",
+ description: {
+ blurb: [
+ "GRIFEX, the Geo-cape Roic In-Flight performance Experiment, was a CubeSat technology validation test for the proposed GEO-CAPE mission.",
+ ],
+ more: [
+ "GRIFEX advanced the technology required for future space-borne measurements of atmospheric composition from geostationary orbit that are relevant to climate change. The size of GRIFEX was three CubeSat units, or 30 x 10 x 10 cm.",
+ ],
+ },
+ dates: {
+ start: "2015-01-31",
+ end: "2024-02-22",
+ landing: "",
+ },
+ related: [],
+ },
+ sc_hubble_space_telescope: {
+ title: "Hubble Space Telescope",
+ description: {
+ blurb: [
+ "NASA’s Hubble Space Telescope is the first astronomical observatory placed into orbit around Earth with the ability to record images in wavelengths of light spanning from ultraviolet to near-infrared.",
+ ],
+ more: [
+ "The Hubble Space Telescope's launch and deployment in April 1990 marked the most significant advancement in astronomy since Galileo's telescope. The first major optical telescope to be placed in space, Hubble operates from the ultimate mountaintop. Far above the distortion of Earth's atmosphere, clouds and light pollution, Hubble has an unobstructed view of the universe.",
+ "Hubble can see far more than what we can with our eyes. Its domain extends from the ultraviolet, through the visible, and to the near-infrared.",
+ "The telescope has had a major impact on every area of astronomy, from the solar system to objects at the edge of the universe. Scientists have used Hubble to observe the most distant stars and galaxies as well as the planets in our solar system.",
+ "Data and from the orbiting telescope are the backbone of more than 15,000 technical papers. It also, of course, continues to dazzle us with stunning pictures of stars, galaxies and planets.",
+ ],
+ },
+ dates: {
+ start: "1990-04-24T12:33:51",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_spitzer", "sc_chandra"],
+ },
+ sc_huygens: {
+ title: "Huygens",
+ description: {
+ blurb: [
+ "The European Space Agency's Huygens Probe was a unique, advanced spacecraft and a crucial part of the overall Cassini mission to explore Saturn.",
+ ],
+ more: [
+ "The probe was about 9 feet wide (2.7 meters) and weighed roughly 700 pounds (318 kilograms). It was built like a shellfish: a hard shell protected its delicate interior from high temperatures during the a two hour and 27 minute descent through the atmosphere of Saturn's giant moon Titan. Huygens landed on Titan on January 14, 2005.",
+ ],
+ },
+ dates: {
+ start: "1997-10-15T08:43:00",
+ end: "2005-01-14T13:37:00",
+ landing: "2005-01-14T12:43:00",
+ highlight: "2004-12-25T02:00:15",
+ },
+ parent: "saturn",
+ related: ["sc_cassini", "titan"],
+ },
+ sc_ibex: {
+ title: "IBEX",
+ description: {
+ blurb: [
+ "Interstellar Boundary Explorer (IBEX) is a NASA spacecraft mapping the boundary of our solar system.",
+ ],
+ more: [
+ 'IBEX is a small satellite the size of a bus tire. It has "telescopes" that look out toward the edge of the solar system. However, these telescopes are different than most telescopes. They collect particles instead of light. These particles are called energetic neutral atoms (ENAs)—high-energy particles produced at the very edge of our solar system.',
+ ],
+ },
+ dates: {
+ start: "2008-10-08T17:47:23",
+ end: "",
+ landing: "",
+ },
+ related: [],
+ },
+ sc_icesat_2: {
+ title: "ICESat-2",
+ description: {
+ blurb: [
+ "The Ice, Cloud, and land Elevation Satellite-2, or ICESat-2, will measure the height of a changing Earth – one laser pulse at a time, 10,000 laser pulses a second.",
+ ],
+ more: [
+ "ICESat-2 (short for Ice, Cloud, and land Elevation Satellite), launched Sept. 15, 2018, uses lasers and a very precise detection instrument to measure the elevation of Earth’s surface. By timing how long it takes laser beams to travel from the satellite to Earth and back, scientists can calculate the height of glaciers, sea ice, forests, lakes and more – including the changing ice sheets of Greenland and Antarctica. Our planet's frozen and icy areas, called the cryosphere, are a key focus of NASA's Earth science research. ICESat-2 will help scientists investigate why, and how much, our cryosphere is changing in a warming climate. The satellite will also measure heights across Earth's temperate and tropical regions, and take stock of the vegetation in forests worldwide.",
+ ],
+ },
+ dates: {
+ start: "2018-09-15T13:02:00",
+ end: "",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_image: {
+ title: "IMAGE",
+ description: {
+ blurb: [
+ "IMAGE (Imager for Magnetopause-to-Aurora Global Exploration) is a NASA mission that studied the global response of the Earth's magnetosphere to changes in the solar wind.",
+ ],
+ more: [
+ "IMAGE was the first spacecraft dedicated to imaging the Earth's magnetosphere, producing comprehensive global images of plasma in the inner magnetosphere.",
+ ],
+ },
+ dates: {
+ start: "2000-03-25T20:34:43",
+ end: "2005-12-18T07:39:00",
+ landing: "",
+ },
+ related: ["sc_wind"],
+ },
+ sc_ipex: {
+ title: "IPEX",
+ description: {
+ blurb: [
+ 'IPEX was a CubeSat mission that was an "Intelligent Payload EXperiment."',
+ ],
+ more: [
+ "The purpose of the mission was to validate onboard instrument processing and autonomous payload operations that could be used in the future on the proposed NASA HYperSPectral Infra-Red Instrument (HyspIRI) mission.",
+ ],
+ },
+ dates: {
+ start: "2013-12-06T07:13:40",
+ end: "",
+ landing: "",
+ },
+ related: [],
+ },
+ sc_isas: {
+ title: "ISAS",
+ description: {
+ blurb: ["Operational for two months in February and March of 1994."],
+ more: [
+ "The Clementine Interstage Adapter Satellite (ISAS) was the lunar transfer booster used to propel the Clementine spacecraft to the Moon from Earth orbit.",
+ ],
+ },
+ dates: {
+ start: "",
+ end: "",
+ landing: "",
+ },
+ related: [],
+ },
+ sc_iss: {
+ title: "International Space Station (ISS)",
+ description: {
+ blurb: [
+ "The International Space Station (ISS) is a permanently crewed on-orbit laboratory that enables scientific research supporting innovation on Earth and future deep space exploration.",
+ ],
+ more: [
+ "From design to launch, 15 countries collaborated to assemble the world's only permanently crewed orbital facility, which can house a crew of six and 150 ongoing experiments annually across an array of disciplines. The ISS represents a global effort to expand our knowledge and improve life on Earth while testing technology that will extend our reach to the moon, Mars and beyond.",
+ ],
+ },
+ dates: {
+ start: "1998-11-20",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ },
+ sc_ixpe: {
+ title: "IXPE",
+ description: {
+ blurb: [
+ "The Imaging X-Ray Polarimetry Explorer (IXPE) will allow astronomers to explore, for the first time, the hidden details of some of the most extreme and exotic astronomical objects, such as stellar and supermassive black holes, neutron stars and pulsars.",
+ ],
+ },
+ dates: {
+ start: "2021-12-13T06:00:00",
+ end: "",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_jason_1: {
+ title: "Jason-1",
+ description: {
+ blurb: [
+ "Jason-1 was a satellite altimeter oceanography mission. It sought to monitor global ocean circulation, study the ties between the ocean and the atmosphere, improve global climate forecasts and predictions, and monitor events such as El Niño and ocean eddies.",
+ ],
+ more: [
+ "Jason-1 is the successor to the TOPEX/Poseidon mission, which measured ocean surface topography from 1992 through 2005. Like its predecessor, Jason-1 is a joint project between the NASA (United States) and CNES (France) space agencies. Jason-1 has led to Jason-2 and Jason-3, and then the Sentinel-6 Michael Freilich mission.",
+ ],
+ },
+ dates: {
+ start: "2001-12-07T15:07:00",
+ end: "2013-07-01T00:00:00",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_jason_2", "sc_jason_3", "sc_sentinel_6"],
+ },
+ sc_jason_2: {
+ title: "Jason-2/OSTM",
+ description: {
+ blurb: [
+ "Jason-2/OSTM used high-precision ocean altimetry to measure the distance between the satellite and the ocean surface to within a few centimeters.",
+ ],
+ more: [
+ "The third in a series of sea level missions, Jason-2/Ocean Surface Topography Mission follows the TOPEX/Poseiden and Jason-1 missions. These very accurate observations of variations in sea surface height — also known as ocean topography — provide information about global sea level, the speed and direction of ocean currents, and heat stored in the ocean.",
+ ],
+ },
+ dates: {
+ start: "2008-06-20T07:46:25",
+ end: "2019-10-09T00:00:00",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_jason_3", "sc_sentinel_6"],
+ },
+ sc_jason_3: {
+ title: "Jason-3",
+ description: {
+ blurb: [
+ "Jason-3 is the fourth mission in U.S.-European series of satellite missions that measure the height of the ocean surface.",
+ ],
+ more: [
+ "Launched on January 17, 2016, the mission will extend the time series of ocean surface topography measurements (the hills and valleys of the ocean surface) begun by the TOPEX/Poseidon satellite mission in 1992 and continuing through the Jason-1 (launched in 2001) and the currently operating OSTM/Jason-2 (launched in 2008) missions. These measurements provide scientists with critical information about circulation patterns in the ocean and about both global and regional changes in sea level and the climate implications of a warming world.",
+ "The primary instrument on Jason-3 is a radar altimeter. The altimeter will measure sea-level variations over the global ocean with very high accuracy (as 1.3 inches or 3.3 centimeters, with a goal of achieving 1 inch or 2.5 centimeters). Continual, long-term, reliable data of changes in ocean surface topography will be generated and will be used by scientists and operational agencies (NOAA, European weather agencies, marine operators, etc.) for scientific research and operational oceanography for the benefit of society.",
+ ],
+ },
+ dates: {
+ start: "2016-01-17T18:42:18",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_jason_2", "sc_sentinel_6"],
+ },
+ sc_juice: {
+ title: "Juice",
+ description: {
+ blurb: [
+ "The ESA’s Jupiter Icy Moons Explorer, Juice, will make detailed observations of the giant gas planet and its three large ocean-bearing moons – Ganymede, Callisto and Europa – with a suite of remote sensing, geophysical and in situ instruments.",
+ ],
+ more: [
+ "The mission will characterize these moons as both planetary objects and possible habitats, explore Jupiter’s complex environment in depth, and study the wider Jupiter system as an archetype for gas giants across the Universe. Juice will reach the Jovian system in July 2031 after four gravity assists and eight years of travel. In December of 2034, the spacecraft will enter orbit around Ganymede for its close-up science mission.",
+ ],
+ },
+ dates: {
+ start: "2023-04-14T12:14:36",
+ end: "",
+ },
+ related: ["jupiter", "sc_juno", "ganymede", "europa", "callisto"],
+ },
+ sc_juno: {
+ title: "Juno",
+ description: {
+ blurb: [
+ "Juno is studying the interior and origins of giant planet Jupiter for the first time. It has been orbiting Jupiter since it arrived in 2016.",
+ ],
+ more: [
+ "Juno’s marching orders — to pick the lock on Jupiter’s secrets — have been spectacularly fulfilled. High above Jupiter’s roiling clouds, three giant blades stretch out from a cylindrical, six-sided body. Some 66 feet (20 meters) wide, the Juno spacecraft is a dynamic engineering marvel, spinning to keep itself stable as it makes sweeping elliptical (oval-shaped) orbits around Jupiter. At their widest point, these carry Juno far from the giant planet and its moons, keeping it mostly clear of heavy radiation regions. But on closer passes, every 38 days, Juno cuts within 3,100 miles (5,000 kilometers) of Jupiter’s cloud tops. Juno achieved rough, global coverage of the giant planet by the end of 2018, but at a coarse resolution; it then began a new set of orbits to fill in the details. The spacecraft’s long, looping orbits are meant to keep it mostly clear of the doughnut-shaped belts of harmful radiation close to Jupiter and its moons. Every 38 days, however, Juno makes a close pass to observe Jupiter’s gigantic clouds and titanic storms, crackling with lightning. Powerful pulses of energy — super-charged particles streaming through Jupiter’s magnetic field — create auroras. They’re similar to the northern and southern lights on Earth, that is, if you can imagine scaling them up to the size of a planet that could hold 1,300 Earths.",
+ ],
+ },
+ dates: {
+ start: "2011-08-05T16:25:00",
+ end: "",
+ landing: "",
+ },
+ related: ["jupiter", "sc_galileo"],
+ parent: "jupiter",
+ },
+ sc_jwst: {
+ title: "James Webb Space Telescope",
+ description: {
+ blurb: [
+ "The James Webb Space Telescope (JWST) is a large infrared telescope with an approximately 6.5 meter primary mirror.",
+ ],
+ more: [
+ "Webb will be the premier observatory of the next decade, serving thousands of astronomers worldwide. It will study every phase in the history of our Universe, ranging from the first luminous glows after the Big Bang, to the formation of solar systems capable of supporting life on planets like Earth, to the evolution of our own Solar System.",
+ ],
+ },
+ dates: {
+ start: "2021-12-25T12:20:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [],
+ },
+ sc_kepler_space_telescope: {
+ title: "Kepler",
+ description: {
+ blurb: [
+ 'NASA\'s Kepler spacecraft was launched to search for Earth-like planets orbiting other stars. It discovered more than 2,600 of these "exoplanets"—including many that are promising places for life to exist.',
+ ],
+ more: [
+ "Kepler was equipped to look for planets with size spans from one-half to twice the size of Earth (terrestrial planets) in the habitable zone of their stars where liquid water might exist in the natural state on the surface of the planet. It operated from 2009 to 2018.",
+ ],
+ },
+ dates: {
+ start: "2009-03-07T03:49:57",
+ end: "2018-11-15T00:00:00",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "sc_hubble_space_telescope",
+ "sc_chandra",
+ "sc_spitzer",
+ "sc_tess",
+ ],
+ },
+ sc_ladee: {
+ title: "LADEE",
+ description: {
+ blurb: [
+ "NASA's LADEE was a robotic mission that orbited the Moon to gather detailed information about the lunar atmosphere, conditions near the surface and the environmental influences on lunar dust.",
+ ],
+ more: [
+ "By studying the exosphere—an atmosphere that is so thin that its molecules do not collide with each other—the Lunar Atmosphere and Dust Environment Explorer (LADEE) helped further the study of other planetary bodies with exospheres such as Mercury and some of Jupiter’s moons.",
+ ],
+ },
+ dates: {
+ start: "2013-09-07T03:27:00",
+ end: "2014-04-08T04:30:00",
+ landing: "",
+ },
+ parent: "moon",
+ related: ["moon", "sc_lunar_reconaissance_orbiter"],
+ },
+ sc_landsat_7: {
+ title: "Landsat 7",
+ description: {
+ blurb: [
+ "The Landsat program offers the longest continuous global record of the Earth’s surface, supplying more than 40 years of imagery of the entire surface of Earth.",
+ ],
+ more: [
+ "Landsat 7 is the seventh satellite of the Landsat program. Launched on 15 April 1999, Landsat 7's primary goal is to refresh the global archive of satellite photos, providing up-to-date and cloud-free images. The Landsat program is managed and operated by the United States Geological Survey, and data from Landsat 7 is collected and distributed by the USGS.",
+ ],
+ },
+ dates: {
+ start: "1999-04-15T18:32:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_landsat_8"],
+ },
+ sc_landsat_8: {
+ title: "Landsat 8",
+ description: {
+ blurb: [
+ "The Landsat program offers the longest continuous global record of the Earth’s surface, supplying more than 40 years of imagery of the entire surface of Earth.",
+ ],
+ more: [
+ "It is the eighth satellite in the Landsat program; the seventh to reach orbit successfully. Originally called the Landsat Data Continuity Mission (LDCM), it is a collaboration between NASA and the United States Geological Survey (USGS). NASA Goddard Space Flight Center in Greenbelt, Maryland, provided development, mission systems engineering, and acquisition of the launch vehicle while the USGS provided for development of the ground systems and will conduct on-going mission operations. It comprises the camera of the Operational Land Imager (OLI) and the Thermal Infrared Sensor (TIRS) which can be used to study earth surface temperature and is used to study global warming.",
+ ],
+ },
+ dates: {
+ start: "2013-02-11T18:02:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_landsat_7", "sc_landsat_9"],
+ },
+ sc_landsat_9: {
+ title: "Landsat 9",
+ description: {
+ blurb: [
+ "The Landsat program offers the longest continuous global record of the Earth’s surface, supplying more than 40 years of imagery of the entire surface of Earth.",
+ ],
+ more: [
+ "It is the ninth satellite in the Landsat program; the eigth to reach orbit successfully. Originally called the Landsat Data Continuity Mission (LDCM), it is a collaboration between NASA and the United States Geological Survey (USGS). NASA Goddard Space Flight Center in Greenbelt, Maryland, provided development, mission systems engineering, and acquisition of the launch vehicle while the USGS provided for development of the ground systems and will conduct on-going mission operations. It comprises the camera of the Operational Land Imager (OLI) and the Thermal Infrared Sensor (TIRS) which can be used to study earth surface temperature and is used to study global warming.",
+ ],
+ },
+ dates: {
+ start: "2021-09-27T18:11:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sc_landsat_7", "sc_landsat_8"],
+ },
+ sc_lcross: {
+ title: "LCROSS",
+ description: {
+ blurb: [
+ "NASA's Lunar Crater Observation and Sensing Satellite (LCROSS) was launched with the Lunar Reconnaissance Orbiter to determine if water-ice exists in a permanently shadowed crater at the Moon's south pole.",
+ ],
+ more: [
+ "The identification of water is very important to the future of human activities on the Moon. LCROSS remained paired to its upper stage centaur until reaching the south pole of the moon. The centaur was then separated from LCROSS and intentionally crashed into the south pole of the Moon. The impact ejected material from the crater's floor to create a plume that specialized instruments have been able to analyze for the presence of water (ice and vapor), hydrocarbons and hydrated materials. About fifteeen minutes after the upper stage centaur impacted, LCROSS also intentionally crashed into the perpetually dark floor of the Moon's polar crater Cabeus.",
+ ],
+ },
+ dates: {
+ start: "2009-06-18T21:32:00",
+ end: "2009-10-09T11:37:00",
+ landing: "",
+ },
+ parent: "moon",
+ related: ["sc_lunar_reconnaissance_orbiter", "moon"],
+ },
+ sc_lucy: {
+ title: "Lucy",
+ description: {
+ blurb: [
+ "The Lucy spacecraft will explore a record-breaking number of asteroids, flying by two asteroids in the solar system’s main asteroid belt, and by eight Trojan asteroids that share an orbit around the Sun with Jupiter.",
+ ],
+ link: "https://science.nasa.gov/mission/lucy/",
+ more: [
+ "Trojan asteroids associated with Jupiter are thought to be remnants of the primordial material that formed the outer planets. These primitive bodies may hold clues to the history of solar system formation. Lucy is the first mission to visit the Trojans.",
+ ],
+ },
+ dates: {
+ start: "2021-10-16T09:34:00",
+ end: "",
+ landing: "",
+ },
+ related: [
+ "jupiter",
+ "152830_dinkinesh",
+ "52246_donaldjohanson",
+ "3548_eurybates",
+ "15094_polymele",
+ "11351_leucus",
+ "21900_orus",
+ "617_patroclus",
+ ],
+ },
+ sc_lunar_flashlight: {
+ title: "Lunar Flashlight",
+ description: {
+ blurb: [
+ "Roughly the size of a briefcase, Lunar Flashlight is a very small satellite that uses near-infrared lasers and an onboard spectrometer to map ice in permanently shadowed regions near the Moon's south pole.",
+ ],
+ more: [
+ 'The observations made by the low-cost mission provide unambiguous information about the presence of water ice deposits inside craters that would be an valuable in-situ resource for future Artemis missions to the lunar surface. As a technology demonstration mission, Lunar Flashlight showcases several technological firsts, including being the first mission to look for water ice using a laser reflectometer and the first planetary CubeSat mission to use "green" propulsion - a propellant that is less toxic and safer than hydrazine, a common propellant used by spacecraft.',
+ ],
+ },
+ dates: {
+ start: "2022-11-30T09:45:00",
+ end: "",
+ landing: "",
+ },
+ related: ["moon", "sc_artemis_1"],
+ },
+ sc_lunar_prospector: {
+ title: "Lunar Prospector",
+ description: {
+ blurb: [
+ "NASA's Lunar Prospector orbited the Moon for almost 19 months to map its surface composition and to look for polar ice.",
+ ],
+ more: [
+ "The probe found evidence suggesting water ice at both poles. The mission ended in July of 1999 with the spacecraft impacting the lunar surface, creating a dust cloud that was studied from Earth.",
+ ],
+ },
+ dates: {
+ start: "1998-01-07T02:28:44",
+ end: "1999-07-31T09:52:02",
+ landing: "",
+ },
+ parent: "moon",
+ related: ["moon"],
+ },
+ sc_lunar_reconnaissance_orbiter: {
+ title: "Lunar Reconnaissance Orbiter",
+ description: {
+ blurb: [
+ "The Lunar Reconnaissance Orbiter (LRO) was launched in 2009 on the first U.S. mission to the Moon in over 10 years.",
+ ],
+ more: [
+ "LRO’s primary goal was to make a 3D map of the Moon’s surface from lunar polar orbit as part of a high-resolution mapping program to identify landing sites and potential resources, to investigate the radiation environment, and to prove new technologies in anticipation of future automated and human missions to the surface of the Moon.The LRO instruments return global data, such as day-night temperature maps, a global geodetic grid, high resolution color imaging and the moon's UV albedo. However there is particular emphasis on the polar regions of the moon where continuous access to solar illumination may be possible and the prospect of water in the permanently shadowed regions at the poles may exist.",
+ ],
+ },
+ dates: {
+ start: "2009-06-18T21:32:00",
+ end: "",
+ landing: "",
+ },
+ parent: "moon",
+ related: ["sc_lcross", "moon", "sc_lunar_prospector", "sc_ladee"],
+ },
+ sc_magellan: {
+ title: "Magellan",
+ description: {
+ blurb: [
+ "NASA's Magellan mission was the first spacecraft to image the entire surface of Venus and made several discoveries about the planet.",
+ ],
+ more: [
+ "The Magellan probe was the first interplanetary mission to be launched from the Space Shuttle, the first mission to map the entire surface of Venus, and the first spacecraft to test aerobraking as a method for circularizing its orbit. Magellan was the fifth successful NASA mission to Venus, and it ended an eleven-year gap in U.S. interplanetary probe launches. It self-destructed in the Venusian atmosphere in 1994.",
+ ],
+ },
+ dates: {
+ start: "1989-05-04T18:47:00",
+ end: "1994-10-13T10:05:00",
+ landing: "",
+ },
+ parent: "venus",
+ related: ["venus"],
+ },
+ sc_marco_a: {
+ title: "MarCO A",
+ description: {
+ blurb: ["MarCO was the first mission to test CubeSats in deep space"],
+ more: [
+ "Launching with the InSight mission to Mars, the twin spacecraft provided an experimental communications relay to let scientists on Earth know quickly about InSight's landing.",
+ ],
+ },
+ dates: {
+ start: "2018-05-05T11:05:00",
+ end: "2019-01-04T00:00:00",
+ landing: "",
+ },
+ related: [],
+ },
+ sc_marco_b: {
+ title: "MarCO B",
+ description: {
+ blurb: ["MarCO was the first mission to test CubeSats in deep space"],
+ more: [
+ "Launching with the InSight mission to Mars, the twin spacecraft provided an experimental communications relay to let scientists on Earth know quickly about InSight's landing.",
+ ],
+ },
+ dates: {
+ start: "2018-05-05T11:05:00",
+ end: "2018-12-29T00:00:00",
+ landing: "",
+ },
+ related: [],
+ },
+ sc_mars_express: {
+ title: "Mars Express",
+ description: {
+ blurb: [
+ "The Mars Express mission is exploring the planet Mars, and is the first planetary mission attempted by the European Space Agency (ESA).",
+ ],
+ more: [
+ "NASA is participating in a mission of the European Space Agency and the Italian Space Agency called Mars Express, which has been exploring the atmosphere and surface of Mars from polar orbit since arriving at the red planet on December 26, 2003. The mission's main objective is to search for sub-surface water from orbit. Seven scientific instruments on the orbiting spacecraft have conducted rigorous investigations to help answer fundamental questions about the geology, atmosphere, surface environment, history of water, and potential for life on Mars. Examples of discoveries - still debated by scientists -- by Mars Express are evidence of recent glacial activity, explosive volcanism, and methane gas.",
+ "Mars Express is so called because it will be built more quickly than any other comparable planetary mission.",
+ ],
+ },
+ dates: {
+ start: "2003-06-02T17:45:00",
+ end: "",
+ landing: "",
+ },
+ related: ["mars"],
+ parent: "mars",
+ },
+ sc_mars_global_surveyor: {
+ title: "Mars Global Surveyor",
+ description: {
+ blurb: [
+ "Mars Global Surveyor was a global mapping mission that examined the entire planet, from the ionosphere down through the atmosphere to the surface.",
+ ],
+ more: [
+ "During its mission, Mars Global Surveyor also produced the first three-dimensional profiles of Mars’ North Pole using laser altimeter readings. In addition, the laser altimeter essentially mapped almost all of the planet, by firing approximately 500 billion pulses at the surface, providing topographical data that was more detailed than many places on Earth. The spacecraft’s primary mission concluded on Feb. 1, 2001, by which time it had returned 83,000 images of Mars, more than all previous missions to Mars combined. It continued to operate until late 2006.",
+ ],
+ },
+ dates: {
+ start: "1996-11-07T17:00:00",
+ end: "2006-11-02T00:00:00",
+ landing: "",
+ },
+ parent: "mars",
+ related: ["mars"],
+ },
+ sc_mars_odyssey: {
+ title: "Mars Odyssey",
+ description: {
+ blurb: [
+ "Still in orbit around Mars, 2001 Mars Odyssey holds the record for the longest continually active spacecraft in orbit around a planet other than Earth.",
+ ],
+ more: [
+ "Mars Odyssey was designed to investigate the Martian environment, providing key information on its surface and the radiation hazards future explorers might face. The goal was to map the chemical and mineralogical makeup of Mars as a step to detecting evidence of past or present water and volcanic activity on Mars. One of Mars Odyssey’s most exciting findings came early in the mission. In May 2002, NASA announced that the probe had identified large amounts of hydrogen in the soil, implying the presence of ice below the planet’s surface. During its many years in Martian orbit, Mars Odyssey globally mapped the amount and distribution of the numerous chemical elements and minerals in the Martian surface and also tracked the radiation environment in low Mars orbit, both necessary before humans can effectively explore the Martian surface.",
+ "By mid-2016, the THEMIS instrument had returned more than 208,000 images in visible-light wavelengths and more than 188,000 in thermal-infrared wavelengths.",
+ ],
+ },
+ dates: {
+ start: "2001-04-07T15:02:22",
+ end: "",
+ landing: "",
+ },
+ related: ["mars"],
+ parent: "mars",
+ },
+ sc_mars_reconnaissance_orbiter: {
+ title: "Mars Reconnaissance Orbiter",
+ description: {
+ blurb: [
+ "Mars Reconnaissance Orbiter (MRO) is a large orbiter, modeled in part on NASA’s highly successful Mars Global Surveyor spacecraft, designed to photograph Mars from orbit.",
+ ],
+ more: [
+ "Mars Reconnaissance Orbiter is designed to track changes in the water and dust in Mars' atmosphere, look for more evidence of ancient seas and hot springs and peer into past Martian climate changes by studying surface minerals and layering. The orbiter carries a powerful camera capable of taking sharp images of surface features the size of a beach ball. The orbiter also serves as a data relay station for other Mars missions.",
+ ],
+ },
+ dates: {
+ start: "2005-08-12T11:43:00",
+ end: "",
+ landing: "",
+ },
+ related: ["mars", "sc_mars_global_surveyor"],
+ parent: "mars",
+ },
+ sc_maven: {
+ title: "MAVEN",
+ description: {
+ blurb: [
+ "NASA's MAVEN is currently orbiting Mars studying the structure and composition of the upper atmosphere of the Red Planet.",
+ ],
+ more: [
+ "The Mars Atmosphere and Volatile Evolution Mission (MAVEN) is the first mission dedicated to studying Mars’ upper atmosphere. The goal is to use this data to determine how the loss of volatiles from the Martian atmosphere has affected the Martian climate over time, and thus contribute to a better understanding of terrestrial climatology.",
+ ],
+ },
+ dates: {
+ start: "2013-11-18T18:28:00",
+ end: "",
+ landing: "",
+ },
+ related: ["mars"],
+ parent: "mars",
+ },
+ sc_messenger: {
+ title: "MESSENGER",
+ description: {
+ blurb: [
+ "MESSENGER was a NASA robotic space probe that orbited the planet Mercury between 2011 and 2015, studying Mercury's chemical composition, geology, and magnetic field.",
+ ],
+ more: [
+ "MESSENGER (Mercury Surface, Space Environment, Geochemistry and Ranging) was the first spacecraft to orbit Mercury. Among its accomplishments, the mission determined Mercury’s surface composition, revealed its geological history, discovered details about its internal magnetic field, and verified its polar deposits are dominantly water-ice. The mission ended when MESSENGER slammed into Mercury’s surface.",
+ ],
+ },
+ dates: {
+ start: "2004-08-03T06:15:56",
+ end: "2015-04-30T19:26:00",
+ landing: "",
+ highlight: "2015-04-30T18:26:00",
+ },
+ parent: "mercury",
+ related: ["mercury"],
+ },
+ sc_mcubed_2: {
+ title: "MCubed-2",
+ description: {
+ blurb: [
+ "MCubed-2 is a CubeSat (a miniaturized satellite) built by students at the University of Michigan in collaboration with NASA.",
+ ],
+ more: [
+ "MCubed-2, short for Michigan Multipurpose Minisat 2, was designed as a technology demonstrator for a new FPGA-based image processing system intended for a future NASA mission.",
+ ],
+ },
+ dates: {
+ start: "2013-12-06",
+ end: "",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_mms_1: {
+ title: "MMS 1",
+ description: {
+ blurb: [
+ "MMS consists of four identical spacecraft that orbit around Earth through the dynamic magnetic system surrounding our planet to study a little-understood phenomenon called magnetic reconnection.",
+ ],
+ more: [
+ "The Magnetospheric Multiscale (MMS) mission is a Solar Terrestrial Probes mission comprising four identically instrumented spacecraft that will use Earth's magnetosphere as a laboratory to study the microphysics of three fundamental plasma processes: magnetic reconnection, energetic particle acceleration, and turbulence. These processes occur in all astrophysical plasma systems but can be studied in situ only in our solar system and most efficiently only in Earth's magnetosphere, where they control the dynamics of the geospace environment and play an important role in the processes known as \"space weather.\"",
+ ],
+ },
+ dates: {
+ start: "2015-03-13T02:44:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["earth", "sc_mms_2", "sc_mms_3", "sc_mms_4"],
+ },
+ sc_mms_2: {
+ title: "MMS 2",
+ description: {
+ blurb: [
+ "MMS consists of four identical spacecraft that orbit around Earth through the dynamic magnetic system surrounding our planet to study a little-understood phenomenon called magnetic reconnection.",
+ ],
+ more: [
+ "The Magnetospheric Multiscale (MMS) mission is a Solar Terrestrial Probes mission comprising four identically instrumented spacecraft that will use Earth's magnetosphere as a laboratory to study the microphysics of three fundamental plasma processes: magnetic reconnection, energetic particle acceleration, and turbulence. These processes occur in all astrophysical plasma systems but can be studied in situ only in our solar system and most efficiently only in Earth's magnetosphere, where they control the dynamics of the geospace environment and play an important role in the processes known as \"space weather.\"",
+ ],
+ },
+ dates: {
+ start: "2015-03-13T02:44:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["earth", "sc_mms_1", "sc_mms_3", "sc_mms_4"],
+ },
+ sc_mms_3: {
+ title: "MMS 3",
+ description: {
+ blurb: [
+ "MMS consists of four identical spacecraft that orbit around Earth through the dynamic magnetic system surrounding our planet to study a little-understood phenomenon called magnetic reconnection.",
+ ],
+ more: [
+ "The Magnetospheric Multiscale (MMS) mission is a Solar Terrestrial Probes mission comprising four identically instrumented spacecraft that will use Earth's magnetosphere as a laboratory to study the microphysics of three fundamental plasma processes: magnetic reconnection, energetic particle acceleration, and turbulence. These processes occur in all astrophysical plasma systems but can be studied in situ only in our solar system and most efficiently only in Earth's magnetosphere, where they control the dynamics of the geospace environment and play an important role in the processes known as \"space weather.\"",
+ ],
+ },
+ dates: {
+ start: "2015-03-13T02:44:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["earth", "sc_mms_1", "sc_mms_2", "sc_mms_4"],
+ },
+ sc_mms_4: {
+ title: "MMS 4",
+ description: {
+ blurb: [
+ "MMS consists of four identical spacecraft that orbit around Earth through the dynamic magnetic system surrounding our planet to study a little-understood phenomenon called magnetic reconnection.",
+ ],
+ more: [
+ "The Magnetospheric Multiscale (MMS) mission is a Solar Terrestrial Probes mission comprising four identically instrumented spacecraft that will use Earth's magnetosphere as a laboratory to study the microphysics of three fundamental plasma processes: magnetic reconnection, energetic particle acceleration, and turbulence. These processes occur in all astrophysical plasma systems but can be studied in situ only in our solar system and most efficiently only in Earth's magnetosphere, where they control the dynamics of the geospace environment and play an important role in the processes known as \"space weather.\"",
+ ],
+ },
+ dates: {
+ start: "2015-03-13T02:44:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["earth", "sc_mms_1", "sc_mms_2", "sc_mms_3"],
+ },
+ sc_near_shoemaker: {
+ title: "NEAR Shoemaker",
+ description: {
+ blurb: [
+ "NASA's NEAR Shoemaker spacecraft was the first human-made object to orbit and the first to land an asteroid.",
+ ],
+ link: "https://solarsystem.nasa.gov/missions/near-shoemaker/in-depth/",
+ more: [
+ "The NEAR mission studied the near-Earth asteroid Eros from close orbit over a period of a year, and also flew by the asteroid Mathilde. The mission succeeded in closing in with the asteroid and orbited it several times, finally ending by touching down on the asteroid on February 12, 2001.",
+ ],
+ },
+ dates: {
+ start: "1996-02-17T20:43:27",
+ end: "2001-02-28T00:00:00",
+ landing: "2001-02-12T12:56:00",
+ },
+ related: ["433_eros", "253_mathilde"],
+ },
+ sc_new_horizons: {
+ title: "New Horizons",
+ description: {
+ blurb: [
+ "New Horizons is a NASA mission to study the dwarf planet Pluto, its moons, and other objects in the Kuiper Belt, a region of the solar system that extends from about 30 AU, near the orbit of Neptune, to about 50 AU from the Sun.",
+ ],
+ more: [
+ "New Horizons was the first spacecraft to encounter Pluto, a relic from the formation of the solar system. By the time it reached the Pluto system, the spacecraft had traveled farther away and for a longer time period (more than nine years) than any previous deep space spacecraft ever launched. On July 14, 2015, New Horizons flew about 4,800 miles (7,800 kilometers) above the surface of Pluto. Besides collecting data on Pluto and Charon (the Charon flyby was at about 17,900 miles or 28,800 kilometers), New Horizons also observed Pluto’s other satellites, Nix, Hydra, Kerberos and Styx.",
+ "The download of the entire set of data collected during the encounter with Pluto and Charon—about 6.25 gigabytes—took over 15 months and was officially completed at 21:48 UT Oct. 25, 2016. Such a lengthy period was necessary because the spacecraft was roughly 4.5 light-hours from Earth and it could only transmit 1-2 kilobits per second. On Jan. 1, 2019, New Horizons flew past Arrokoth (previously named 2014 MU69 and also called Ultima Thule), the most distant target in history. The New Horizons mission is currently exploring additional Kuiper Belt objects.",
+ ],
+ },
+ dates: {
+ start: "2006-01-19T19:52:00",
+ end: "",
+ landing: "",
+ },
+ parent: "outer_solar_system",
+ related: [
+ "134340_pluto",
+ "charon",
+ "hydra",
+ "nix",
+ "styx",
+ "486958_arrokoth",
+ ],
+ },
+ sc_nustar: {
+ title: "NuSTAR",
+ description: {
+ blurb: [
+ "The Nuclear Spectroscopic Telescope Array (NuSTAR) mission has deployed the first orbiting telescopes to focus light in the high energy X-ray region of the electromagnetic spectrum. Our view of the universe in this spectral window has been limited because previous orbiting telescopes have not employed true focusing optics, but rather have used coded apertures that have intrinsically high backgrounds and limited sensitivity.",
+ "In addition to its core science program, NuSTAR will offer opportunities for a broad range of science investigations, ranging from probing cosmic ray origins to studying the extreme physics around collapsed stars to mapping microflares on the surface of the Sun. NuSTAR will also respond to targets of opportunity including supernovae and gamma-ray bursts.",
+ ],
+ readmore: [""],
+ },
+ dates: {
+ start: "2012-06-13T16:00:37",
+ end: "",
+ landing: "",
+ },
+ related: ["earth", "sc_chandra"],
+ },
+ sc_oco_2: {
+ title: "OCO-2",
+ description: {
+ blurb: [
+ "The Orbiting Carbon Observatory 2, or OCO-2, is an Earth satellite mission designed to study the sources and sinks of carbon dioxide globally and provide scientists with a better idea of how carbon is contributing to climate change.",
+ ],
+ more: [
+ "The OCO-2 Project primary science objective is to collect the first space-based measurements of atmospheric carbon dioxide with the precision, resolution and coverage needed to characterize its sources and sinks and quantify their variability over the seasonal cycle.OCO-2 flies in a sun-synchronous, near-polar orbit with a group of Earth-orbiting satellites with synergistic science objectives. Near-global coverage of the sunlit portion of Earth is provided in this orbit over a 16-day (233-revolution) repeat cycle. OCO-2’s single instrument incorporates three high-resolution grating spectrometers, designed to measure the near-infrared absorption of reflected sunlight by carbon dioxide and molecular oxygen.",
+ ],
+ },
+ dates: {
+ start: "2014-07-02T09:56:23",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["earth", "sc_iss_oco3"],
+ },
+ sc_osiris_rex: {
+ title: "OSIRIS-APEX (OSIRIS-REx)",
+ description: {
+ blurb: [
+ "NASA’s OSIRIS-REx was the first U.S. mission to deliver an asteroid sample to Earth on September 24th, 2023. The spacecraft, renamed OSIRIS-APEX after the delivery, is now headed to asteroid Apophis for a 2029 rendezvous.",
+ ],
+ link: "https://www.nasa.gov/osiris-rex",
+ more: [
+ 'OSIRIS-APEX is an acronym for "Origins, Spectral Interpretation, Resource Identification, Security-Apophis Explorer." Originally named OSIRIS-REx ("Regolith Explorer"), the goal of the mission was to collect a sample weighing 2.1 ounces (59.5 grams) from near-Earth asteroid 101955 Bennu and then to bring the sample to Earth.',
+ "The mission, developed by scientists at the University of Arizona, will give scientists more information about how the early solar system formed and about how life began. It will also help us better understand asteroids that could impact Earth in the future. On October 20th, 2020, approximately 121.6 grams of material from the surface of Bennu was successfully collected. On May 10th, 2021, the spacecraft left Bennu after nearly two years in orbit to begin the two-year voyage back to Earth.",
+ "On Sept. 24, 2023, the OSIRIS-REx spacecraft flew by Earth to release the capsule carrying the asteroid sample for a parachute landing. The sample capsule deployed its parachute at an altitude of about 1.9 miles (3 kilometers), bringing it in for a soft landing at the Utah Test and Training Range about 80 miles (130 kilometers) west of Salt Lake City, Utah.",
+ "The capsule was sent to Johnson Space Center in Houston, Texas, where scientists at the Astromaterials Acquisition and Curation Office will catalog it and set aside portions of the sample for partners in the Japanese and Canadian space agencies. The spacecraft collected 121.6 grams of material from Bennu. ",
+ "The main spacecraft (now renamed OSIRIS-APEX) will continue on to investigate the asteroid 99942 Apophis.",
+ "",
+ ],
+ },
+ dates: {
+ start: "2016-09-08T23:05:00",
+ end: "",
+ landing: "",
+ },
+ related: ["101955_bennu", "99942_apophis", "sc_osiris_rex_src"],
+ },
+ sc_osiris_rex_src: {
+ title: "OSIRIS-REx Sample Return Capsule",
+ description: {
+ blurb: [
+ "On September 24th, 2023, the OSIRIS-REx sample return capsule re-entered Earth's atmosphere and landed using a parachute in the state of Utah in the United States.",
+ ],
+ more: [
+ "The OSIRIS-REx Sample Return Capsule (SRC) is an aeroshell design container with a heat shield and parachutes. The capsule contains 121.6 grams of material from the surface of the asteroid Bennu. The capsule containing the material from Bennu was the only part of the spacecraft to return to Earth. The spacecraft itself then changed to a new mission called OSIRIS-APEX and will proceed to study the asteroid Apophis. Lockheed Martin developed the SRC from a heritage design; the Stardust mission utilized a similar design to return tail material from Comet Wild 2 to Earth in 2006.",
+ ],
+ },
+ dates: {
+ start: "2023-09-24T01:00:00", // coercing again
+ end: "2023-09-24T01:00:01", // ignore
+ landing: "",
+ highlight: "2023-09-24T10:44:00",
+ },
+ parent: "earth",
+ related: ["101955_bennu", "sc_osiris_rex"],
+ },
+ sc_pace: {
+ title: "PACE",
+ description: {
+ blurb: [
+ "Plankton, Aerosol, Cloud, ocean Ecosystem (PACE) is a NASA Earth-observing satellite mission that will continue and advance observations of global ocean color, biogeochemistry, and ecology, as well as the carbon cycle, aerosols and clouds.",
+ ],
+ more: [
+ "PACE will advance the assessment of ocean health by measuring the distribution of phytoplankton, tiny plants and algae that sustain the marine food web. It will also continue systematic records of key atmospheric variables associated with air quality and Earth's climate. PACE's data will help us better understand how the ocean and atmosphere exchange carbon dioxide. Novel uses of PACE data will benefit our economy and society; for example, it will help identify the extent and duration of harmful algal blooms. PACE will extend and expand NASA's long-term observations of our living planet. By doing so, it will take Earth's pulse in new ways for decades to come.",
+ ],
+ },
+ dates: {
+ start: "2024-02-08T06:33:00",
+ end: "",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_parker_solar_probe: {
+ title: "Parker Solar Probe",
+ description: {
+ blurb: [
+ 'NASA\'s Parker Solar Probe is on a mission to "touch the Sun." The spacecraft is flying closer to the Sun’s surface than any spacecraft before it. The mission will revolutionize our understanding of the Sun.',
+ ],
+ more: [
+ "NASA's Parker Solar Probe is diving into the Sun’s atmosphere, facing brutal heat and radiation, on a mission to give humanity its first-ever sampling of a star’s atmosphere.",
+ "During its journey, the mission will provide answers to long-standing questions that have puzzled scientists for more than 60 years: Why is the corona much hotter than the Sun's surface (the photosphere)? How does the solar wind accelerate? What are the sources of high-energy solar particles?",
+ "We live in the Sun's atmosphere and this mission will help scientists better understand the Sun's impact on Earth.",
+ "Data from Parker will be key to understanding and, perhaps, forecasting space weather. Space weather can change the orbits of satellites, shorten their lifetimes, or interfere with onboard electronics.",
+ "On its final three orbits, Parker Solar Probe will fly to within 3.9 million miles (6.2 million kilometers) of the Sun’s surface—more than seven times closer than the current record holder for a close solar pass: the Helios 2 spacecraft. Helios came within 27 million miles (43 million kilometers) in 1976.",
+ "Parker can survive these conditions because cutting-edge thermal engineering advances protect the spacecraft during its dangerous journey.",
+ "The probe has four instrument suites designed to study magnetic fields, plasma and energetic particles, and image the solar wind.",
+ "The mission is named for Dr. Eugene N. Parker, who pioneered our modern understanding of the Sun.",
+ ],
+ },
+ dates: {
+ start: "2018-08-12T07:31",
+ end: "",
+ landing: "",
+ },
+ related: ["sun", "sc_ulysses"],
+ },
+ sc_philae: {
+ title: "Philae",
+ description: {
+ blurb: [
+ "The European Space Agency's Rosetta was the first mission designed to orbit and land on a comet. It consisted of an orbiter and a lander -- called Philae.",
+ ],
+ more: [
+ "On November 12th, 2014, the Philae probe successfully detached from Rosetta and landed on the surface of the comet 67P/Churyumov-Gerasimenko. Philae actually bounced off the surface of the comet twice, and its location was not known precisely for some time. Philae completed 80 percent of its planned first science sequence, returning spectacular images of its surroundings, showing a surface covered by dust and debris ranging in size from inches to a yard (millimeters to a meter).",
+ ],
+ },
+ dates: {
+ start: "2004-03-02T07:17:51",
+ end: "2016-09-30T10:39:28",
+ landing: "2014-11-12T17:32:00",
+ highlight: "2014-11-12T14:31:00",
+ },
+ parent: "67p_churyumov_gerasimenko",
+ related: ["67p_churyumov_gerasimenko", "sc_rosetta"],
+ },
+ sc_pioneer_10: {
+ title: "Pioneer 10",
+ description: {
+ blurb: [
+ "Launched in 1972, Pioneer 10 was the first spacecraft to visit Jupiter. Its mission ended in 2003, but it is one of four spacecraft (including the two Voyagers and Pioneer 11) carrying a message from Earth beyond our solar system.",
+ ],
+ more: [
+ "Pioneer 10, the first NASA mission to the outer planets, garnered a series of firsts perhaps unmatched by any other robotic spacecraft in the space era: the first vehicle placed on a trajectory to escape the solar system into interstellar space; the first spacecraft to fly beyond Mars; the first to fly through the asteroid belt; the first to fly past Jupiter; and the first to use all-nuclear electrical power.",
+ ],
+ },
+ dates: {
+ start: "1972-03-02",
+ end: "2003-01-23",
+ landing: "",
+ },
+ parent: "outer_solar_system",
+ related: ["sc_pioneer_11", "sc_voyager_1", "sc_voyager_2", "jupiter"],
+ },
+ sc_pioneer_11: {
+ title: "Pioneer 11",
+ description: {
+ blurb: [
+ "Launched in 1973, Pioneer 11 was the first spacecraft to fly past Saturn. Its mission ended in 1995, but it is one of four spacecraft (including the two Voyagers and Pioneer 10) carrying a message from Earth beyond our solar system.",
+ ],
+ more: [
+ "Pioneer 11, the sister spacecraft to Pioneer 10, was the first human-made object to fly past Saturn and also returned the first pictures of the polar regions of Jupiter. Among Pioneer 11’s many discoveries at Saturn were a narrow ring outside the A ring named the F ring and a new satellite 124 miles (200 kilometers) in diameter.",
+ ],
+ },
+ dates: {
+ start: "1973-04-06",
+ end: "1995-09-30",
+ landing: "",
+ },
+ parent: "outer_solar_system",
+ related: [
+ "sc_pioneer_10",
+ "sc_voyager_1",
+ "sc_voyager_2",
+ "saturn",
+ "jupiter",
+ ],
+ },
+ sc_polar: {
+ title: "Polar",
+ description: {
+ blurb: [
+ "The Polar satellite was a NASA science spacecraft designed to study the polar magnetosphere and aurorae.",
+ ],
+ more: [
+ "Launched in 1996, the Polar mission gathered multi-wavelength imaging of the aurora, measured the entry of plasma into the polar magnetosphere and the geomagnetic tail, the flow of plasma to and from the ionosphere, and the deposition of particle energy in the ionosphere and upper atmosphere.",
+ ],
+ },
+ dates: {
+ start: "1996-02-24T11:24:00",
+ end: "2008-04-28T00:00:00",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_psyche: {
+ title: "Psyche",
+ description: {
+ blurb: [
+ "The Psyche mission launched on October 13th, 2023, and will explore the origin of planetary cores by studying the metallic asteroid of the same name.",
+ ],
+ link: "https://www.jpl.nasa.gov/missions/psyche",
+ more: [
+ "Deep within the terrestrial planets, including Earth, scientists infer the presence of metallic cores, but these lie unreachably far below the planets’ rocky mantles and crusts. The asteroid Psyche offers a unique window into these building blocks of planet formation and the opportunity to investigate a previously unexplored type of world.",
+ ],
+ },
+ dates: {
+ start: "2023-10-12T15:26:00",
+ end: "",
+ landing: "",
+ },
+ related: [],
+ },
+ sc_quikscat: {
+ title: "QuikSCAT",
+ description: {
+ blurb: [
+ "The NASA QuikSCAT (Quick Scatterometer) was an Earth observation satellite designed to measure wind speeds over the ocean.",
+ ],
+ more: [
+ "Its primary mission was to measure the surface wind speed and direction over the ice-free global oceans. Observations from QuikSCAT had a wide array of applications, and contributed to climatological studies, weather forecasting, meteorology, oceanographic research, marine safety, commercial fishing, tracking large icebergs, and studies of land and sea ice, among others.",
+ ],
+ },
+ dates: {
+ start: "1999-06-19T02:15:00",
+ end: "2018-10-02T00:00:00",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["earth", "sc_iss_rapidscat"],
+ },
+ sc_raincube: {
+ title: "RainCube",
+ description: {
+ blurb: [
+ "RainCube is a CubeSat (a type of miniature satellite) that is designed to test technology and monitor precipitation.",
+ ],
+ more: [
+ "RainCube has three main objectives: Develop, launch, and operate the first radar instrument on a CubeSat (6U), demonstrate new technologies and provide space validation for a Ka-band (35.75 GHz) precipitation profiling radar, and enable future precipitation profiling Earth science missions on a low-cost, quick-turnaround platform. RainCube was launched directly from the International Space Station.",
+ ],
+ },
+ dates: {
+ start: "2018-05-21T00:00:00",
+ end: "2020-12-24T00:00:00",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_rbsp_a: {
+ title: "Van Allen Probe A",
+ description: {
+ blurb: [
+ "The Van Allen Probes were two robotic spacecraft that were used to study the Van Allen radiation belts that surround Earth.",
+ ],
+ more: [
+ 'A Van Allen radiation belt is a zone of energetic charged particles, most of which originate from the solar wind, that are captured by and held around a planet by that planet\'s magnetic field. The Van Allen Probes were built to study these areas of "space weather" in more detail.',
+ ],
+ },
+ dates: {
+ start: "2012-08-30T08:05:00",
+ end: "2019-10-18T00:00:00",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["earth", "sc_rbsp_b"],
+ },
+ sc_rbsp_b: {
+ title: "Van Allen Probe B",
+ description: {
+ blurb: [
+ "The Van Allen Probes were two robotic spacecraft that were used to study the Van Allen radiation belts that surround Earth.",
+ ],
+ more: [
+ 'A Van Allen radiation belt is a zone of energetic charged particles, most of which originate from the solar wind, that are captured by and held around a planet by that planet\'s magnetic field. The Van Allen Probes were built to study these areas of "space weather" in more detail.',
+ ],
+ },
+ dates: {
+ start: "2012-08-30T08:05:00",
+ end: "2019-07-19T00:00:00",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["earth", "sc_rbsp_a"],
+ },
+ sc_sac_d: {
+ title: "Aquarius",
+ description: {
+ blurb: [
+ "The Aquarius mission, also known as SAC-D, has an instrument also called Aquarius that measured sea surface salinity.",
+ ],
+ more: [
+ "The Aquarius instrument's surface salinity measurements contributed to a better understanding of ocean dynamics and advancing climate and ocean models, both from season to season and year to year.",
+ ],
+ },
+ dates: {
+ start: "2011-06-10T14:20:00",
+ end: "2015-06-07T00:00:00",
+ landing: "",
+ },
+ related: [],
+ },
+ sc_rosetta: {
+ title: "Rosetta",
+ description: {
+ blurb: [
+ "Rosetta was a European Space Agency mission that was the first spacecraft to orbit a comet, 67P/Churyumov-Gerasimenko.",
+ ],
+ link: "https://www.esa.int/Enabling_Support/Operations/Rosetta",
+ more: [
+ "The mission was launched on 2 March 2004, on a 10-year journey towards comet 67P/Churyumov-Gerasimenko. En route, it passed by two asteroids, 2867 Steins (in 2008) and 21 Lutetia (in 2010), before entering deep-space hibernation mode in June 2011. On 20 January 2014, it 'woke up' and prepared for arrival at the comet in August that year. On 12 November, the mission deployed its Philae probe to the comet, the first time in history that such a feat was achieved.",
+ ],
+ },
+ dates: {
+ start: "2004-03-02T09:40:51",
+ end: "2016-09-30T10:39:28",
+ landing: "2014-11-12T17:32:00",
+ },
+ related: ["67p_churyumov_gerasimenko", "21_lutetia", "2867_steins"],
+ },
+ sc_sdo: {
+ title: "Solar Dynamics Observatory",
+ description: {
+ blurb: [
+ "The Solar Dynamics Observatory (SDO) is the first mission to be launched for NASA's Living With a Star (LWS) Program, a program designed to understand the causes of solar variability and its impacts on Earth.",
+ ],
+ more: [
+ "SDO is designed to help us understand the Sun's influence on Earth and Near-Earth space by studying the solar atmosphere on small scales of space and time and in many wavelengths simultaneously.",
+ ],
+ },
+ dates: {
+ start: "2010-02-11T15:23:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sun"],
+ },
+ sc_sentinel_6: {
+ title: "Sentinel-6 Michael Freilich",
+ description: {
+ blurb: [
+ "Sentinel-6 Michael Freilich measures sea level height worldwide, continuing the work of the Jason-3 satellite.",
+ ],
+ more: [
+ "The first of two identical satellites to be launched five years apart, Sentinel-6 Michael Freilich will make high precision ocean altimetry measurements to continue the work previously done by Jason-1, Jason-2/OSTM, and the Jason-3 missions.",
+ "A secondary objective is to collect high resolution vertical profiles of temperature and water vapor through the Radio Occultation instrument. This is used to help numerical weather predictions.",
+ ],
+ },
+ dates: {
+ start: "2020-11-21T17:17:08",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["earth", "sc_jason_3", "sc_jason_2"],
+ },
+ sc_smap: {
+ title: "SMAP",
+ description: {
+ blurb: [
+ "The Soil Moisture Active Passive (SMAP) mission is an orbiting observatory that measures the amount of water in the surface soil everywhere on Earth.",
+ ],
+ more: [
+ "The Soil Moisture Active Passive (SMAP) satellite maps global soil moisture and detects whether soils are frozen or thawed. This mission helps scientists understand the links between Earth's water, energy and carbon cycles; reduce uncertainties in predicting weather and climate; and enhance our ability to monitor and predict natural hazards such as floods and droughts. SMAP is designed to measure soil moisture, every 2-3 days. This permits changes, around the world, to be observed over time scales ranging from major storms to repeated measurements of changes over the seasons.",
+ "Everywhere on Earth not covered with water or not frozen, SMAP measures how much water is in the top layer of soil. It also distinguishes between ground that is frozen or thawed. Where the ground is not frozen, SMAP measures the amount of water found between the minerals, rocky material, and organic particles found in soil everywhere in the world (SMAP measures liquid water in the top layer of ground but is not able to measure the ice.)",
+ ],
+ },
+ dates: {
+ start: "2015-01-31T14:22:00",
+ end: "",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_soho: {
+ title: "SOHO",
+ description: {
+ blurb: [
+ "SOHO is the longest-lived Sun-watching satellite to date. Numerous mission extensions have enabled the spacecraft to observe two 11-year solar cycles and to discover thousands of comets.",
+ ],
+ more: [
+ "The ESA-sponsored Solar and Heliospheric Observatory (SOHO) carries 12 scientific instruments to study the solar atmosphere, helioseismology and the solar wind. Information from the mission has allowed scientists to learn more about the Sun’s internal structure and dynamics, the chromosphere, the corona and solar particles.",
+ ],
+ },
+ dates: {
+ start: "1995-12-02",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sun", "sc_sdo", "sc_stereo_ahead", "sc_stereo_behind"],
+ },
+ sc_sorce: {
+ title: "SORCE",
+ description: {
+ blurb: [
+ "The Solar Radiation and Climate Experiment (SORCE) was a NASA-sponsored satellite mission that measured incoming X-ray, ultraviolet, visible, near-infrared, and total solar radiation.",
+ ],
+ more: [
+ "The measurements provided by SORCE specifically address long-term climate change, natural variability and enhanced climate prediction, and atmospheric ozone and UV-B radiation. These measurements are critical to studies of the Sun; its effect on our Earth system; and its influenceon humankind. SORCE ended its mission in 2020.",
+ ],
+ },
+ dates: {
+ start: "2003-01-25T20:13:35",
+ end: "2020-02-25T00:00:00",
+ landing: "",
+ },
+ related: ["earth", "sun"],
+ },
+ sc_spitzer: {
+ title: "Spitzer Space Telescope",
+ description: {
+ blurb: [
+ "NASA's Spitzer was the first telescope to detect light from an exoplanet, or a planet outside our solar system.",
+ ],
+ more: [
+ "The Spitzer Space Telescope (formerly the Space Infrared Telescope Facility or SIRTF) was the fourth and last of NASA’s “Great Observatories,” and carried a 34-inch (85-centimeter) infrared telescope to study asteroids, comets, planets and distant galaxies. It was retired in January of 2020.",
+ ],
+ },
+ dates: {
+ start: "2003-08-25T05:35:39",
+ end: "2020-01-30T00:00:00",
+ landing: "",
+ },
+ related: ["sc_hubble_space_telescope", "sc_chandra"],
+ },
+ sc_stardust: {
+ title: "Stardust",
+ description: {
+ blurb: [
+ "NASA's Stardust was the first spacecraft to bring samples from a comet to Earth.",
+ ],
+ link: "https://solarsystem.nasa.gov/missions/stardust/in-depth/",
+ more: [
+ "Its primary goal was to fly by the Comet Wild 2, collect samples of dust from the coma of the comet as well as additional interstellar particles, and then bring the samples to Earth. In 2006, the sample return capsule re-entered Earth's atmosphere and landed in Utah, and the sampes have been studied ever since. After dropping off the samples at Earth, the spacecraft visited Comet Tempel 1 in 2011, and then the mission ended shortly thereafter.",
+ ],
+ },
+ dates: {
+ start: "1999-02-07T22:10:00",
+ end: "2011-03-24T23:33:00",
+ landing: "2006-01-15T10:12:00",
+ },
+ related: ["81p_wild_2", "earth", "9p_tempel_1"],
+ },
+ sc_stereo_ahead: {
+ title: "STEREO Ahead",
+ description: {
+ blurb: [
+ 'The twin STEREO spacecraft studied the structure and evolution of solar storms as they emerge from the Sun. STEREO A("Ahead") remains active.',
+ ],
+ more: [
+ "STEREO (Solar Terrestrial Relations Observatory), the third mission in NASA’s Solar Terrestrial Probes (STP) program, consisted of two space-based observatories to study the structure and evolution of solar storms as they emerge from the Sun and move out through space.",
+ "The two spacecraft, one ahead of Earth in its orbit and the other trailing behind, provided the first stereoscopic images of the Sun, and collected data on the nature of its coronal mass ejections (CMEs), represented by large bursts of solar wind, solar plasma, and magnetic fields that are ejected into space. CMEs can disrupt communications, power grids, satellite operations, and air travel here on Earth. The orbital periods of STEREO A and STEREO B were 347 days and 387 days, respectively. The two spacecraft separate from each other at a (combined) annual rate of 44 degrees. At various points, the spacecraft were separated from each other by 90 degrees and 180 degrees. The latter occurred Feb. 6, 2011, allowing the entire Sun to be seen at once for the first time by any set of spacecraft.",
+ ],
+ },
+ dates: {
+ start: "2006-10-26T00:52:00",
+ end: "",
+ landing: "",
+ },
+ related: ["sun", "earth", "sc_stereo_behind", "sc_sdo", "sc_soho"],
+ },
+ sc_stereo_behind: {
+ title: "STEREO Behind",
+ description: {
+ blurb: [
+ 'The twin STEREO spacecraft studied the structure and evolution of solar storms as they emerge from the Sun. STEREO B ("Behind") is no longer active.',
+ ],
+ more: [
+ "STEREO (Solar Terrestrial Relations Observatory), the third mission in NASA’s Solar Terrestrial Probes (STP) program, consisted of two space-based observatories to study the structure and evolution of solar storms as they emerge from the Sun and move out through space.",
+ "The two spacecraft, one ahead of Earth in its orbit and the other trailing behind, provided the first stereoscopic images of the Sun, and collected data on the nature of its coronal mass ejections (CMEs), represented by large bursts of solar wind, solar plasma, and magnetic fields that are ejected into space. CMEs can disrupt communications, power grids, satellite operations, and air travel here on Earth. The orbital periods of STEREO A and STEREO B were 347 days and 387 days, respectively. The two spacecraft separate from each other at a (combined) annual rate of 44 degrees. At various points, the spacecraft were separated from each other by 90 degrees and 180 degrees. The latter occurred Feb. 6, 2011, allowing the entire Sun to be seen at once for the first time by any set of spacecraft.",
+ ],
+ },
+ dates: {
+ start: "2006-10-26T00:52:00",
+ end: "2016-09-23T00:00:00",
+ landing: "",
+ },
+ related: ["sun", "earth", "sc_stereo_behind", "sc_sdo", "sc_soho"],
+ },
+ sc_tdrs_3: {
+ title: "TDRS-3",
+ description: {
+ blurb: [
+ "A tracking and data relay satellite (TDRS) is a type of communications satellite that forms part of the Tracking and Data Relay Satellite System (TDRSS) used by NASA and other United States government agencies for communications to and from satellites and remote ground stations.",
+ ],
+ more: [
+ "Platforms such as satellites, balloons, aircraft, the International Space Station, and remote bases like the Amundsen-Scott South Pole Station are served by the TRDR system, which places satellites in geosynchronous orbit. It was designed to replace an existing worldwide network of ground stations that had supported all of NASA's crewed flight missions and uncrewed satellites in low-Earth orbits. The primary system design goal was to increase the amount of time that these spacecraft were in communication with the ground and improve the amount of data that could be transferred.",
+ ],
+ },
+ dates: {
+ start: "1988-09-29T15:37:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "earth",
+ "sc_tdrs_5",
+ "sc_tdrs_6",
+ "sc_tdrs_7",
+ "sc_tdrs_8",
+ "sc_tdrs_9",
+ "sc_tdrs_10",
+ "sc_tdrs_11",
+ ],
+ },
+ sc_tdrs_5: {
+ title: "TDRS-5",
+ description: {
+ blurb: [
+ "A tracking and data relay satellite (TDRS) is a type of communications satellite that forms part of the Tracking and Data Relay Satellite System (TDRSS) used by NASA and other United States government agencies for communications to and from satellites and remote ground stations.",
+ ],
+ more: [
+ "Platforms such as satellites, balloons, aircraft, the International Space Station, and remote bases like the Amundsen-Scott South Pole Station are served by the TRDR system, which places satellites in geosynchronous orbit. It was designed to replace an existing worldwide network of ground stations that had supported all of NASA's crewed flight missions and uncrewed satellites in low-Earth orbits. The primary system design goal was to increase the amount of time that these spacecraft were in communication with the ground and improve the amount of data that could be transferred.",
+ ],
+ },
+ dates: {
+ start: "1991-08-02T15:02:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "earth",
+ "sc_tdrs_3",
+ "sc_tdrs_6",
+ "sc_tdrs_7",
+ "sc_tdrs_8",
+ "sc_tdrs_9",
+ "sc_tdrs_10",
+ "sc_tdrs_11",
+ ],
+ },
+ sc_tdrs_6: {
+ title: "TDRS-6",
+ description: {
+ blurb: [
+ "A tracking and data relay satellite (TDRS) is a type of communications satellite that forms part of the Tracking and Data Relay Satellite System (TDRSS) used by NASA and other United States government agencies for communications to and from satellites and remote ground stations.",
+ ],
+ more: [
+ "Platforms such as satellites, balloons, aircraft, the International Space Station, and remote bases like the Amundsen-Scott South Pole Station are served by the TRDR system, which places satellites in geosynchronous orbit. It was designed to replace an existing worldwide network of ground stations that had supported all of NASA's crewed flight missions and uncrewed satellites in low-Earth orbits. The primary system design goal was to increase the amount of time that these spacecraft were in communication with the ground and improve the amount of data that could be transferred.",
+ ],
+ },
+ dates: {
+ start: "1993-01-13T13:59:30",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "earth",
+ "sc_tdrs_3",
+ "sc_tdrs_5",
+ "sc_tdrs_7",
+ "sc_tdrs_8",
+ "sc_tdrs_9",
+ "sc_tdrs_10",
+ "sc_tdrs_11",
+ ],
+ },
+ sc_tdrs_7: {
+ title: "TDRS-7",
+ description: {
+ blurb: [
+ "A tracking and data relay satellite (TDRS) is a type of communications satellite that forms part of the Tracking and Data Relay Satellite System (TDRSS) used by NASA and other United States government agencies for communications to and from satellites and remote ground stations.",
+ ],
+ more: [
+ "Platforms such as satellites, balloons, aircraft, the International Space Station, and remote bases like the Amundsen-Scott South Pole Station are served by the TRDR system, which places satellites in geosynchronous orbit. It was designed to replace an existing worldwide network of ground stations that had supported all of NASA's crewed flight missions and uncrewed satellites in low-Earth orbits. The primary system design goal was to increase the amount of time that these spacecraft were in communication with the ground and improve the amount of data that could be transferred.",
+ ],
+ },
+ dates: {
+ start: "1995-07-13T13:59:30",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "earth",
+ "sc_tdrs_3",
+ "sc_tdrs_5",
+ "sc_tdrs_6",
+ "sc_tdrs_8",
+ "sc_tdrs_9",
+ "sc_tdrs_10",
+ "sc_tdrs_11",
+ ],
+ },
+ sc_tdrs_8: {
+ title: "TDRS-8",
+ description: {
+ blurb: [
+ "A tracking and data relay satellite (TDRS) is a type of communications satellite that forms part of the Tracking and Data Relay Satellite System (TDRSS) used by NASA and other United States government agencies for communications to and from satellites and remote ground stations.",
+ ],
+ more: [
+ "Platforms such as satellites, balloons, aircraft, the International Space Station, and remote bases like the Amundsen-Scott South Pole Station are served by the TRDR system, which places satellites in geosynchronous orbit. It was designed to replace an existing worldwide network of ground stations that had supported all of NASA's crewed flight missions and uncrewed satellites in low-Earth orbits. The primary system design goal was to increase the amount of time that these spacecraft were in communication with the ground and improve the amount of data that could be transferred.",
+ ],
+ },
+ dates: {
+ start: "2000-06-30T12:56:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "earth",
+ "sc_tdrs_3",
+ "sc_tdrs_5",
+ "sc_tdrs_6",
+ "sc_tdrs_7",
+ "sc_tdrs_9",
+ "sc_tdrs_10",
+ "sc_tdrs_11",
+ ],
+ },
+ sc_tdrs_9: {
+ title: "TDRS-9",
+ description: {
+ blurb: [
+ "A tracking and data relay satellite (TDRS) is a type of communications satellite that forms part of the Tracking and Data Relay Satellite System (TDRSS) used by NASA and other United States government agencies for communications to and from satellites and remote ground stations.",
+ ],
+ more: [
+ "Platforms such as satellites, balloons, aircraft, the International Space Station, and remote bases like the Amundsen-Scott South Pole Station are served by the TRDR system, which places satellites in geosynchronous orbit. It was designed to replace an existing worldwide network of ground stations that had supported all of NASA's crewed flight missions and uncrewed satellites in low-Earth orbits. The primary system design goal was to increase the amount of time that these spacecraft were in communication with the ground and improve the amount of data that could be transferred.",
+ ],
+ },
+ dates: {
+ start: "2002-03-08T22:59:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "earth",
+ "sc_tdrs_3",
+ "sc_tdrs_5",
+ "sc_tdrs_6",
+ "sc_tdrs_7",
+ "sc_tdrs_8",
+ "sc_tdrs_10",
+ "sc_tdrs_11",
+ ],
+ },
+ sc_tdrs_10: {
+ title: "TDRS-10",
+ description: {
+ blurb: [
+ "A tracking and data relay satellite (TDRS) is a type of communications satellite that forms part of the Tracking and Data Relay Satellite System (TDRSS) used by NASA and other United States government agencies for communications to and from satellites and remote ground stations.",
+ ],
+ more: [
+ "Platforms such as satellites, balloons, aircraft, the International Space Station, and remote bases like the Amundsen-Scott South Pole Station are served by the TRDR system, which places satellites in geosynchronous orbit. It was designed to replace an existing worldwide network of ground stations that had supported all of NASA's crewed flight missions and uncrewed satellites in low-Earth orbits. The primary system design goal was to increase the amount of time that these spacecraft were in communication with the ground and improve the amount of data that could be transferred.",
+ ],
+ },
+ dates: {
+ start: "2002-12-05T02:42:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "earth",
+ "sc_tdrs_3",
+ "sc_tdrs_5",
+ "sc_tdrs_6",
+ "sc_tdrs_7",
+ "sc_tdrs_8",
+ "sc_tdrs_9",
+ "sc_tdrs_11",
+ ],
+ },
+ sc_tdrs_11: {
+ title: "TDRS-11",
+ description: {
+ blurb: [
+ "A tracking and data relay satellite (TDRS) is a type of communications satellite that forms part of the Tracking and Data Relay Satellite System (TDRSS) used by NASA and other United States government agencies for communications to and from satellites and remote ground stations.",
+ ],
+ more: [
+ "Platforms such as satellites, balloons, aircraft, the International Space Station, and remote bases like the Amundsen-Scott South Pole Station are served by the TRDR system, which places satellites in geosynchronous orbit. It was designed to replace an existing worldwide network of ground stations that had supported all of NASA's crewed flight missions and uncrewed satellites in low-Earth orbits. The primary system design goal was to increase the amount of time that these spacecraft were in communication with the ground and improve the amount of data that could be transferred.",
+ ],
+ },
+ dates: {
+ start: "2013-01-31T01:48:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "earth",
+ "sc_tdrs_3",
+ "sc_tdrs_5",
+ "sc_tdrs_6",
+ "sc_tdrs_7",
+ "sc_tdrs_8",
+ "sc_tdrs_9",
+ "sc_tdrs_10",
+ ],
+ },
+ sc_tdrs_12: {
+ title: "TDRS-12",
+ description: {
+ blurb: [
+ "A tracking and data relay satellite (TDRS) is a type of communications satellite that forms part of the Tracking and Data Relay Satellite System (TDRSS) used by NASA and other United States government agencies for communications to and from satellites and remote ground stations.",
+ ],
+ more: [
+ "Platforms such as satellites, balloons, aircraft, the International Space Station, and remote bases like the Amundsen-Scott South Pole Station are served by the TRDR system, which places satellites in geosynchronous orbit. It was designed to replace an existing worldwide network of ground stations that had supported all of NASA's crewed flight missions and uncrewed satellites in low-Earth orbits. The primary system design goal was to increase the amount of time that these spacecraft were in communication with the ground and improve the amount of data that could be transferred.",
+ ],
+ },
+ dates: {
+ start: "2014-01-24T02:33:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "earth",
+ "sc_tdrs_3",
+ "sc_tdrs_5",
+ "sc_tdrs_6",
+ "sc_tdrs_7",
+ "sc_tdrs_8",
+ "sc_tdrs_9",
+ "sc_tdrs_10",
+ "sc_tdrs_11",
+ ],
+ },
+ sc_tdrs_13: {
+ title: "TDRS-13",
+ description: {
+ blurb: [
+ "A tracking and data relay satellite (TDRS) is a type of communications satellite that forms part of the Tracking and Data Relay Satellite System (TDRSS) used by NASA and other United States government agencies for communications to and from satellites and remote ground stations.",
+ ],
+ more: [
+ "Platforms such as satellites, balloons, aircraft, the International Space Station, and remote bases like the Amundsen-Scott South Pole Station are served by the TRDR system, which places satellites in geosynchronous orbit. It was designed to replace an existing worldwide network of ground stations that had supported all of NASA's crewed flight missions and uncrewed satellites in low-Earth orbits. The primary system design goal was to increase the amount of time that these spacecraft were in communication with the ground and improve the amount of data that could be transferred.",
+ ],
+ },
+ dates: {
+ start: "2017-08-18T12:29:00",
+ end: "",
+ landing: "",
+ },
+ related: [
+ "earth",
+ "sc_tdrs_3",
+ "sc_tdrs_5",
+ "sc_tdrs_6",
+ "sc_tdrs_7",
+ "sc_tdrs_8",
+ "sc_tdrs_9",
+ "sc_tdrs_10",
+ "sc_tdrs_11",
+ "sc_tdrs_12",
+ ],
+ },
+ sc_suomi_npp: {
+ title: "Suomi NPP",
+ description: {
+ blurb: [
+ "The Suomi National Polar-orbiting Partnership, or Suomi NPP, is a weather satellite operated by the United States National Oceanic and Atmospheric Administration.",
+ ],
+ more: [
+ "NPP represents a critical first step in building the next-generation Earth-observing satellite system that will collect data on long-term climate change and short-term weather conditions. NPP is the result of a partnership between NASA, the National Oceanic and Atmospheric Administration, and the Department of Defense.",
+ "NPP will extend and improve upon the Earth system data records established by NASA's Earth Observing System fleet of satellites that have provided critical insights into the dynamics of the entire Earth system: clouds, oceans, vegetation, ice, solid Earth and atmosphere.",
+ ],
+ },
+ dates: {
+ start: "2011-10-28T09:48:01.828",
+ end: "",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_swot: {
+ title: "SWOT",
+ description: {
+ blurb: [
+ "SWOT (Surface Water & Ocean Topography) will make the first global survey of Earth's surface water, observe the fine details of the ocean's surface topography, and measure how water bodies change over time.",
+ ],
+ },
+ dates: {
+ start: "2022-12-16T13:00:00",
+ end: "",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_tempo: {
+ title: "TEMPO",
+ description: {
+ blurb: [
+ "The Tropospheric Emissions: Monitoring of Pollution (TEMPO) mission measures atmospheric pollution covering most of North America on an hourly basis and at high spatial resolution.",
+ ],
+ more: [
+ "Hosted on the Intelsat 40E, the TEMPO instrument is a UV-visible spectrometer, and is the first ever space-based instrument to monitor air pollutants hourly across the North American continent during daytime. It collects high-resolution measurements of ozone, nitrogen dioxide and other pollutants, data which will revolutionize air quality forecasts.",
+ ],
+ },
+ dates: {
+ start: "2023-04-07T04:30:00",
+ end: "",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_terra: {
+ title: "Terra",
+ description: {
+ blurb: [
+ "Terra explores the connections between Earth's atmosphere, land, snow and ice, ocean, and energy balance to understand Earth's climate and climate change and to map the impact of human activity and natural disasters on communities and ecosystems.",
+ ],
+ more: [
+ "Terra carries five instruments that observe Earth’s atmosphere, ocean, land, snow and ice, and energy budget. Taken together, these observations provide unique insight into how the Earth system works and how it is changing. Terra observations reveal humanity’s impact on the planet and provide crucial data about natural hazards like fire and volcanoes. Terra is an international mission carrying instruments from the United States, Japan, and Canada.",
+ ],
+ },
+ dates: {
+ start: "1999-12-18T18:57:39",
+ end: "",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_tess: {
+ title: "TESS",
+ description: {
+ blurb: [
+ "NASA’s Transiting Exoplanet Survey Satellite is an all-sky survey mission that will discover thousands of exoplanets around nearby bright stars.",
+ ],
+ more: [
+ "The Transiting Exoplanet Survey Satellite (TESS) is the next step in the search for planets outside of our solar system, including those that could support life. The mission will find exoplanets that periodically block part of the light from their host stars, events called transits. TESS will survey 200,000 of the brightest stars near the sun to search for transiting exoplanets. TESS launched on April 18, 2018, aboard a SpaceX Falcon 9 rocket.",
+ "TESS scientists expect the mission will catalog thousands of planet candidates and vastly increase the current number of known exoplanets. Of these, approximately 300 are expected to be Earth-sized and super-Earth-sized exoplanets, which are worlds no larger than twice the size of Earth. TESS will find the most promising exoplanets orbiting our nearest and brightest stars, giving future researchers a rich set of new targets for more comprehensive follow-up studies.",
+ ],
+ },
+ dates: {
+ start: "2018-04-18T22:51:31",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "sc_kepler_space_telescope",
+ "sc_spitzer",
+ "sc_hubble_space_telescope",
+ ],
+ },
+ sc_themis_a: {
+ title: "THEMIS A",
+ description: {
+ blurb: [
+ "The Time History of Events and Macroscale Interactions during Substorms (THEMIS) mission began in February 2007 as a constellation of five NASA satellites (THEMIS A through THEMIS E) to study energy releases from Earth's magnetosphere known as substorms.",
+ ],
+ more: [
+ "The THEMIS mission was originally five satellites designed to study the Earth's magnetosphere and the storms it creates. Three of the satellites orbit the Earth within the magnetosphere, while two have been moved into orbit around the Moon. Those two were renamed ARTEMIS for Acceleration, Reconnection, Turbulence and Electrodynamics of the Moon's Interaction with the Sun. THEMIS B became ARTEMIS P1 and THEMIS C became ARTEMIS P2. ARTEMIS P1 and P2 together comprise the THEMIS-ARTEMIS mission. The three THEMIS spacecraft continue to collect data about the sun's interaction with Earth's magnetosphere.",
+ ],
+ },
+ dates: {
+ start: "2007-02-17T23:01:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "earth",
+ "sc_themis_b",
+ "sc_themis_c",
+ "sc_themis_d",
+ "sc_themis_e",
+ ],
+ },
+ sc_themis_b: {
+ title: "ARTEMIS P1",
+ description: {
+ blurb: [
+ "The separate spacecraft ARTEMIS P1 and P2 together comprise the THEMIS-ARTEMIS mission, which studies the moon's interaction with the Sun. It is an offshoot of the THEMIS mission.",
+ ],
+ more: [
+ "Launched in 2007, the THEMIS mission was originally five satellites designed to study the Earth's magnetosphere and the storms it creates. Three of the satellites orbit the Earth within the magnetosphere, while two have been moved into orbit around the Moon. Those two were renamed ARTEMIS for Acceleration, Reconnection, Turbulence and Electrodynamics of the Moon's Interaction with the Sun. THEMIS B became ARTEMIS P1 and THEMIS C became ARTEMIS P2. ARTEMIS P1 and P2 together comprise the THEMIS-ARTEMIS mission. They currently are in stable long-term orbits of the moon.",
+ ],
+ },
+ dates: {
+ start: "2007-02-17T23:01:00",
+ end: "",
+ landing: "",
+ },
+ parent: "moon",
+ related: [
+ "earth",
+ "sc_themis_a",
+ "sc_themis_c",
+ "sc_themis_d",
+ "sc_themis_e",
+ ],
+ },
+ sc_themis_c: {
+ title: "ARTEMIS P2",
+ description: {
+ blurb: [
+ "The separate spacecraft ARTEMIS P1 and P2 together comprise the THEMIS-ARTEMIS mission, which studies the moon's interaction with the Sun. It is an offshoot of the THEMIS mission.",
+ ],
+ more: [
+ "Launched in 2007, the THEMIS mission was originally five satellites designed to study the Earth's magnetosphere and the storms it creates. Three of the satellites orbit the Earth within the magnetosphere, while two have been moved into orbit around the Moon. Those two were renamed ARTEMIS for Acceleration, Reconnection, Turbulence and Electrodynamics of the Moon's Interaction with the Sun. THEMIS B became ARTEMIS P1 and THEMIS C became ARTEMIS P2. ARTEMIS P1 and P2 together comprise the THEMIS-ARTEMIS mission. They currently are in stable long-term orbits of the moon.",
+ ],
+ },
+ dates: {
+ start: "2007-02-17T23:01:00",
+ end: "",
+ landing: "",
+ },
+ parent: "moon",
+ related: [
+ "earth",
+ "sc_themis_a",
+ "sc_themis_b",
+ "sc_themis_d",
+ "sc_themis_e",
+ ],
+ },
+ sc_themis_d: {
+ title: "THEMIS D",
+ description: {
+ blurb: [
+ "The Time History of Events and Macroscale Interactions during Substorms (THEMIS) mission began in February 2007 as a constellation of five NASA satellites (THEMIS A through THEMIS E) to study energy releases from Earth's magnetosphere known as substorms.",
+ ],
+ more: [
+ "The THEMIS mission was originally five satellites designed to study the Earth's magnetosphere and the storms it creates. Three of the satellites orbit the Earth within the magnetosphere, while two have been moved into orbit around the Moon. Those two were renamed ARTEMIS for Acceleration, Reconnection, Turbulence and Electrodynamics of the Moon's Interaction with the Sun. THEMIS B became ARTEMIS P1 and THEMIS C became ARTEMIS P2. ARTEMIS P1 and P2 together comprise the THEMIS-ARTEMIS mission. The three THEMIS spacecraft continue to collect data about the sun's interaction with Earth's magnetosphere.",
+ ],
+ },
+ dates: {
+ start: "2007-02-17T23:01:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "earth",
+ "sc_themis_a",
+ "sc_themis_b",
+ "sc_themis_c",
+ "sc_themis_e",
+ ],
+ },
+ sc_themis_e: {
+ title: "THEMIS E",
+ description: {
+ blurb: [
+ "The Time History of Events and Macroscale Interactions during Substorms (THEMIS) mission began in February 2007 as a constellation of five NASA satellites (THEMIS A through THEMIS E) to study energy releases from Earth's magnetosphere known as substorms.",
+ ],
+ more: [
+ "The THEMIS mission was originally five satellites designed to study the Earth's magnetosphere and the storms it creates. Three of the satellites orbit the Earth within the magnetosphere, while two have been moved into orbit around the Moon. Those two were renamed ARTEMIS for Acceleration, Reconnection, Turbulence and Electrodynamics of the Moon's Interaction with the Sun. THEMIS B became ARTEMIS P1 and THEMIS C became ARTEMIS P2. ARTEMIS P1 and P2 together comprise the THEMIS-ARTEMIS mission. The three THEMIS spacecraft continue to collect data about the sun's interaction with Earth's magnetosphere.",
+ ],
+ },
+ dates: {
+ start: "2007-02-17T23:01:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: [
+ "earth",
+ "sc_themis_a",
+ "sc_themis_b",
+ "sc_themis_c",
+ "sc_themis_d",
+ ],
+ },
+ sc_trace_gas_orbiter: {
+ title: "Trace Gas Orbiter",
+ description: {
+ blurb: [
+ "The ExoMars Trace Gas Orbiter (ExoMars TGO) is searching for methane and other trace gases in the Martian atmosphere that could be evidence of possible biological or geological activity. The orbiter is the first in a series of joint missions between the European Space Agency (ESA) and Roscosmos, the Russian space agency.",
+ ],
+ more: [
+ "The ExoMars Trace Gas Orbiter (TGO) was designed to search for trace gases in the Martian atmosphere such as methane, water vapor, nitrogen oxides and acetylene. These gases could provide evidence for possible biological or geological activity on Mars. Organisms on Earth release methane during digestion, although geological processes such as the oxidation of minerals can also release methane.",
+ "ExoMars also will monitor seasonal changes in the Martian atmosphere and will look for water-ice beneath the surface. Information gathered during the mission will help decide landing sites for future ESA missions.",
+ ],
+ },
+ dates: {
+ start: "2016-03-14T09:31:00",
+ end: "",
+ landing: "",
+ },
+ related: ["mars"],
+ parent: "mars",
+ },
+ sc_trmm: {
+ title: "TRMM",
+ description: {
+ blurb: [
+ "The Tropical Rainfall Measuring Mission (TRMM) was a joint mission between NASA and the Japan Aerospace Exploration (JAXA) Agency to study rainfall for weather and climate research.",
+ ],
+ more: [
+ "TRMM delivered a unique 17-year dataset of global tropical rainfall and lightning. The TRMM dataset became the space standard for measuring precipitation, and led to research that improved our understanding of tropical cyclone structure and evolution, convective system properties, lightning-storm relationships, climate and weather modeling, and human impacts on rainfall.",
+ ],
+ },
+ dates: {
+ start: "1997-11-27T21:27:00",
+ end: "2015-04-15T00:00:00",
+ landing: "",
+ },
+ related: ["earth"],
+ },
+ sc_ulysses: {
+ title: "Ulysses",
+ description: {
+ blurb: [
+ "The Ulysses mission made nearly three complete orbits of the Sun during more than 18 years in service.",
+ ],
+ more: [
+ 'Ulysses was launched in 1990 and made three "fast latitude scans" of the Sun in 1994/1995, 2000/2001, and 2007/2008. In addition, the probe studied several comets. The vehicle was designed to fly a unique trajectory that would use a gravity assist from Jupiter to take it out of the plane of the solar system. Ulysses found that the solar wind has become progressively weaker over the last 50 years.',
+ ],
+ },
+ dates: {
+ start: "1990-10-06T11:47:16",
+ end: "2009-06-30T00:00:00",
+ landing: "",
+ },
+ related: ["sun", "jupiter", "sc_parker_solar_probe"],
+ },
+ sc_voyager_1: {
+ title: "Voyager 1",
+ description: {
+ blurb: [
+ "No spacecraft has gone farther than NASA's Voyager 1. Launched in 1977 to fly by Jupiter and Saturn, Voyager 1 crossed into interstellar space in August 2012 and continues to collect data.",
+ ],
+ more: [
+ "NASA's Voyager 1 was launched after Voyager 2, but because of a faster route, it exited the asteroid belt earlier than its twin, having overtaken Voyager 2 on Dec. 15, 1977. The twin Voyager 1 and 2 spacecraft are exploring where no spacecraft from Earth has flown before. Continuing on their more-than-40-year journey since their 1977 launches, they each are much farther away from Earth and the sun than Pluto. In August 2012, Voyager 1 made the historic entry into interstellar space, the region between stars, filled with material ejected by the death of nearby stars millions of years ago. Voyager 2 entered interstellar space on November 5, 2018 and scientists hope to learn more about this region. Both spacecraft are still sending scientific information about their surroundings through the Deep Space Network, or DSN. The primary mission was the exploration of Jupiter and Saturn. After making a string of discoveries there — such as active volcanoes on Jupiter's moon Io and intricacies of Saturn's rings — the mission was extended. Voyager 2 went on to explore Uranus and Neptune, and is still the only spacecraft to have visited those outer planets. The adventurers' current mission, the Voyager Interstellar Mission (VIM), will explore the outermost edge of the Sun's domain. And beyond.",
+ ],
+ },
+ dates: {
+ start: "1977-09-05T12:56:00",
+ end: "",
+ landing: "",
+ },
+ parent: "outer_solar_system",
+ related: ["sc_voyager_2", "jupiter", "saturn", "titan"],
+ },
+ sc_voyager_2: {
+ title: "Voyager 2",
+ description: {
+ blurb: [
+ "NASA's Voyager 2 is the second spacecraft to enter interstellar space. On Dec. 10, 2018, the spacecraft joined its twin—Voyager 1—as the only human-made objects to enter the space between the stars.",
+ ],
+ more: [
+ "The twin Voyager 1 and 2 spacecraft are exploring where no spacecraft from Earth has flown before. Continuing on their more-than-40-year journey since their 1977 launches, they each are much farther away from Earth and the sun than Pluto. Voyager 2 entered interstellar space on November 5, 2018 and scientists hope to learn more about this region. Both spacecraft are still sending scientific information about their surroundings through the Deep Space Network, or DSN.",
+ "The primary mission was the exploration of Jupiter and Saturn. After making a string of discoveries there — such as active volcanoes on Jupiter's moon Io and intricacies of Saturn's rings — the mission was extended. Voyager 2 went on to explore Uranus and Neptune, and is still the only spacecraft to have visited those outer planets. The adventurers' current mission, the Voyager Interstellar Mission (VIM), will explore the outermost edge of the Sun's domain. And beyond.",
+ ],
+ },
+ dates: {
+ start: "1977-08-20T14:29:00",
+ end: "",
+ landing: "",
+ },
+ parent: "outer_solar_system",
+ related: ["sc_voyager_1", "jupiter", "saturn", "uranus", "neptune"],
+ },
+ sc_wind: {
+ title: "WIND",
+ description: {
+ blurb: [
+ "The Wind spacecraft observes the solar wind that is about to impact the magnetosphere of Earth.",
+ ],
+ },
+ dates: {
+ start: "1994-11-01T09:31:00",
+ end: "",
+ landing: "",
+ },
+ parent: "earth",
+ related: ["sun"],
+ },
+ valetudo: {
+ title: "Valetudo",
+ description: {
+ blurb: [
+ "This tiny moon of Jupiter was first spotted in 2017. The discovery announcement was made in July 2018.",
+ ],
+ more: [
+ "Valetudo is named after the Roman god Jupiter’s great-granddaughter, the goddess of health and hygiene.",
+ ],
+ },
+ related: [],
+ },
+};
diff --git a/experiences/asteroids/web/app.css b/experiences/asteroids/web/app.css
new file mode 100644
index 0000000..f9f9e93
--- /dev/null
+++ b/experiences/asteroids/web/app.css
@@ -0,0 +1,9452 @@
+/*!************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/settings/settings.css ***!
+ \************************************************************************************************************************************************************************************************/
+.settings {
+ display: none;
+ justify-content: flex-end;
+ transition: transform 1s ease-in-out;
+ margin-left: auto;
+}
+
+.settings.active {
+ display: flex;
+ align-items: flex-end;
+ align-self: end;
+
+ /* Animation */
+ -webkit-animation-name: fade-in-bottom;
+ animation-name: fade-in-bottom;
+ -webkit-animation-duration: 0.95s;
+ animation-duration: 0.95s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+}
+
+.settings.vertical {
+ flex-direction: column;
+}
+
+.settings.horizontal {
+ flex-direction: row;
+}
+
+.settings.hidden {
+ display: flex;
+
+ /* Animation */
+ -webkit-animation-name: fade-out-bottom;
+ animation-name: fade-out-bottom;
+ -webkit-animation-duration: 1s;
+ animation-duration: 1s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+}
+
+/* Buttons */
+.settings button {
+ padding: 0;
+ outline: 0;
+}
+
+.settings button.zoom-in {
+ margin-bottom: 0;
+}
+
+.settings button span {
+ opacity: 0.4;
+}
+
+.settings button.hidden {
+ display: none;
+}
+
+/* Container */
+.settings .container {
+ display: block;
+ position: relative;
+ flex-basis: auto;
+ transition: all 1s;
+ overflow: hidden;
+}
+
+.settings .container.active {
+ flex-grow: 1;
+ flex-shrink: 1;
+}
+
+.settings .container.hidden {
+ flex-grow: 0;
+}
+
+.settings.vertical .container {
+ width: 100%;
+}
+
+.settings.horizontal .container {
+ height: 100%;
+}
+
+/* Overlay */
+.settings .overlay-bg {
+ opacity: 0.6;
+ width: 100vw;
+ height: var(--vh);
+ margin-right: -20px;
+ z-index: 100;
+ position: fixed;
+ background-color: var(--black);
+}
+
+/* Content */
+.settings .container .content {
+ position: absolute;
+ overflow: hidden;
+ height: 100%;
+ display: grid;
+}
+
+.settings.vertical .container .content {
+ grid-auto-flow: row;
+ row-gap: 2px;
+ align-items: end;
+}
+
+.settings.horizontal .container .content {
+ grid-auto-flow: column;
+ -moz-column-gap: 2px;
+ column-gap: 2px;
+ align-items: start;
+}
+
+/* Toggle */
+.settings.vertical .toggle {
+ margin-top: 2px;
+}
+
+/* Zoom button */
+.settings .zoom {
+ margin: 0;
+}
+
+.settings .horizontal-line {
+ background: var(--grayDark);
+ box-sizing: border-box;
+ margin: auto;
+}
+
+.settings.vertical .zoom {
+ display: grid;
+ grid-template-rows: 30px 2px 30px;
+ grid-template-columns: 30px;
+}
+
+.settings.vertical .horizontal-line {
+ height: 2px;
+ width: 22px;
+}
+
+.settings.horizontal .zoom {
+ display: flex;
+}
+
+.settings.horizontal .horizontal-line {
+ height: 22px;
+ width: 2px;
+ display: inline-block;
+}
+
+/* Lighting options */
+.settings .lighting-option-container {
+ right: 34px;
+ bottom: 34px;
+ padding: 8px 10px;
+ position: fixed;
+ background: var(--bgGradient);
+ border-radius: 3px;
+ z-index: 101;
+}
+
+.settings .lighting-option {
+ display: grid;
+ grid-template-columns: auto auto;
+ gap: 8px;
+ align-items: center;
+ padding: 4px 0;
+}
+
+.settings .lighting-option .title {
+ opacity: 0.4;
+ white-space: nowrap;
+ pointer-events: none;
+}
+
+.settings .lighting-option-container .lighting-option.selected-lighting span {
+ opacity: 1;
+}
+
+.settings .lighting-option .lighting-icon {
+ min-width: 16px;
+ pointer-events: none;
+}
+
+/* 480x320 phones and above */
+@media only screen and (min-width: 320px) {
+ .settings {
+ margin-left: auto;
+ }
+
+ .settings.active {
+ -webkit-animation-name: fade-in-bottom;
+ animation-name: fade-in-bottom;
+ -webkit-animation-duration: 0.95s;
+ animation-duration: 0.95s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ }
+
+ .settings.hidden {
+ display: flex;
+ -webkit-animation-name: fade-out-bottom;
+ animation-name: fade-out-bottom;
+ -webkit-animation-duration: 1s;
+ animation-duration: 1s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ }
+
+ .settings .container .content {
+ row-gap: 2px;
+ }
+
+ .settings .overlay-bg {
+ bottom: -105px;
+ }
+}
+
+/* Landscape. 480x320 phones and above */
+@media only screen and (min-width: 320px) and (orientation: landscape) {
+ .settings .overlay-bg {
+ bottom: -10px;
+ right: -56px;
+ }
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .settings .overlay-bg {
+ bottom: -25px;
+ right: unset;
+ }
+}
+
+/*!**************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/load_icon/load_icon.css ***!
+ \**************************************************************************************************************************************************************************************************/
+.load-icon {
+ position: fixed;
+ width: 80px;
+ height: 80px;
+ top: 50%;
+ left: 50%;
+ z-index: 1000;
+ display: flex;
+ flex-wrap: wrap;
+ transform: translate(-50%, -50%);
+ transition: transform 0.5s var(--ease-out-bezier);
+}
+
+.load-icon.hidden {
+ display: none;
+}
+
+/* Offsets */
+.load-icon.offset-right {
+ transform: translate(calc(var(--offset-right-sm, 0) - 50%), -50%);
+ transition-duration: 0.8s;
+}
+
+.load-icon.offset-up {
+ transform: translate(-50%, calc(-50% - var(--offset-up, 0)));
+ transition-duration: 0.8s;
+}
+
+.load-icon .text {
+ position: absolute;
+ bottom: -1em;
+ left: 50%;
+ transform: translateX(-50%);
+ color: var(--grayLight);
+ font-size: 1em;
+ text-transform: uppercase;
+}
+
+.load-icon .top,
+.load-icon .right,
+.load-icon .bottom,
+.load-icon .left,
+.load-icon .front,
+.load-icon .bg {
+ position: absolute;
+ top: 0;
+ left: 0;
+ background: transparent url(./assets/default/svg/cubemap.svg) no-repeat 0 -400px;
+ width: 80px;
+ height: 80px;
+ display: block;
+}
+
+.load-icon .bg {
+ opacity: 0.15;
+}
+
+.load-icon .top,
+.load-icon .right,
+.load-icon .bottom,
+.load-icon .left,
+.load-icon .front {
+ -webkit-animation: pulse 2s infinite;
+ animation: pulse 2s infinite;
+}
+
+.load-icon .front {
+ background-position-y: -320px;
+ transform-origin: 47px 48px;
+}
+
+.load-icon .left {
+ background-position-y: 0;
+ transform-origin: 17px 44px;
+ -webkit-animation-delay: 0.25s;
+ animation-delay: 0.25s;
+}
+
+.load-icon .top {
+ background-position-y: -80px;
+ transform-origin: 41px 18px;
+ -webkit-animation-delay: 0.5s;
+ animation-delay: 0.5s;
+}
+
+.load-icon .right {
+ background-position-y: -160px;
+ transform-origin: 67px 39.5px;
+ -webkit-animation-delay: 0.75s;
+ animation-delay: 0.75s;
+}
+
+.load-icon .bottom {
+ background-position-y: -240px;
+ transform-origin: 40px 67px;
+ -webkit-animation-delay: 1s;
+ animation-delay: 1s;
+}
+
+/* Over 961 wide */
+@media only screen and (min-width: 961px) {
+
+ /* Offsets */
+ .load-icon.offset-right {
+ transform: translate(calc(var(--offset-right-lg, 0) - 50%), -50%);
+ }
+}
+
+/*!**********************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/overlay/overlay.css ***!
+ \**********************************************************************************************************************************************************************************************/
+:root {
+ --overlay-z-index: 9999;
+}
+
+/* Scrollbar CSS override */
+.os-theme-dark>.os-scrollbar,
+.os-scrollbar-vertical,
+.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-vertical {
+ right: 6px;
+ top: 40px;
+ bottom: 40px;
+}
+
+.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle {
+ background: var(--grayDark);
+ width: 4px;
+}
+
+.os-theme-dark>.os-scrollbar:active>.os-scrollbar-track>.os-scrollbar-handle {
+ background: var(--gray);
+ width: 6px;
+}
+
+.os-theme-dark>.os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle {
+ min-height: 20px;
+}
+
+/* Overlay */
+.overlay-container .overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100vw;
+ z-index: var(--overlay-z-index);
+ height: var(--vh);
+ background: black;
+ opacity: 0.9;
+}
+
+.overlay-container .overlay.active {
+ -webkit-animation-duration: 0.5s;
+ animation-duration: 0.5s;
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ -webkit-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ -webkit-animation-name: fade-in;
+ animation-name: fade-in;
+ display: flex;
+ pointer-events: all;
+}
+
+.overlay-container .overlay.hidden {
+ pointer-events: none;
+}
+
+.overlay-container.initialized .overlay.hidden {
+ -webkit-animation-duration: 0.5s;
+ animation-duration: 0.5s;
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ -webkit-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ -webkit-animation-name: fade-out;
+ animation-name: fade-out;
+ display: flex;
+}
+
+.overlay-container.initialized .overlay.hidden .clickable {
+ display: none;
+}
+
+.overlay-container .overlay .close-button {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 10;
+ transform: scale(1.5);
+ transform-origin: top right;
+ opacity: 0.4;
+ margin: 20px 20px 0 0;
+ padding: 0;
+}
+
+/* Landscape. 480x320 phones and above */
+@media only screen and (min-width: 320px) and (orientation: landscape) {
+ .overlay-container .overlay {
+ left: -20px;
+ width: calc(100vw + 20px);
+ }
+}
+
+/*!********************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/search/search.css ***!
+ \********************************************************************************************************************************************************************************************/
+.search-open .featured {
+ position: absolute;
+ top: 100%;
+ width: 100%;
+ height: 300px;
+ max-height: calc(var(--vh) - 86px);
+ left: 0;
+ border-radius: 0 0 12px 12px;
+ border-top: 1px solid var(--grayDivider);
+ transform-origin: top;
+ opacity: 1;
+ transform: scaleY(1);
+ transition: transform 0.3s 0.2s var(--ease-out-bezier),
+ opacity 0.3s 0.2s var(--ease-out-bezier);
+}
+
+.search-close .featured.hidden {
+ display: unset;
+ transform: scaleY(0);
+ opacity: 0;
+ height: 0;
+ transition: transform 0.2s var(--ease-out-bezier),
+ opacity 0.2s var(--ease-out-bezier);
+}
+
+.search .featured ul {
+ font-size: 14px;
+ list-style: none;
+ margin: 0;
+ padding: 24px 0 68px;
+ opacity: 1;
+ transition: opacity 0.5s 0.2s ease-out;
+}
+
+.search .featured.hidden ul {
+ opacity: 0;
+}
+
+.search .featured li {
+ margin: 9px 40px 9px 16px;
+ padding: 8px 16px;
+ border-radius: 6px;
+ background-image: radial-gradient(at 10%, #303030 0%, transparent 110%);
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 0% 0%;
+ color: var(--grayMed);
+}
+
+/* Search menu */
+.top-right-nav .search {
+ order: 1;
+}
+
+.top-right-nav .mega-menu {
+ order: 3;
+}
+
+/* Search */
+.search {
+ display: block;
+ pointer-events: none;
+ justify-self: end;
+ opacity: 1;
+ transition: opacity 0.6s ease-out, visibility 0.6s ease-out;
+}
+
+.search .bar {
+ position: relative;
+ display: grid;
+ background: var(--grayDarkAlpha80);
+ padding: 7.5px;
+ border-radius: 0.2em;
+}
+
+.search .cover {
+ pointer-events: all;
+ height: var(--vh);
+ width: 100vw;
+ background: var(--black);
+ position: fixed;
+ left: 0;
+ top: 0;
+ opacity: 0;
+ visibility: hidden;
+ transition: opacity 0.4s ease-out, visibility 0.4s ease-out;
+}
+
+/* Search input */
+.search .input-focused .cover {
+ opacity: 0.6;
+ visibility: visible;
+ transition: opacity 0.6s ease-in, visibility 0.6s ease-in;
+}
+
+.search input[type="text"] {
+ grid-area: input;
+ background: transparent;
+ padding: 0 10px;
+ width: inherit;
+ border: none;
+ outline: none;
+ color: var(--white);
+}
+
+.search .mag-open {
+ grid-area: mag;
+ display: block;
+ margin: 7.5px;
+ filter: brightness(0.8);
+ transition: filter 0.1s, transform 0.1s;
+}
+
+.search .search-open {
+ display: grid;
+ pointer-events: all;
+}
+
+.search span.search-info {
+ position: absolute;
+ left: 50%;
+ bottom: -24px;
+ transform: translateX(-50%);
+ color: var(--grayAlpha);
+ font-weight: 600;
+ text-transform: uppercase;
+ z-index: 1;
+ opacity: 1;
+ transition: opacity 0.3s 0.3s ease-out;
+}
+
+.search-close span.search-info {
+ opacity: 0;
+ transition: opacity 0.2s ease-out;
+}
+
+/* Results */
+.search .bar .results {
+ position: absolute;
+ top: 100%;
+ width: 100%;
+ left: 0;
+ border-radius: 0 0 0.2em 0.2em;
+ -webkit-backdrop-filter: blur(0.5rem);
+ backdrop-filter: blur(0.5rem);
+}
+
+/* Only when results have children */
+.search .bar .results:not(:empty) {
+ border-top: 0.1em solid var(--grayDark);
+}
+
+.search .bar:has(.results:not(:empty)) {
+ border-radius: 0.2em 0.2em 0 0;
+}
+
+.search .bar .results .result-div:first-child {
+ margin-top: 0.6em;
+}
+
+.search .bar .results .result-div:last-child {
+ margin-bottom: 0.4em;
+}
+
+.search .bar .results .block-container {
+ margin-bottom: 20px;
+}
+
+.search .suggestion {
+ padding: 20px 0;
+}
+
+.search .suggestion .title {
+ display: block;
+ padding: 2px 20px;
+}
+
+.search .gradient {
+ background: linear-gradient(180deg,
+ var(--grayDarkAlpha80) 0%,
+ rgb(37 37 39 / 64%) 60.64%,
+ rgb(37 37 39 / 0%) 116.42%);
+}
+
+.search .result-div {
+ transition: all 0.3s;
+ padding: 0.4em 1.3em;
+}
+
+.search .result-div button {
+ padding: 0;
+ text-align: left;
+}
+
+/* Search selection */
+.search .result-div.active {
+ background-color: var(--whiteAlpha15);
+ cursor: pointer;
+}
+
+.search .result-div.active .clickable {
+ text-decoration: underline;
+}
+
+.search .results .entries {
+ display: block;
+ outline: none;
+ text-align: left;
+ width: 100%;
+ padding: 0;
+}
+
+/* Result card */
+.search .card-title {
+ padding: 15px 20px;
+ border-bottom: 1px solid var(--grayDark);
+ display: grid;
+ grid-template-columns: 1fr auto;
+ align-items: baseline;
+ margin-bottom: 10px;
+}
+
+.search .bar .results .card-title.result-div:first-child {
+ margin-top: 0;
+}
+
+.search .card-title img {
+ width: 50px;
+}
+
+.search .results .unmatch {
+ opacity: 0.6;
+}
+
+.search .detail .entry {
+ opacity: 1;
+ padding: 0;
+}
+
+.search .title {
+ padding: 0 20px;
+}
+
+.search-close-icon {
+ grid-area: close;
+}
+
+/* 480x320 phones and above */
+@media only screen and (min-width: 320px) {
+ .search .bar {
+ margin: auto;
+ width: 90%;
+ grid-template-columns: 1fr auto;
+ grid-template-areas: "input search";
+ }
+
+ .search .search-close-icon {
+ display: none;
+ }
+}
+
+@media (pointer: coarse) {
+ .search .result-div.active {
+ background-color: transparent;
+ cursor: normal;
+ }
+}
+
+/*!******************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/clock/clock.css ***!
+ \******************************************************************************************************************************************************************************************/
+.clock .date,
+.clock .time,
+.clock .meridiem {
+ display: inline-block;
+ margin-right: 1em;
+}
+
+.clock .date.hidden,
+.clock .time.hidden,
+.clock .meridiem.hidden {
+ display: none;
+}
+
+.clock .hour-input {
+ background: none;
+ color: white;
+ border: 0;
+ padding: 0;
+ width: 90%;
+ -webkit-user-select: text;
+ -moz-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
+
+/* Date time container */
+.clock .datetime-container .display-container {
+ opacity: 0.6;
+ display: grid;
+ grid-template-columns: auto auto auto;
+ gap: 5px;
+ white-space: nowrap;
+}
+
+.clock .datetime-container .display-container.hidden {
+ display: none;
+}
+
+.clock .date,
+.clock .time,
+.clock .meridiem {
+ margin-right: 0;
+ font-variant: tabular-nums;
+}
+
+.clock .time {
+ margin-left: 10px;
+}
+
+/* Input */
+.clock .hour-input {
+ opacity: 0.6;
+}
+
+.clock .datetime-container input,
+.clock .datetime-container form {
+ margin: 0;
+ padding: 0;
+}
+
+/* 480x320 phones and above */
+@media only screen and (min-width: 320px) {
+ .clock .datetime-container {
+ grid-column: 2;
+ grid-row: 1;
+ }
+
+ .clock .datetime-container .display-container {
+ justify-content: end;
+ margin: 0;
+ gap: 2px;
+ }
+
+ .clock .datetime-container form,
+ .clock .datetime-container input {
+ text-align: right;
+ }
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .clock .datetime-container {
+ grid-row: 2;
+ grid-column: 1;
+ margin-left: 8px;
+ }
+
+ .clock .datetime-container form,
+ .clock .datetime-container input {
+ text-align: left;
+ }
+
+ .clock .hour-input {
+ margin-left: 8px;
+ }
+
+ .alert {
+ outline-offset: 0;
+ }
+}
+
+/*!************************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/clock_shortcut/clock_shortcut.css ***!
+ \************************************************************************************************************************************************************************************************************/
+.clock-shortcut .text {
+ text-transform: uppercase;
+ display: inline-block;
+}
+
+.clock-shortcut .active .live {
+ color: red;
+}
+
+.clock-shortcut .container {
+ background-color: var(--grayDarkAlpha);
+ border-radius: 2px;
+ padding: 1px 7px;
+ margin-left: 0;
+}
+
+.clock-shortcut .container.hidden {
+ display: none;
+}
+
+.clock-shortcut .replay-container,
+.clock-shortcut .live-container {
+ display: grid;
+ grid-template-columns: auto auto;
+ grid-template-rows: auto;
+ gap: 0 7px;
+ align-items: center;
+ justify-content: start;
+}
+
+.clock-shortcut .live-container.active {
+ background-color: transparent;
+ margin-left: 8px;
+ padding-left: 0;
+}
+
+/* Text */
+.clock-shortcut .text {
+ color: var(--gray);
+}
+
+.clock-shortcut .active .live {
+ color: var(--live);
+}
+
+/*!************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/carousel/carousel.css ***!
+ \************************************************************************************************************************************************************************************************/
+.carousel-container {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ pointer-events: none;
+}
+
+.carousel-container.small h1 {
+ font-size: 28px;
+}
+
+.carousel-container.small h2 {
+ font-size: 24px;
+}
+
+.carousel-container.small h4 {
+ font-size: 16px;
+}
+
+.carousel-container .progress {
+ position: absolute;
+ left: 0;
+ width: 10%;
+ margin: auto;
+ background: transparent url(./assets/default/svg/timeline_bg.svg) repeat-y 0 0;
+ pointer-events: all;
+}
+
+.carousel-container .close-button {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 2000;
+ display: flex;
+ align-items: center;
+ margin: 20px 20px 0 0;
+ padding: 0;
+}
+
+.carousel-container .close-button.hidden {
+ display: none;
+}
+
+.carousel-container .close-button .icon {
+ transform: scale(1.5);
+}
+
+.carousel-container .carousel {
+ background: transparent;
+ height: 100%;
+ width: 100%;
+ overflow: hidden;
+ position: relative;
+ pointer-events: none;
+}
+
+.carousel-container .carousel.initialized {
+ transition: all 700ms ease;
+}
+
+.carousel-container .carousel.active {
+ -webkit-animation-name: fade-in-left;
+ animation-name: fade-in-left;
+ -webkit-animation-duration: 1s;
+ animation-duration: 1s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+}
+
+.carousel-container .carousel.hidden {
+ display: block;
+ -webkit-animation-name: fade-out-left;
+ animation-name: fade-out-left;
+ -webkit-animation-duration: 1s;
+ animation-duration: 1s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+}
+
+.carousel-container .carousel .track {
+ opacity: 1;
+ transition: transform 1s ease;
+ pointer-events: none;
+}
+
+.carousel-container .carousel .slide {
+ height: var(--vh);
+ width: 100%;
+ color: var(--white);
+ overflow: hidden;
+ display: block;
+ pointer-events: none;
+}
+
+.carousel-container .carousel .slide.active {
+ -webkit-animation-duration: 0.5s;
+ animation-duration: 0.5s;
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ -webkit-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ -webkit-animation-name: fade-in;
+ animation-name: fade-in;
+}
+
+.carousel-container .carousel .slide.hidden {
+ -webkit-animation-duration: 0.5s;
+ animation-duration: 0.5s;
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ -webkit-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ -webkit-animation-name: fade-out;
+ animation-name: fade-out;
+ pointer-events: none;
+}
+
+.carousel-container .carousel .slide.opaque {
+ opacity: 1;
+}
+
+.carousel-container .carousel .slide.black {
+ background-color: var(--black);
+}
+
+.carousel-container .carousel .slide.white {
+ background-color: var(--white);
+}
+
+.carousel-container .carousel .slide .wrapper {
+ grid-column: main-start / side-end;
+ grid-row: head-start/ foot-end;
+}
+
+.carousel-container .carousel .slide .container {
+ background: transparent;
+ width: 100%;
+ padding: 0;
+ display: flex;
+ flex-direction: column;
+ pointer-events: all;
+}
+
+.carousel-container .carousel .slide.overlay .container {
+ text-align: center;
+}
+
+.carousel-container .carousel .slide .container .container-wrapper {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+}
+
+.carousel-container .carousel .slide.overlay .controls {
+ display: none;
+}
+
+.carousel-container .carousel .slide .content-container {
+ width: 100%;
+ pointer-events: none;
+ overflow: inherit;
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+
+.carousel-container .carousel .slide .content-container * {
+ pointer-events: none;
+}
+
+.carousel-container .carousel .slide .content-container .clickable {
+ pointer-events: all;
+}
+
+.carousel-container .carousel .slide .content-wrapper {
+ width: 100%;
+ padding: 10px 0;
+ overflow: auto;
+ pointer-events: all;
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+
+.carousel-container .carousel .slide .content-wrapper .content {
+ display: flex;
+ flex-direction: column;
+}
+
+.carousel-container .progress .icon-triangle {
+ position: absolute;
+ top: 0;
+ left: 0;
+ transition: top 2s ease 0s;
+ transform: rotate(90deg);
+}
+
+@-webkit-keyframes animated-cursor {
+ 0% {
+ cursor: url(./assets/default/cursor/1.png), auto;
+ }
+
+ 7% {
+ cursor: url(./assets/default/cursor/2.png), auto;
+ }
+
+ 21% {
+ cursor: url(./assets/default/cursor/3.png), auto;
+ }
+
+ 28% {
+ cursor: url(./assets/default/cursor/4.png), auto;
+ }
+
+ 35% {
+ cursor: url(./assets/default/cursor/5.png), auto;
+ }
+
+ 42% {
+ cursor: url(./assets/default/cursor/6.png), auto;
+ }
+
+ 49% {
+ cursor: url(./assets/default/cursor/7.png), auto;
+ }
+
+ 56% {
+ cursor: url(./assets/default/cursor/8.png), auto;
+ }
+
+ 63% {
+ cursor: url(./assets/default/cursor/9.png), auto;
+ }
+
+ 70% {
+ cursor: url(./assets/default/cursor/10.png), auto;
+ }
+
+ 77% {
+ cursor: url(./assets/default/cursor/11.png), auto;
+ }
+
+ 84% {
+ cursor: url(./assets/default/cursor/12.png), auto;
+ }
+
+ 100% {
+ cursor: url(./assets/default/cursor/12.png), auto;
+ }
+}
+
+@keyframes animated-cursor {
+ 0% {
+ cursor: url(./assets/default/cursor/1.png), auto;
+ }
+
+ 7% {
+ cursor: url(./assets/default/cursor/2.png), auto;
+ }
+
+ 21% {
+ cursor: url(./assets/default/cursor/3.png), auto;
+ }
+
+ 28% {
+ cursor: url(./assets/default/cursor/4.png), auto;
+ }
+
+ 35% {
+ cursor: url(./assets/default/cursor/5.png), auto;
+ }
+
+ 42% {
+ cursor: url(./assets/default/cursor/6.png), auto;
+ }
+
+ 49% {
+ cursor: url(./assets/default/cursor/7.png), auto;
+ }
+
+ 56% {
+ cursor: url(./assets/default/cursor/8.png), auto;
+ }
+
+ 63% {
+ cursor: url(./assets/default/cursor/9.png), auto;
+ }
+
+ 70% {
+ cursor: url(./assets/default/cursor/10.png), auto;
+ }
+
+ 77% {
+ cursor: url(./assets/default/cursor/11.png), auto;
+ }
+
+ 84% {
+ cursor: url(./assets/default/cursor/12.png), auto;
+ }
+
+ 100% {
+ cursor: url(./assets/default/cursor/12.png), auto;
+ }
+}
+
+.carousel-container .carousel .icon-greater.up {
+ transform: rotate(-90deg);
+}
+
+.carousel-container .carousel .icon-greater.down {
+ transform: rotate(90deg);
+}
+
+.carousel-container .carousel .navigation-button {
+ z-index: 2;
+ color: var(--white);
+ padding: 10px;
+ background: transparent;
+ cursor: pointer;
+ transition: all 300ms ease;
+ pointer-events: all;
+}
+
+.carousel-container .carousel .navigation-button:active {
+ background: var(--whiteAlpha15);
+}
+
+.carousel-container .carousel .navigation-button:focus {
+ outline: 0;
+}
+
+.carousel-container .carousel .navigation-button .icon {
+ display: block;
+ margin: auto;
+}
+
+.carousel-container .carousel .navigation-button .icon.hidden {
+ display: none;
+}
+
+.carousel-container .carousel.vertical .navigation-button {
+ align-self: start;
+}
+
+/* Hide the first prev and last next buttons */
+.carousel-container .carousel .track>.slide:first-child .navigation-button.prev,
+.carousel-container .carousel .track>.slide:last-child .navigation-button.next {
+ display: none;
+}
+
+/* Hide replay button except last slide */
+.carousel-container .carousel .track>.slide .navigation-button.replay {
+ display: none;
+}
+
+.carousel-container .carousel.vertical .navigation-button.next,
+.carousel-container .carousel.vertical .navigation-button.replay {
+ align-self: center;
+ justify-self: end;
+ margin: auto;
+}
+
+.carousel-container .carousel .mobile-hint {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ pointer-events: none;
+}
+
+.carousel-container .carousel .mobile-hint span {
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.carousel-container .carousel .slide.overlay .mobile-hint {
+ order: 2;
+}
+
+/* If there's only one slide, hide mobile hint */
+.carousel-container .carousel .slide:only-child .mobile-hint {
+ display: none;
+}
+
+/* If there's only one slide, hide replay button */
+.carousel-container .carousel .track>.slide:first-child:last-child .navigation-button.replay {
+ display: none;
+}
+
+/* Hide the arrows for mobile-hint in first and last slides */
+.carousel-container .carousel .track>.slide:first-child .mobile-hint .icon-greater.up,
+.carousel-container .carousel .track>.slide:last-child .mobile-hint .icon-greater.down {
+ visibility: hidden;
+}
+
+.carousel-container .collapse-container {
+ grid-column: side;
+ grid-row: head-start / foot-end;
+ justify-self: end;
+ position: relative;
+ width: 100%;
+}
+
+.carousel-container .mobile-collapse {
+ position: absolute;
+ bottom: calc(2 / 5 * 100% * 0.75);
+ right: 10px;
+}
+
+.carousel-container .carousel .slide.overlay .collapse-container {
+ display: none;
+}
+
+/* 480x320 phones and above */
+@media only screen and (min-width: 320px) {
+ .carousel-container .carousel .slide .content-container {
+ /* NOTE: autoprefixer doesn't prefix mask-image */
+ -webkit-mask-image: linear-gradient(to top, black 95%, transparent 100%);
+ mask-image: linear-gradient(to top, black 95%, transparent 100%);
+ }
+
+ .carousel-container .carousel .slide.overlay .content-container {
+ -webkit-mask-image: none;
+ mask-image: none;
+ }
+
+ .carousel-container .carousel .slide .content-wrapper {
+ padding: 5% 20px 20px 20px;
+ justify-content: flex-start;
+ }
+
+ .carousel-container .carousel .slide.overlay .content-wrapper {
+ padding: 0;
+ }
+
+ .carousel-container .carousel .slide .content-wrapper .content {
+ flex-flow: column;
+ flex-wrap: nowrap;
+ }
+
+ .carousel-container .carousel .controls {
+ margin-left: auto;
+ }
+
+ .carousel-container .carousel .controls .icon-clock {
+ margin-right: 10px;
+ }
+
+ .carousel-container .progress {
+ bottom: 0;
+ transform: none;
+ height: 40%;
+ }
+
+ .carousel-container .carousel .navigation-button {
+ display: none;
+ }
+
+ .carousel-container .carousel .track>.slide:last-child .navigation-button.replay {
+ display: none;
+ }
+
+ .carousel-container .carousel .track>.slide:last-child .navigation-button.replay.mobile {
+ display: block;
+ }
+
+ /* If there's only one slide, hide replay button on mobile */
+ .carousel-container .carousel .track>.slide:first-child:last-child .navigation-button.replay.mobile {
+ display: none;
+ }
+}
+
+/* Landscape. 480x320 phones and above */
+@media only screen and (min-width: 320px) and (orientation: landscape) {
+ .carousel-container .carousel .slide .content-wrapper {
+ padding: 10px 20px 20px 20px;
+ }
+
+ .carousel-container .carousel .slide .content-wrapper .content {
+ flex-flow: row;
+ flex-wrap: wrap;
+ }
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .carousel-container .carousel .slide .container {
+ align-content: center;
+ }
+
+ .carousel-container .carousel .slide .content-container {
+ -webkit-mask-image: none;
+ mask-image: none;
+ }
+
+ .carousel-container .carousel .slide .collapse-container {
+ display: none;
+ }
+
+ .carousel-container .carousel .slide .content-wrapper {
+ padding: 0 20px 20px 40px;
+ justify-content: center;
+ }
+
+ .carousel-container .carousel .slide .content-wrapper .content {
+ flex-flow: column;
+ flex-wrap: nowrap;
+ }
+
+ .carousel-container .carousel .controls {
+ display: none;
+ }
+
+ .carousel-container .progress {
+ top: 0;
+ height: 80%;
+ }
+
+ .carousel-container .carousel .navigation-button {
+ display: block;
+ }
+
+ .carousel-container .carousel .track>.slide:last-child .navigation-button.replay {
+ display: block;
+ }
+
+ .carousel-container .carousel .track>.slide:last-child .navigation-button.replay.mobile {
+ display: none;
+ }
+
+ .carousel-container .carousel .mobile-hint {
+ display: none;
+ }
+
+ .carousel-container .close-button {
+ margin: 20px 20px 0 0;
+ }
+}
+
+/*!****************************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/tutorial_overlay/tutorial_overlay.css ***!
+ \****************************************************************************************************************************************************************************************************************/
+/* Main overlay */
+#tutorial-overlay {
+ position: absolute;
+ inset: 0;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ background-color: rgba(11, 17, 19, 0.8);
+ z-index: 1000;
+ -webkit-backdrop-filter: blur(5px);
+ backdrop-filter: blur(5px);
+ opacity: 1;
+ visibility: visible;
+ pointer-events: all;
+ transition-property: opacity, visibility;
+ transition-timing-function: var(--ease-out-bezier);
+ transition-duration: 0.8s, 0.8s;
+ padding: 4vh 6vh 2vh 6vh;
+
+ /* mask-image gradient */
+ mask-image: var(--tutorial-mask-grad);
+ mask-repeat: no-repeat;
+ mask-size: var(--tutorial-mask-size, 200% 200%);
+ mask-position: var(--tutorial-mask-pos, 50% 50%);
+ -webkit-mask-image: var(--tutorial-mask-grad);
+ -webkit-mask-repeat: no-repeat;
+ -webkit-mask-size: var(--tutorial-mask-size, 200% 200%);
+ -webkit-mask-position: var(--tutorial-mask-pos, 50% 50%);
+}
+
+@supports not ((-webkit-backdrop-filter: blur()) or (backdrop-filter: blur())) {
+ #tutorial-overlay {
+ background-color: rgba(11, 17, 19, 0.95);
+ }
+}
+
+#tutorial-overlay.hidden {
+ display: flex;
+ opacity: 0;
+ visibility: hidden;
+ transition-duration: 0.4s;
+ pointer-events: none;
+}
+
+/* Carousel content vars */
+#tutorial-overlay .swiper {
+ --swiper-pagination-bullet-horizontal-gap: 0;
+ --swiper-pagination-color: var(--grayblueMed);
+ --swiper-pagination-bullet-inactive-color: var(--grayblueMed);
+
+ width: 100%;
+ max-width: 600px;
+ overflow: visible;
+ flex-grow: 0.3;
+}
+
+#tutorial-overlay .swiper-wrapper {
+ align-items: center;
+}
+
+/* Swiper slide opacity overrides */
+/* This is because we are overriding the default overflow hidden behavior in order to move the prev and next buttons outside the main swiper area */
+#tutorial-overlay .swiper-slide {
+ opacity: 0;
+ transition: opacity 0.5s var(--ease-out-bezier);
+}
+
+#tutorial-overlay .swiper-slide-active {
+ opacity: 1;
+ transition-property: opacity, transform;
+ transition-timing-function: var(--ease-out-bezier);
+ transition-duration: 0.5s;
+}
+
+/* Swiper slide text */
+#tutorial-overlay .swiper-slide>h2 {
+ color: var(--grayblueWhite);
+ font-size: clamp(26px, min(5vw, 5vh), 56px);
+ font-weight: 100;
+ text-transform: uppercase;
+}
+
+#tutorial-overlay .swiper-slide>p {
+ margin-top: clamp(0em, 2vh, 3em);
+ margin-bottom: clamp(1em, 4vh, 4em);
+ color: var(--grayblueMed);
+ font-size: clamp(14px, min(1.8vw, 1.8vh), 18px);
+ font-weight: 100;
+ line-height: 1.6;
+}
+
+#tutorial-overlay .swiper-slide>p>br.big-br {
+ content: "";
+ margin-top: clamp(0em, 2vh, 2em);
+ display: block;
+}
+
+.swiper-slide>div.tutorial-extra {
+ display: flex;
+ flex-direction: column;
+ align-items: baseline;
+ opacity: 1;
+ visibility: visible;
+ height: 15vh;
+ transition-property: opacity, visibility, height;
+ transition-duration: 0.5s;
+ transition-timing-function: var(--ease-out-bezier);
+}
+
+.swiper-slide>div.tutorial-extra>h5 {
+ color: var(--grayblueMed);
+ font-size: clamp(14px, min(1.8vw, 1.8vh), 18px);
+ font-weight: 600;
+ padding: 0.2em 0.6em 0.1em 0.6em;
+ margin-left: 0.5em;
+ line-height: 1.3;
+ border: 1px solid var(--grayblueText);
+ border-radius: 4px;
+ transform: rotate(-5deg);
+}
+
+.swiper-slide>div.tutorial-extra>p {
+ margin: 0.5em 0 0 2em;
+ font-size: clamp(12px, min(1.5vw, 1.5vh), 16px);
+ color: var(--grayblueMed);
+}
+
+/* Bullets */
+#tutorial-overlay .bullet-container {
+ position: absolute;
+
+ /* bottom: -5vh; */
+ left: 10%;
+ display: flex;
+ justify-content: space-around;
+ width: 80%;
+ min-height: 15px;
+ opacity: 1;
+ transition: opacity 0.6s ease-out, width 0.6s var(--ease-out-bezier),
+ transform 0.5s var(--ease-out-bezier);
+}
+
+#tutorial-overlay .bullet-container.hidden {
+ width: 0%;
+ opacity: 0;
+ transition: opacity 0.2s ease-in, width 0.3s var(--ease-out-bezier);
+}
+
+#tutorial-overlay .bullet-container::before {
+ content: "";
+ position: absolute;
+ top: clamp(-36px, -3vh, -15px);
+ width: calc(100% + 8vw);
+ height: 1px;
+ background-color: var(--grayblueDivider);
+}
+
+#tutorial-overlay span.swiper-pagination-bullet {
+ position: relative;
+ cursor: pointer;
+}
+
+#tutorial-overlay span.swiper-pagination-bullet::before {
+ content: "";
+ position: absolute;
+ inset: max(-2vw, -14px);
+}
+
+#tutorial-overlay .swiper-pagination-bullet-active {
+ transform: scale(1.2);
+ transition: all 0.3s ease-out;
+}
+
+/* Prev and Next Buttons */
+.tutorial-carousel .swiper-button-prev,
+.tutorial-carousel .swiper-button-next {
+ top: unset;
+ opacity: 1;
+ transition-property: filter, opacity, transform;
+ transition-duration: 0.5s;
+ transition-timing-function: var(--ease-out-bezier);
+ bottom: max(-4em, -12vh);
+}
+
+.tutorial-carousel .swiper-button-prev {
+ left: 5%;
+}
+
+.tutorial-carousel .swiper-button-next {
+ right: 5%;
+}
+
+/* Override swiper disabled */
+.tutorial-carousel .swiper-button-prev.swiper-button-disabled,
+.tutorial-carousel .swiper-button-next.swiper-button-disabled {
+ opacity: 0;
+}
+
+.tutorial-carousel .swiper-button-prev::after,
+.tutorial-carousel .swiper-button-next::after {
+ font-family: "Metropolis", sans-serif;
+ font-size: clamp(14px, 2vh, 16px);
+ line-height: 1.2;
+ color: var(--grayblueMed);
+}
+
+.tutorial-carousel .swiper-button-prev::after {
+ content: "Previous";
+ position: absolute;
+ left: calc(100% + 12px);
+}
+
+.tutorial-carousel .swiper-button-next::after {
+ content: "Next";
+ position: absolute;
+ right: calc(100% + 12px);
+}
+
+.tutorial-carousel .swiper-button-prev::before,
+.tutorial-carousel .swiper-button-next::before {
+ content: "";
+ position: absolute;
+ inset: -10px;
+ z-index: -1;
+}
+
+.tutorial-carousel .swiper-button-prev::before {
+ right: -90px;
+}
+
+.tutorial-carousel .swiper-button-next::before {
+ left: -60px;
+}
+
+/* Dismiss button */
+#tutorial-overlay .dismiss-container {
+ display: flex;
+ flex-direction: column;
+ flex-grow: 0.3;
+ justify-content: flex-end;
+ align-items: center;
+ transition-property: transform, flex-grow;
+ transition-duration: 0.5s;
+ transition-timing-function: var(--ease-out-bezier);
+}
+
+#tutorial-overlay .dismiss-button {
+ padding: 0.5em 1.5em 0.5em 1.5em;
+ color: var(--grayblueText);
+ font-size: clamp(12px, 2vh, 16px);
+ font-weight: 600;
+ border: 1px solid var(--grayblueMed);
+ border-radius: 24px;
+ transition: filter 0.2s ease-in;
+}
+
+#tutorial-overlay .dismiss-button:active {
+ filter: brightness(1.5);
+ transition: filter 0.4s ease-out;
+}
+
+/* Footer smallprint */
+#tutorial-overlay footer {
+ height: 10vh;
+ opacity: 1;
+ visibility: visible;
+ transition-property: opacity, visibility, height;
+ transition-duration: 2s;
+ transition-timing-function: var(--ease-out-bezier);
+}
+
+footer p.tutorial-smallprint {
+ text-align: center;
+ font-size: clamp(11px, 1.2vh, 14px);
+ line-height: clamp(1.2em, 2vh, 2.5em);
+ color: var(--grayblueText);
+ max-width: 500px;
+ margin: auto;
+}
+
+footer p.tutorial-smallprint>a {
+ text-decoration: underline;
+ color: var(--grayblueLight);
+ transition: color 0.2s ease-in;
+}
+
+/* ------------------- Slide specific overrides ------------------- */
+
+#tutorial-overlay.tutorial-slide-nav3d .bullet-container,
+#tutorial-overlay.tutorial-slide-labels .bullet-container {
+ transform: translateY(max(2vh, 2vw));
+}
+
+#tutorial-overlay.tutorial-slide-nav3d .swiper-button-prev,
+#tutorial-overlay.tutorial-slide-nav3d .swiper-button-next,
+#tutorial-overlay.tutorial-slide-labels .swiper-button-prev,
+#tutorial-overlay.tutorial-slide-labels .swiper-button-next {
+ transform: translateY(max(2vh, 2vw));
+}
+
+#tutorial-overlay .swiper-slide.tutorial-slide-nav3d,
+#tutorial-overlay .swiper-slide.tutorial-slide-labels {
+ transform: translateY(-12vh);
+}
+
+#tutorial-overlay.tutorial-slide-time footer {
+ opacity: 0;
+ visibility: hidden;
+ transition-duration: 1.2s;
+}
+
+#tutorial-overlay.tutorial-slide-time .dismiss-container {
+ flex-grow: 0.1;
+}
+
+/* ------------------- Breakpoint adjustments --------------------- */
+
+/* When nav menu at bottom (mobile portrait) */
+@media only screen and (max-width: 641px) and (orientation: portrait) {
+
+ /* Hide footer for some menu slides */
+ #tutorial-overlay.tutorial-slide-learn footer,
+ #tutorial-overlay.tutorial-slide-watch footer,
+ #tutorial-overlay.tutorial-slide-filters footer,
+ #tutorial-overlay.tutorial-slide-search footer,
+ #tutorial-overlay.tutorial-slide-settings footer,
+ #tutorial-overlay.tutorial-slide-complete footer {
+ opacity: 0;
+ visibility: hidden;
+ transition-duration: 1.2s;
+ }
+}
+
+/* With low vertical height, we need to hide some things */
+@media only screen and (max-height: 641px) {
+
+ /* Hide extra */
+ .swiper-slide>div.tutorial-extra {
+ height: 0;
+ opacity: 0;
+ visibility: hidden;
+ }
+
+ /* Hide smallprint footer */
+ #tutorial-overlay footer {
+ height: 0;
+ opacity: 0;
+ visibility: hidden;
+ transition-duration: 1.2s;
+ }
+}
+
+@media only screen and (max-height: 481px) {
+
+ /* Time slider needs dismiss, bullet and arrow shifting */
+ #tutorial-overlay.tutorial-slide-time .dismiss-container {
+ transform: translateY(-15vh);
+ }
+
+ #tutorial-overlay.tutorial-slide-time .swiper-slide-active,
+ #tutorial-overlay.tutorial-slide-time .bullet-container,
+ #tutorial-overlay.tutorial-slide-time .swiper-button-prev,
+ #tutorial-overlay.tutorial-slide-time .swiper-button-next {
+ transform: translateY(-12vh);
+ }
+}
+
+/* Mobile time slider slide adjustments */
+@media only screen and (min-width: 320px) and (max-width: 767px) {
+
+ /* Time slider needs dismiss, bullet and arrow shifting */
+ #tutorial-overlay.tutorial-slide-time .dismiss-button {
+ transform: translateY(-10vh);
+ z-index: 10;
+ }
+
+ #tutorial-overlay.tutorial-slide-time .swiper-slide-active,
+ #tutorial-overlay.tutorial-slide-time .bullet-container,
+ #tutorial-overlay.tutorial-slide-time .swiper-button-prev,
+ #tutorial-overlay.tutorial-slide-time .swiper-button-next {
+ transform: translateY(-10vh);
+ }
+}
+
+/* With low horizontal width, we need to hide some things */
+@media only screen and (max-width: 481px) {
+
+ /* Hide swiper arrow text */
+ .tutorial-carousel .swiper-button-prev::after,
+ .tutorial-carousel .swiper-button-next::after {
+ content: "";
+ }
+}
+
+/*!************************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/carousel_panel/carousel_panel.css ***!
+ \************************************************************************************************************************************************************************************************************/
+/* ------ Panel container ------ */
+#panel-container {
+ /* Variables */
+ --sandMed: #cbb296;
+
+ /* Properties */
+ position: relative;
+ top: 3em;
+ padding: 0;
+ grid-column-start: 1;
+ grid-row-start: 3;
+ align-self: center;
+ height: -webkit-fit-content;
+ height: -moz-fit-content;
+ height: fit-content;
+ min-width: 300px;
+ max-height: calc(100vh - 72px);
+ opacity: 1;
+ visibility: visible;
+ transition-timing-function: var(--ease-out-bezier);
+ transition-property: opacity, visibility;
+ transition-duration: 0.6s;
+ z-index: 1;
+}
+
+#panel-container.hidden {
+ display: unset;
+ opacity: 0;
+ visibility: hidden;
+ transition-duration: 0.3s;
+}
+
+/* ------ Simple panel ------ */
+#panel-container .panel-simple {
+ position: absolute;
+ top: 50px;
+ left: 8px;
+ pointer-events: all;
+}
+
+.panel-simple>.expand-button .icon {
+ transform: rotate(-90deg);
+}
+
+.panel-simple>h5.simple-pretitle {
+ color: var(--grayblueText);
+ margin: -4px 0 0 11px;
+ font-size: 18px;
+ line-height: 1.5;
+}
+
+.panel-simple>h4.simple-title {
+ margin: 8px 0 0 10px;
+ font-size: 22px;
+ text-transform: capitalize;
+}
+
+/* The simple panel is visible when the panel container is collapsed */
+#panel-container.collapsed .panel-simple {
+ visibility: visible;
+ opacity: 1;
+ transition-timing-function: var(--ease-out-bezier);
+ transition-duration: 0.6s;
+ transition-delay: 0.2s;
+ transition-property: opacity, visibility;
+}
+
+#panel-container.collapsed .panel-simple>* {
+ transition: transform 0.6s 0.1s var(--ease-out-bezier);
+}
+
+/* The simple panel is hidden when the panel container is expanded */
+#panel-container.expanded .panel-simple {
+ pointer-events: none;
+ visibility: hidden;
+ opacity: 0;
+ transition-duration: 0.3s;
+}
+
+#panel-container.expanded .panel-simple>.expand-button>.icon {
+ transform: translateX(100%) rotate(90deg);
+ transition-duration: 0.2s;
+}
+
+#panel-container.expanded .panel-simple>h5.simple-pretitle {
+ transition-duration: 0.3s;
+}
+
+#panel-container.expanded .panel-simple>h4.simple-title {
+ transform: translateY(-200%);
+ transition-duration: 0.4s;
+}
+
+/* ------ Main Panel ------ */
+#panel-container .panel-main {
+ height: 100%;
+ padding: 10px 20px;
+ border-radius: 12px;
+ z-index: 101;
+ background: var(--bgGradient);
+ pointer-events: all;
+ display: flex;
+ flex-direction: column;
+ visibility: visible;
+ opacity: 1;
+ transition-timing-function: var(--ease-out-bezier);
+ transition-duration: 0.6s;
+ transition-property: opacity, visibility, transform;
+}
+
+#panel-container.collapsed .panel-main {
+ pointer-events: none;
+ visibility: hidden;
+ opacity: 0;
+ transform: translateX(-75%);
+ transition-duration: 0.3s;
+}
+
+/* Panel header */
+.panel-header .header-title {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.header-title .title-icon {
+ flex-shrink: 0;
+ transform: scale(1.2);
+}
+
+.header-title>h4.title-text {
+ padding: 0 0.5em;
+}
+
+.header-title .collapse-button {
+ opacity: 0.8;
+}
+
+.header-title .collapse-button>.icon {
+ transform: rotate(90deg);
+ margin-right: -10px;
+}
+
+.panel-header .header-caption {
+ text-align: center;
+ white-space: nowrap;
+ font-size: 14px;
+ margin-top: 4px;
+ color: var(--grayblueText);
+}
+
+.panel-main .panel-content {
+ height: inherit;
+}
+
+/* Tabs */
+#panel-container .tabs-container {
+ display: flex;
+ font-size: 12px;
+ justify-content: space-between;
+ position: relative;
+ margin-top: 0;
+}
+
+#panel-container .tabs-container.tabs-2 {
+ justify-content: space-around;
+}
+
+#panel-container .tabs-container.tabs-1 {
+ opacity: 0;
+}
+
+#panel-container .tabs-container>button {
+ color: var(--grayblueMed);
+ position: relative;
+ padding: 0.2em;
+ transition: color 0.2s 0.1s var(--ease-out-bezier);
+}
+
+#panel-container .tabs-container>button.active {
+ color: var(--grayblueWhite);
+ transition: color 0.3s var(--ease-out-bezier);
+}
+
+#panel-container .tabs-container>button::after {
+ content: "";
+ position: absolute;
+ width: 100%;
+ height: 2.5px;
+ bottom: 0;
+ left: 0;
+ background-color: var(--sandMed);
+ transform: scaleX(0);
+ transition: transform 0.2s 0.1s var(--ease-out-bezier);
+}
+
+#panel-container .tabs-container>button.active::after {
+ transform: scaleX(1);
+ transition: transform 0.5s var(--ease-out-bezier);
+}
+
+/* Carousel content */
+.panel-content .swiper {
+ --swiper-pagination-bullet-horizontal-gap: 0;
+ --swiper-pagination-color: var(--grayblueMed);
+ --swiper-pagination-bullet-inactive-color: var(--grayblueMed);
+
+ width: 100%;
+ padding: 3em 0 1em 0;
+}
+
+.swiper .swiper-wrapper {
+ transition-timing-function: var(--ease-out-bezier);
+ align-items: center;
+}
+
+.swiper-wrapper .swiper-slide {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+}
+
+/* Bullets */
+.panel-content .bullet-container {
+ display: flex;
+ justify-content: space-around;
+ width: 62%;
+ min-height: 8px;
+ margin: 1em auto 3.5em auto;
+ opacity: 1;
+ z-index: 1;
+ transition: opacity 0.6s ease-out, width 0.6s var(--ease-out-bezier);
+}
+
+.panel-content .bullet-container.hidden {
+ width: 0%;
+ opacity: 0;
+ transition: opacity 0.2s ease-in, width 0.3s var(--ease-out-bezier);
+}
+
+.panel-content span.swiper-pagination-bullet {
+ position: relative;
+ cursor: pointer;
+}
+
+.panel-content span.swiper-pagination-bullet::before {
+ content: "";
+ position: absolute;
+ inset: -8px;
+}
+
+.panel-content .swiper-pagination-bullet-active {
+ transform: scale(1.2);
+ transition: all 0.3s ease-out;
+}
+
+/* Prev and Next Buttons */
+.panel-content .swiper-button-prev,
+.panel-content .swiper-button-next {
+ top: unset;
+ bottom: 20px;
+ opacity: 1;
+ transition: filter 0.25s ease-out, opacity 0.3s ease-out;
+}
+
+.panel-content .swiper-button-prev::after,
+.panel-content .swiper-button-next::after {
+ font-family: "Metropolis", sans-serif;
+ font-size: 14px;
+ line-height: 1.2;
+ color: var(--grayblueText);
+}
+
+.panel-content .swiper-button-prev::after {
+ content: "Previous";
+ position: absolute;
+ left: calc(100% + 12px);
+}
+
+.panel-content .swiper-button-next::after {
+ content: "Next";
+ position: absolute;
+ right: calc(100% + 12px);
+}
+
+.panel-content .swiper-button-prev::before,
+.panel-content .swiper-button-next::before {
+ content: "";
+ position: absolute;
+ inset: -10px;
+ z-index: -1;
+}
+
+.panel-content .swiper-button-prev::before {
+ right: -90px;
+}
+
+.panel-content .swiper-button-next::before {
+ left: -60px;
+}
+
+/* Override swiper disabled */
+.panel-content .swiper-button-prev.swiper-button-disabled,
+.panel-content .swiper-button-next.swiper-button-disabled {
+ opacity: 0;
+ transition: opacity 0.25s ease-out;
+}
+
+/* Less than 641px is positioned at the bottom */
+@media only screen and (max-width: 641px) and (orientation: portrait) {
+
+ /* ------ Panel container ------ */
+ /* Position at bottom */
+ #panel-container {
+ grid-column: foot-start / foot-end;
+ grid-row-start: unset;
+ grid-row-end: -1;
+ padding: 0 20px;
+ min-width: 0;
+ align-self: flex-end;
+ top: unset;
+ }
+
+ /* ------ Simple panel ------ */
+ #panel-container .panel-simple {
+ top: unset;
+ left: 2.5vw;
+ bottom: 100px;
+ margin: 0;
+ min-width: 150px;
+ }
+
+ #panel-container.collapsed .panel-simple>* {
+ transition: transform 0.3s var(--ease-out-bezier);
+ }
+
+ .panel-simple>.expand-button {
+ position: absolute;
+ left: 5em;
+ top: -23%;
+ }
+
+ /* Turn expand and collapse icons */
+ .panel-simple>.expand-button>.icon {
+ transform: rotate(-180deg);
+ }
+
+ #panel-container.expanded .panel-simple>.expand-button>.icon {
+ transform: rotate(0deg);
+ }
+
+ /* ------ Main Panel ------ */
+
+ /* Offseting from bottom to allow space for time slider */
+ #panel-container .panel-main {
+ padding: 2.7vw 4.8vw;
+ position: relative;
+ bottom: 90px;
+ border-radius: 12px;
+ }
+
+ /* Animate down when collapsing */
+ #panel-container.collapsed .panel-main {
+ transform: translateY(75%);
+ }
+
+ .panel-header .header-caption {
+ text-align: center;
+ margin-top: -4px;
+ }
+
+ /* Turn expand and collapse icons */
+ .header-title .collapse-button>.icon {
+ transform: rotate(0);
+ }
+
+ /* Tabs */
+ #panel-container .tabs-container {
+ margin-top: 0.5em;
+ }
+}
+
+/* Fix layout padding issue */
+@media only screen and (max-width: 641px) and (orientation: landscape) {
+ #panel-container {
+ padding: 0;
+ }
+}
+
+/* Anything over 961, we can incresed some font and icon sizes slightly */
+@media only screen and (min-width: 961px) {
+
+ /* ------ Panel container ------ */
+ #panel-container {
+ min-width: 385px;
+ }
+
+ /* ------ Simple panel ------ */
+ .panel-simple>h4.simple-title {
+ font-size: 29px;
+ }
+
+ /* ------ Main Panel ------ */
+ #panel-container .panel-main {
+ padding: 20px 30px;
+ }
+
+ .panel-header .header-caption {
+ font-size: 18px;
+ }
+
+ .header-title .title-icon {
+ flex-shrink: 0;
+ transform: scale(1.4);
+ }
+
+ .header-title>h4.title-text {
+ font-size: 29px;
+ }
+
+ /* Tabs */
+ #panel-container .tabs-container {
+ font-size: 14px;
+ }
+
+ /* Prev and Next Buttons */
+ .panel-content .swiper-button-prev::after,
+ .panel-content .swiper-button-next::after {
+ font-size: 16px;
+ }
+
+ /* Icon scales */
+ .panel-simple>.expand-button,
+ .header-title>.collapse-button {
+ transform: scale(1.2);
+ transform-origin: left;
+ }
+}
+
+/* When the height is less than 900px, we need to save a little on vertical space */
+@media only screen and (max-height: 900px) {
+
+ /* Vertical padding */
+ .panel-content .swiper {
+ padding: 3em 0 0 0;
+ }
+
+ /* Simplify and move nav arrows up */
+ .panel-content .swiper-button-prev,
+ .panel-content .swiper-button-next {
+ bottom: 1.5em;
+ }
+
+ .panel-content .swiper-button-prev::before,
+ .panel-content .swiper-button-next::before {
+ inset: -6px;
+ }
+
+ .panel-content .swiper-button-prev::after,
+ .panel-content .swiper-button-next::after {
+ content: "";
+ }
+
+ /* Adjust bullet margins */
+ .panel-content .bullet-container {
+ /* width: 62%; */
+ margin: 1em auto 1.7em auto;
+ }
+}
+
+@media only screen and (max-height: 641px) {
+
+ /* reduce simple panel height */
+ #panel-container.collapsed .panel-simple>.expand-button {
+ margin-bottom: -14px;
+ }
+
+ .panel-simple>h5.simple-pretitle {
+ margin-bottom: -2px;
+ }
+
+ /* Vertical padding */
+ .panel-content .swiper {
+ padding: 2em 0 1.5em 0;
+ }
+
+ /* Tabs */
+ #panel-container .tabs-container {
+ margin-top: 0.5em;
+ }
+
+ /* move nav arrows up */
+ .panel-content .swiper-button-prev,
+ .panel-content .swiper-button-next {
+ bottom: 1.2em;
+ }
+
+ /* Adjust bullet margins */
+ .panel-content .bullet-container {
+ margin: 2em auto 0 auto;
+ }
+}
+
+@media only screen and (max-height: 641px) and (min-width: 641px) {
+ #panel-container {
+ grid-row-end: -2;
+ }
+}
+
+/* Attach panel to bottom when height is getting really small */
+@media only screen and (max-height: 500px) {
+ #panel-container {
+ grid-row-end: -1;
+ top: unset;
+ align-self: flex-end;
+ }
+
+ /* Remove round corners from bottom */
+ #panel-container .panel-main {
+ border-radius: 12px 12px 0 0;
+ }
+
+ .panel-header .header-title {
+ height: 2.5em;
+ }
+
+ .panel-header .header-caption {
+ display: none;
+ }
+}
+
+@media only screen and (max-height: 370px) {
+
+ /* Adjust bullet margins */
+ .panel-content .bullet-container {
+ margin: 1.5em auto 0 auto;
+ }
+}
+
+/*!******************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/share_modal/share_modal.css ***!
+ \******************************************************************************************************************************************************************************************************/
+/* Share button */
+.share-button {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: calc(100% - 0.75rem);
+ height: calc(1em + 24px);
+ gap: 0.4em;
+ font-family: Inter, Metropolis, sans-serif;
+ font-size: 1rem;
+ font-weight: 500;
+ color: var(--white);
+ border-radius: 0.375em;
+ padding: 0 1em;
+ margin-top: 2rem;
+ order: 2;
+ background-color: var(--cta-blue);
+ transition: all 0.3s ease;
+}
+
+/* Modal */
+#share-modal {
+ position: fixed;
+ inset: 0;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ -webkit-backdrop-filter: blur(0.5rem);
+ backdrop-filter: blur(0.5rem);
+ transition: opacity 0.3s, visibility 0.3s;
+ pointer-events: all;
+ z-index: 55;
+ background-color: var(--blackAlpha);
+
+ --embed-aspect-ratio: 1.777;
+ --iframe-width: 100%;
+ --iframe-height: 100%;
+ --iframe-scale: 0.3;
+ --iframe-offset-x: 0;
+}
+
+#share-modal.hidden {
+ opacity: 0;
+ visibility: hidden;
+ pointer-events: none;
+}
+
+/* Main article */
+#share-modal>article {
+ position: relative;
+ max-width: calc(100% - min(5vw, 2.5rem));
+ max-height: calc(100% - min(5vh, 2.5rem));
+ width: 30rem;
+ padding: min(max(1vh, 1vw), 1rem);
+ background-image: var(--darkGrayBgGradientBtm);
+ border-radius: 0.5rem;
+}
+
+/* Header */
+#share-modal .modal-header {
+ position: relative;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: auto;
+ gap: 1rem;
+ margin: 0 0 min(0.2vh, 0.5rem) 0;
+ padding-bottom: clamp(1.5rem, 4vh, 3rem);
+}
+
+#share-modal .modal-header .icon-share {
+ width: 2rem;
+ height: 2rem;
+ padding: 0.4rem;
+}
+
+#share-modal .modal-header .modal-title {
+ font-size: clamp(1.3rem, min(6vw, 6vh), 1.8rem);
+ transform: translateY(0.05rem);
+}
+
+#share-modal .modal-header .modal-close {
+ transform: scale(1.5);
+ opacity: 0.7;
+ transition: opacity 0.1s, transform 0.1s;
+}
+
+/* Tab Headers */
+#share-modal ul.tab-headers {
+ position: absolute;
+ bottom: 0;
+ width: calc(100% - 1rem);
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ padding: 0;
+ margin: 0 0 0 0.5rem;
+}
+
+#share-modal ul.tab-headers::after {
+ content: "";
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ height: 0.08rem;
+ background-color: var(--grayDivider);
+}
+
+#share-modal ul.tab-headers>li {
+ position: relative;
+ padding: 0.5rem 1rem;
+ list-style: none;
+ opacity: 0.7;
+ transition: opacity 0.2s;
+}
+
+#share-modal ul.tab-headers>li.active {
+ opacity: 1;
+}
+
+#share-modal ul.tab-headers button::after {
+ content: "";
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ height: 0.08rem;
+ background-color: var(--cta-blue);
+ transform: scaleX(0);
+ transition: transform 0.2s 0.1s var(--ease-out-bezier);
+ z-index: 1;
+}
+
+#share-modal li:first-child button::after {
+ transform-origin: right;
+}
+
+#share-modal li:last-child button::after {
+ transform-origin: left;
+}
+
+#share-modal ul.tab-headers>li.active>button::after {
+ transform: scaleX(1);
+ transition: transform 0.3s var(--ease-out-bezier);
+}
+
+/* Content */
+/* Tab Content */
+#share-modal .tab-content {
+ position: relative;
+ padding: min(max(1vh, 1vw), 1rem);
+}
+
+#share-modal .tab-pane {
+ display: none;
+}
+
+#share-modal .tab-pane.active {
+ display: flex;
+ flex-direction: column;
+ gap: min(1.5vh, 1.5rem);
+}
+
+#share-modal .embed>section {
+ display: flex;
+ flex-direction: column;
+ gap: min(1vh, 1rem);
+}
+
+#share-modal .embed>section.options-section {
+ height: min(min(36vw, 33vh), 20rem);
+}
+
+#share-modal .embed .options-container {
+ height: 100%;
+ padding-right: max(6vw, 1rem);
+}
+
+/* Link title and code */
+#share-modal .link-container {
+ display: flex;
+ flex-direction: column;
+}
+
+#share-modal .link-container span {
+ display: block;
+ color: var(--gray);
+ font-size: clamp(0.5rem, min(2.5vw, 2.5vh), 0.8rem);
+ text-align: center;
+}
+
+#share-modal code {
+ max-width: 30rem;
+ font-size: clamp(0.7rem, min(3vw, 3vh), 0.9rem);
+ padding: 0.4rem 0.8rem;
+ border-radius: 0.3rem;
+ background-image: var(--blackGradientVert);
+ -webkit-user-select: all;
+ -moz-user-select: all;
+ user-select: all;
+ overflow-x: scroll;
+ white-space: nowrap;
+}
+
+/* Firefox/chrome differences: https://stackoverflow.com/questions/77894066/webkit-scrollbar-design-is-not-working-in-chrome-version-121-0-6167-86 */
+@supports not selector(::-webkit-scrollbar) {
+ #share-modal code {
+ scrollbar-width: thin;
+ scrollbar-color: var(--grayDivider) var(--grayDarkAlpha80);
+ }
+}
+
+/* Webkit browsers (Chrome, Safari) */
+#share-modal code::-webkit-scrollbar {
+ height: 0.4rem;
+}
+
+#share-modal code::-webkit-scrollbar-track {
+ background: var(--blackGradientVert);
+ border-radius: 0 0 0.3rem 0.3rem;
+}
+
+#share-modal code::-webkit-scrollbar-thumb {
+ background: var(--grayDivider);
+ border-radius: 0.1rem 0.1rem 0.3rem 0.3rem;
+}
+
+#share-modal .tab-content img {
+ width: 100%;
+ max-width: min(45vh, 30rem);
+ margin: 0 auto;
+ border-radius: 0.3rem;
+}
+
+/* Copy link button */
+#share-modal .tab-content button.copy-link {
+ background-color: var(--cta-blue);
+ padding: 0.3rem;
+ border-radius: 0.3rem;
+ color: var(--grayLight);
+ transition: transform 0.2s, filter 0.2s;
+}
+
+#share-modal .tab-content button.copy-link:active {
+ transform: scale(0.99, 0.95);
+ transition-duration: 0.05s;
+ filter: brightness(1);
+}
+
+#share-modal .copied-overlay {
+ position: absolute;
+ inset: 0;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background-image: var(--darkGrayBgGradientBtm);
+ border-radius: 0.5rem;
+ font-size: 1.3rem;
+ -webkit-backdrop-filter: blur(0.1rem);
+ backdrop-filter: blur(0.1rem);
+ opacity: 0;
+ pointer-events: none;
+}
+
+#share-modal .copied-overlay.flash {
+ -webkit-animation: flash 2s ease-in;
+ animation: flash 2s ease-in;
+}
+
+/* Embed content */
+/* Preview and iframe */
+#share-modal .preview-container {
+ width: 100%;
+ max-width: min(45vh, 30rem);
+ margin: 0 auto;
+}
+
+#share-modal .preview {
+ position: relative;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ aspect-ratio: 1.777;
+}
+
+#share-modal .preview-container span {
+ display: block;
+ color: var(--gray);
+ font-size: 0.75rem;
+ text-align: center;
+ pointer-events: none;
+}
+
+#share-modal .preview iframe {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: var(--iframe-width);
+ height: var(--iframe-height);
+ transform: scale(var(--iframe-scale)) translateX(var(--iframe-offset-x));
+ transform-origin: 0 0;
+ border: none;
+ border-radius: 1rem;
+}
+
+/* Embed options */
+#share-modal section.options-section h5 {
+ color: var(--grayLight);
+ font-size: clamp(0.8rem, min(3.5vw, 3.5vh), 1rem);
+}
+
+#share-modal input[type="checkbox"],
+#share-modal input[type="radio"] {
+ transform: scale(1.2);
+ transform-origin: right;
+ filter: brightness(1.1) hue-rotate(20deg);
+}
+
+#share-modal input[type="number"] {
+ width: 4rem;
+ padding: 0.2rem 0.4rem;
+ border: 0.1rem solid var(--grayDivider);
+ border-radius: 0.3rem;
+ background-image: var(--blackGradientVert);
+ color: var(--grayLight);
+
+ /* Hide the spinner in Firefox */
+ -webkit-appearance: textfield;
+ -moz-appearance: textfield;
+ appearance: textfield;
+}
+
+#share-modal input[type="number"]::-webkit-inner-spin-button {
+ cursor: pointer;
+ filter: invert(0.9);
+}
+
+#share-modal input[type="number"]:invalid {
+ border-color: red;
+}
+
+#share-modal label {
+ color: var(--grayMed);
+ font-size: clamp(0.6rem, min(3vw, 3vh), 0.85rem);
+}
+
+#share-modal input[type="radio"]:checked+label {
+ filter: brightness(1.15);
+}
+
+#share-modal span.icon-help:focus {
+ filter: brightness(1.2);
+ transform: scale(1.2);
+ transition: filter 0.2s, transform 0.2s;
+}
+
+/* Resolution settings */
+#share-modal .resolution-preset-buttons {
+ display: flex;
+ justify-content: center;
+ margin: 2rem 0 0;
+ gap: 0.3rem;
+}
+
+#share-modal .custom-resolution {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin: 0.5rem 0;
+ gap: 0.5rem;
+}
+
+#share-modal .custom-resolution input {
+ width: 6rem;
+ padding: 0.2rem 0.6rem;
+ border: 1px solid var(--nasa-blue);
+ border-radius: 0.3rem;
+ color: var(--grayLight);
+ background-color: var(--blackAlpha);
+}
+
+#share-modal .custom-resolution>span {
+ color: var(--gray);
+ font-size: 1rem;
+}
+
+/* Advanced options */
+#share-modal .advanced>summary {
+ color: var(--grayMed);
+}
+
+#share-modal .advanced .options {
+ padding: 1rem 0 0;
+}
+
+.touch #share-modal .advanced>summary,
+#share-modal .advanced[open]>summary {
+ filter: brightness(1.2);
+}
+
+#share-modal .options>h3 {
+ color: var(--gray);
+ font-size: 1.2rem;
+ text-align: center;
+ margin: 0.5rem 0;
+}
+
+/* Embed group content */
+#share-modal .embed-group {
+ margin: 0 0 1rem;
+}
+
+#share-modal div.input-container {
+ display: flex;
+ align-items: center;
+ gap: 0.5rem;
+}
+
+/* Greyed out text */
+#share-modal div.input-container.greyed-out>label,
+#share-modal div.input-container.greyed-out>span {
+ filter: brightness(0.5);
+}
+
+#share-modal fieldset div.input-container:not(:last-child) {
+ margin-bottom: 0.6em;
+}
+
+#share-modal fieldset div.number-container {
+ margin-top: 0.7em;
+}
+
+#share-modal fieldset {
+ border: 1px solid var(--grayDivider);
+ padding: 0.4em 0.9em 0.9em;
+ border-radius: 0.3rem;
+}
+
+#share-modal fieldset.radio-fieldset {
+ margin-top: 1em;
+ border: 1px solid var(--grayDarkAlpha80);
+ border-radius: 0.2rem;
+}
+
+#share-modal fieldset legend {
+ color: var(--gray);
+ font-size: clamp(0.75rem, min(3vw, 3vh), 0.9rem);
+ padding: 0 0.5rem;
+}
+
+/* Portrait. Portrait tablets/iPad and above */
+@media only screen and (min-width: 961px) {
+
+ /* Main article */
+ #share-modal>article {
+ width: unset;
+ }
+
+ /* Embed preview - side by side layout */
+ #share-modal .tab-pane.embed.active {
+ gap: 1rem;
+ height: 100%;
+ display: grid;
+ grid-auto-flow: column;
+ grid-auto-columns: minmax(30rem, 42rem) minmax(22rem, auto);
+ grid-auto-rows: 0fr;
+ }
+
+ /* Header */
+ #share-modal .modal-header {
+ justify-content: flex-start;
+ padding: 0;
+ }
+
+ #share-modal .modal-header .modal-close {
+ margin: 0 0 0 auto;
+ }
+
+ /* Tab Headers */
+ #share-modal ul.tab-headers {
+ position: relative;
+ width: unset;
+ margin: 0 2rem;
+ }
+
+ #share-modal ul.tab-headers button::after {
+ content: "";
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ height: 0.16rem;
+ background-color: var(--cta-blue);
+ transform: scaleX(0);
+ transition: transform 0.2s 0.1s var(--ease-out-bezier);
+ z-index: 1;
+ }
+
+ #share-modal ul.tab-headers::after {
+ height: 0.16rem;
+ }
+
+ /* Preview and iframe */
+ #share-modal .preview-container {
+ max-width: unset;
+ }
+
+ #share-modal .embed code {
+ max-width: unset;
+ }
+
+ /* Embed options */
+ #share-modal .options {
+ padding: 0.5rem 0.5rem 0.5rem 0;
+ }
+
+ #share-modal .embed>section {
+ gap: 1.5rem;
+ }
+
+ #share-modal .embed .options-container {
+ padding-right: 1.5rem;
+ }
+
+ #share-modal .embed>section.options-section {
+ height: unset;
+ gap: 0.5rem;
+ padding: 1rem 0 0 1.5rem;
+ }
+
+ #share-modal .advanced .options {
+ padding: 1rem 0.5rem 0 0;
+ }
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+
+ /* Share button */
+ .share-button {
+ width: unset;
+ gap: 0.8em;
+ color: var(--grayMed);
+ margin: 0;
+ background-color: transparent;
+ }
+}
+
+@media (max-height: 600px) {
+
+ /* Hide stuff when not enough vertical space */
+ #share-modal .tab-content img,
+ #share-modal .preview-container {
+ display: none;
+ }
+
+ #share-modal .embed>section.options-section {
+ padding: 0 0 0 1rem;
+ }
+}
+
+/* Animation */
+@-webkit-keyframes flash {
+ 0% {
+ opacity: 0;
+ }
+
+ 5% {
+ opacity: 1;
+ }
+
+ 50% {
+ opacity: 1;
+ }
+
+ 100% {
+ opacity: 0;
+ }
+}
+
+@keyframes flash {
+ 0% {
+ opacity: 0;
+ }
+
+ 5% {
+ opacity: 1;
+ }
+
+ 50% {
+ opacity: 1;
+ }
+
+ 100% {
+ opacity: 0;
+ }
+}
+
+/*!**************************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/time_controller/time_controller.css ***!
+ \**************************************************************************************************************************************************************************************************************/
+.time-controller button:focus {
+ outline: 0;
+ box-shadow: none;
+}
+
+.time-controller label {
+ text-transform: uppercase;
+}
+
+.time-controller .play-pause {
+ margin-right: 5%;
+}
+
+.time-controller .prev-rate,
+.time-controller .next-rate {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 80px;
+ border: 0;
+ height: 30px;
+ padding: 0;
+ background: none;
+}
+
+.time-controller .prev-rate {
+ margin-left: 10px;
+}
+
+.time-controller .next-rate {
+ margin-right: 10px;
+}
+
+.time-controller .prev-rate .container,
+.time-controller .next-rate .container {
+ background-color: rgba(128, 128, 128, 0.5);
+ width: 100%;
+ margin: 0 auto;
+ height: 10px;
+}
+
+.time-controller .prev-rate .container {
+ border-radius: 3px 0 0 3px;
+}
+
+.time-controller .next-rate .container {
+ border-radius: 0 3px 3px 0;
+}
+
+.time-controller label {
+ opacity: 0.6;
+}
+
+.time-controller .play-pause {
+ margin-right: 30px;
+}
+
+.time-controller .vertical-line {
+ opacity: 0.6;
+}
+
+.time-controller .next-rate,
+.time-controller .prev-rate {
+ position: relative;
+}
+
+.time-controller .icon-forward,
+.time-controller .icon-backward {
+ opacity: 0.2;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+
+.time-controller .prev-rate .container,
+.time-controller .next-rate .container {
+ background-color: var(--grayDarkAlpha);
+}
+
+.time-controller .rate-display-label {
+ white-space: nowrap;
+}
+
+/* 480x320 phones and above */
+@media only screen and (min-width: 320px) {
+ .time-controller .rate-container {
+ margin-left: 8px;
+ }
+
+ .time-controller .prev-rate,
+ .time-controller .next-rate {
+ width: 75px;
+ }
+
+ .time-controller .prev-rate .container,
+ .time-controller .next-rate .container {
+ height: 22px;
+ }
+
+ .time-controller .vertical-line {
+ height: 29px;
+ }
+}
+
+/* Landscape. 480x320 phones and above */
+@media only screen and (min-width: 320px) and (orientation: landscape) {}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .time-controller .rate-container {
+ margin-left: 0;
+ }
+
+ .time-controller .prev-rate,
+ .time-controller .next-rate {
+ width: 80px;
+ }
+
+ .time-controller .prev-rate .container,
+ .time-controller .next-rate .container {
+ height: 10px;
+ }
+
+ .time-controller .vertical-line {
+ height: 20px;
+ }
+}
+
+/*!************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/checkbox/checkbox.css ***!
+ \************************************************************************************************************************************************************************************************/
+.checkbox-option {
+ list-style: none;
+ display: grid;
+ grid-template-columns: auto -webkit-max-content;
+ grid-template-columns: auto max-content;
+ gap: 15px;
+ justify-content: start;
+ align-items: center;
+ margin: 5px 0;
+}
+
+.checkbox-option span {
+ pointer-events: none;
+}
+
+.checkbox-option .text {
+ grid-row: 1;
+ grid-column: 2;
+}
+
+/*!******************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/layer_panel/layer_panel.css ***!
+ \******************************************************************************************************************************************************************************************************/
+/* Container */
+.layer-panel {
+ background: var(--bgGradient);
+ border-radius: 3px;
+ pointer-events: all;
+}
+
+/* Header */
+.layer-panel .header {
+ padding-top: 20px;
+ display: grid;
+ grid-template-columns: auto auto;
+ margin: 0 10px;
+ cursor: pointer;
+}
+
+/* List */
+.layer-panel .layers {
+ padding: 0;
+ margin: 10px 0;
+}
+
+.layer-panel .layers li {
+ height: 100%;
+ list-style: none;
+ display: flex;
+ margin-bottom: 5px;
+ cursor: pointer;
+ opacity: 0.7;
+ transition: opacity 0.2s ease-out;
+ gap: 0;
+}
+
+.layer-panel .layers li:last-child {
+ margin-bottom: 0;
+}
+
+.layer-panel .layers li.active {
+ opacity: 1;
+}
+
+.layer-panel .layers li>* {
+ pointer-events: none;
+}
+
+.layer-panel .layers li>span.checkbox {
+ margin: 3px 0;
+}
+
+.layer-panel .layers li>*:last-child {
+ margin-left: 10px;
+ line-height: 24px;
+}
+
+.layer-panel .layers li.disabled {
+ opacity: 0.3;
+ pointer-events: none;
+}
+
+/* 480x320 phones and above */
+@media only screen and (min-width: 320px) {
+ .layer-panel {
+ position: fixed;
+ bottom: 0;
+ right: 0;
+ left: 0;
+ width: 100%;
+ z-index: 10;
+ background: var(--mobileBgGradient);
+ }
+
+ .layer-panel .container {
+ display: grid;
+ grid-template-columns: calc(50% - 5px) calc(50% - 5px);
+ gap: 0 10px;
+ padding: 20px 35px 40px;
+ }
+
+ /* Header */
+ .layer-panel .header {
+ justify-content: center;
+ }
+
+ .layer-panel .header .close {
+ transform: rotate(90deg);
+ }
+}
+
+/* Landscape. 480x320 phones and above */
+@media only screen and (min-width: 320px) and (orientation: landscape),
+/* Portrait. Portrait tablets/iPad and above */
+only screen and (min-width: 641px) and (orientation: portrait) {
+ .layer-panel .container {
+ display: grid;
+ grid-template-columns: calc(33% - 10px) calc(33% - 10px) calc(33% - 10px);
+ grid-template-rows: -webkit-max-content auto;
+ grid-template-rows: max-content auto;
+ gap: 0 15px;
+ padding: 20px 35px 10px;
+ }
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .layer-panel {
+ position: absolute;
+ right: 0;
+ bottom: unset;
+ left: unset;
+ background: var(--bgGradient);
+ border-radius: 3px;
+ width: auto;
+ }
+
+ .layer-panel .container {
+ display: block;
+ grid-template-columns: unset;
+ padding: 20px 35px 40px;
+ }
+
+ .layer-panel .block {
+ border-right: 0;
+ border-bottom: 1px solid #404040;
+ }
+
+ .layer-panel .block:last-child {
+ border: 0;
+ }
+
+ /* Header */
+ .layer-panel .header {
+ justify-content: end;
+ }
+
+ .layer-panel .header .close {
+ transform: none;
+ opacity: 0.6;
+ }
+}
+
+/*!****************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/breadcrumb/breadcrumb.css ***!
+ \****************************************************************************************************************************************************************************************************/
+.breadcrumb {
+ /* Variables */
+ --inactiveOpacity: 0.7;
+ --activeOpacity: 1;
+
+ /* Properties */
+ display: grid;
+ align-items: center;
+ justify-content: left;
+}
+
+.breadcrumb nav {
+ display: inline-block;
+ vertical-align: middle;
+}
+
+/* Use Nasa icon for home */
+.breadcrumb .container.home {
+ display: grid;
+ grid-template-columns: auto 1fr;
+ align-items: center;
+ -moz-column-gap: 0.5em;
+ column-gap: 0.5em;
+}
+
+.breadcrumb .text {
+ font-size: inherit;
+ font-weight: 600;
+ letter-spacing: 0.64px;
+ color: var(--grayMed);
+ display: contents;
+}
+
+.breadcrumb .link {
+ display: inline-block;
+}
+
+.breadcrumb .text::first-letter {
+ text-transform: uppercase;
+}
+
+.breadcrumb .home .text {
+ display: none;
+ vertical-align: middle;
+}
+
+.breadcrumb.tiny .text,
+.breadcrumb.x-small .text,
+.breadcrumb.small .text,
+.breadcrumb.large .text {
+ font-size: inherit;
+}
+
+/* Active or not */
+.breadcrumb .container {
+ opacity: var(--inactiveOpacity);
+}
+
+.breadcrumb .container.active,
+.breadcrumb .container:last-child {
+ opacity: var(--activeOpacity);
+}
+
+.breadcrumb .container.hidden {
+ display: none;
+}
+
+/* Separator */
+.breadcrumb .container .separator {
+ transform: scale(0.66);
+ display: inline-block;
+ vertical-align: middle;
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .breadcrumb {
+ grid-auto-flow: column;
+ }
+
+ .breadcrumb .container {
+ padding: 0;
+ display: grid;
+ grid-template-columns: -webkit-max-content -webkit-max-content;
+ grid-template-columns: max-content max-content;
+ align-items: center;
+ }
+}
+
+/*!*********************************************************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/story/blocks/story_base_content_block/story_base_content_block.css ***!
+ \*********************************************************************************************************************************************************************************************************************************************/
+.carousel .content-block {
+ margin: auto;
+ margin-bottom: 10px;
+}
+
+.carousel .content-block:last-of-type {
+ margin-bottom: 20px;
+}
+
+/* Only 1 element */
+.carousel .content-block:first-of-type:last-of-type {
+ margin-bottom: auto;
+}
+
+/*!*****************************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/story/blocks/hint_block/hint_block.css ***!
+ \*****************************************************************************************************************************************************************************************************************/
+
+.hint-block .icon {
+ margin: auto;
+}
+
+.hint-block.top {
+ margin-bottom: auto;
+}
+
+.hint-block.bottom {
+ margin-top: auto;
+}
+
+.hint-block.top .icon,
+.hint-block.bottom .icon {
+ display: block;
+}
+
+.hint-block .icon.hidden {
+ display: none;
+}
+
+.hint-block.up .icon-greater {
+ transform: rotate(-90deg);
+}
+
+.hint-block.down .icon-greater {
+ transform: rotate(90deg);
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .hint-block {
+ font-size: 18px;
+ }
+}
+
+/*!*********************************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/story/blocks/toggle_block/toggle_block.css ***!
+ \*********************************************************************************************************************************************************************************************************************/
+.toggle-block {
+ display: inline-block;
+}
+
+.toggle-block button {
+ background: var(--whiteAlpha15);
+ color: var(--white);
+ border-radius: 5px;
+}
+
+.toggle-block.selected button {
+ background: var(--white);
+ color: var(--black);
+}
+
+/*!*******************************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/story/blocks/image_block/image_block.css ***!
+ \*******************************************************************************************************************************************************************************************************************/
+.image-block {
+ display: inline-flex;
+ flex-direction: column;
+ align-items: center;
+ max-height: 70vh;
+}
+
+.image-block.fullscreen {
+ display: flex;
+ justify-content: center;
+ width: 100%;
+ height: var(--vh);
+ padding: 5%;
+ max-width: 100%;
+ max-height: 100%;
+ margin: 0;
+}
+
+.image-block .title {
+ margin: 2px 0 12px 0;
+ color: #aaaaaa;
+ text-align: center;
+}
+
+.image-block img {
+ width: 100%;
+ height: auto;
+ max-width: 100%;
+ max-height: 100%;
+ -o-object-fit: contain;
+ object-fit: contain;
+ overflow: hidden;
+}
+
+/* 480x320 phones and above */
+@media only screen and (min-width: 320px) {
+ .image-block {
+ height: 50vh;
+ margin-bottom: 8px;
+ padding-bottom: 25px;
+ font-size: 12px;
+ }
+}
+
+@media only screen and (max-height: 600px) and (orientation: landscape) {
+ .carousel-container .carousel .slide.overlay .container .content-wrapper .content {
+ flex-direction: unset;
+ }
+
+ .carousel-container .carousel .slide.overlay .image-block {
+ height: 100%;
+ width: 40%;
+ display: flex;
+ justify-content: center;
+ margin-bottom: auto;
+ }
+
+ .image-block+.description-block {
+ height: 100%;
+ width: 60%;
+ display: flex;
+ justify-content: center;
+ flex-flow: column;
+ }
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .image-block {
+ height: auto;
+ padding-bottom: 0;
+ font-size: 14px;
+ }
+}
+
+/*!*******************************************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/story/blocks/description_block/description_block.css ***!
+ \*******************************************************************************************************************************************************************************************************************************/
+.carousel .content-block {
+ --highlightNumber: #ffff00;
+}
+
+/* More toggle */
+.carousel .content-block .more-toggle {
+ display: block;
+}
+
+.carousel .content-block .more-toggle.hidden {
+ display: none;
+}
+
+.carousel .content-block a {
+ text-decoration: underline;
+ color: var(--uranus);
+}
+
+.carousel .content-block .number {
+ font-family: monospace;
+}
+
+.carousel .content-block .number.highlight {
+ color: var(--highlightNumber);
+}
+
+/* 480x320 phones and above */
+@media only screen and (min-width: 320px) {
+ .carousel .content-block.large .body {
+ font-size: 22px;
+ }
+
+ .carousel .description-block .title {
+ margin-top: 25px;
+ }
+
+ .carousel .description-block .title,
+ .carousel .description-block .subtitle {
+ margin-bottom: 5px;
+ }
+
+ .carousel .description-block .subtitle {
+ font-size: 22px;
+ line-height: 1.2;
+ }
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .carousel .content-block .body {
+ font-size: 18px;
+ }
+
+ .carousel .content-block.large .body {
+ font-size: 26px;
+ }
+
+ .carousel .description-block .title,
+ .carousel .description-block .subtitle {
+ margin-bottom: 10px;
+ }
+}
+
+/*!***********************************************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/story/blocks/replay_button_block/replay_button_block.css ***!
+ \***********************************************************************************************************************************************************************************************************************************/
+.replay-button-block {
+ display: inline-block;
+ padding-top: 20px;
+}
+
+.replay-button-block button {
+ display: grid;
+ grid-template-columns: 30px auto;
+ gap: 0 2px;
+ align-items: center;
+ padding: 1px 7px 1px 2px;
+ background: var(--grayDarkAlpha);
+ color: var(--white);
+ border-radius: 5px;
+}
+
+.replay-button-block .text {
+ text-transform: uppercase;
+}
+
+.replay-button-block .icon,
+.replay-button-block .text {
+ opacity: 0.4;
+}
+
+/*!***********************************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/story/blocks/buttons_block/buttons_block.css ***!
+ \***********************************************************************************************************************************************************************************************************************/
+.buttons-block {
+ display: grid;
+ grid-auto-rows: 1fr;
+ width: 90%;
+ height: 300px;
+ font-family: Metropolis, sans-serif;
+}
+
+.block-title {
+ font-weight: 600;
+ margin-top: 20px;
+}
+
+.custom-button {
+ display: flex;
+ gap: 20px;
+ align-items: center;
+ border: 1px solid black;
+ background-color: #202021;
+}
+
+.buttons-block .focused {
+ background-color: #343434;
+ border-left: solid #0d67ff;
+}
+
+.button-icon {
+ width: 56px;
+ height: 56px;
+}
+
+/*!*************************************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/story/blocks/checkbox_block/checkbox_block.css ***!
+ \*************************************************************************************************************************************************************************************************************************/
+.checkboxes-block {
+ width: 90%;
+ height: 200px;
+}
+
+.cb-block-title {
+ font-weight: bold;
+ margin: 35px 0px 15px 0px;
+}
+
+.cb-container {
+ display: block;
+ position: relative;
+ padding-left: 35px;
+ margin-bottom: 12px;
+ cursor: pointer;
+ font-size: 16px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.cb-container input {
+ position: absolute;
+ opacity: 0;
+ cursor: pointer;
+ height: 0;
+ width: 0;
+}
+
+.checkmark {
+ position: absolute;
+ top: 2px;
+ left: 5px;
+ height: 20px;
+ width: 20px;
+ background-color: #eee;
+ border-radius: 3px;
+}
+
+.cb-container input:checked~.checkmark {
+ background-color: #0d67ff;
+}
+
+.checkmark:after {
+ content: "";
+ position: absolute;
+ display: none;
+}
+
+.cb-container input:checked~.checkmark:after {
+ display: block;
+}
+
+.cb-container .checkmark:after {
+ left: 7px;
+ top: 3px;
+ width: 3px;
+ height: 9px;
+ border: solid white;
+ border-width: 0 3px 3px 0;
+ transform: rotate(45deg);
+}
+
+/*!******************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/story/story.css ***!
+ \******************************************************************************************************************************************************************************************/
+.carousel-container {
+ /* Variables */
+ --story-height: calc((var(--vh) - 4px) * 2 / 5);
+
+ /* Properties */
+ padding: 0;
+}
+
+.carousel-container .carousel .slide.grid-layout {
+ display: grid;
+}
+
+.carousel-container .carousel .slide .container {
+ grid-column: head-start / head-end;
+ grid-row: head-start / foot-end;
+}
+
+.carousel-container .carousel .slide.overlay .container {
+ grid-column: head-start / head-end;
+ grid-row: head-start / foot-end;
+ z-index: 10;
+}
+
+.carousel-container .mobile-collapse {
+ transition: bottom 1s;
+}
+
+.carousel-container .slide .collapse-container.collapse .mobile-collapse {
+ bottom: 20px;
+}
+
+.carousel-container .progress.overlay {
+ height: 100%;
+}
+
+/* 480x320 phones and above */
+@media only screen and (min-width: 320px) {
+ .carousel-container .carousel .slide .container {
+ grid-column: main-start / side-end;
+ grid-row: extf-start / foot-end;
+ overflow: hidden;
+ align-content: end;
+ align-self: end;
+ height: 100%;
+ transition: height 1s;
+ }
+
+ .carousel-container .carousel .slide .container.collapse {
+ height: 0;
+ }
+
+ .carousel.expand .slide.active .mobile-hint {
+ -webkit-animation-name: text-pulse;
+ animation-name: text-pulse;
+ -webkit-animation-duration: 1.9s;
+ animation-duration: 1.9s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-iteration-count: 3;
+ animation-iteration-count: 3;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ -webkit-animation-direction: alternate;
+ animation-direction: alternate;
+ }
+
+ .carousel.expand .slide.active .mobile-hint>.hint-text {
+ height: 30px;
+ line-height: 30px;
+ }
+
+ .carousel-container .carousel .slide.overlay .container {
+ align-content: stretch;
+ align-self: unset;
+ height: unset;
+ }
+
+ .carousel-container .carousel .slide.overlay .content-wrapper {
+ padding: 0 20px;
+ }
+
+ .carousel-container .carousel .slide.overlay .container .content {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ }
+
+ /* Background */
+ .carousel-container .carousel.scrolling-done .slide .container .content-container {
+ -webkit-animation-name: mobile-gradient;
+ animation-name: mobile-gradient;
+ -webkit-animation-duration: 0.2s;
+ animation-duration: 0.2s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ background: linear-gradient(180deg,
+ rgba(37, 37, 39, 0) 0%,
+ rgba(37, 37, 39, 0.1) 25%,
+ rgba(37, 37, 39, 0.4) 100%);
+ }
+
+ .carousel-container .carousel.scrolling-done .slide.overlay .container .content-container {
+ -webkit-animation: none;
+ animation: none;
+ background: none;
+ }
+
+ .carousel.hidden .slide .container .content-container,
+ .carousel.scrolling .slide .container .content-container {
+ -webkit-animation: none;
+ animation: none;
+ }
+
+ .carousel-container .progress {
+ height: calc(2 / 5 * 0.75 * 100%);
+ }
+
+ .carousel-container .close-button .text {
+ display: none;
+ }
+}
+
+/* Landscape. 480x320 phones and above */
+@media only screen and (min-width: 320px) and (orientation: landscape) {
+ .carousel-container .carousel .slide .container {
+ grid-row: extf-start / foot-end;
+ height: 100%;
+ }
+
+ .carousel-container .progress {
+ height: calc(2 / 5 * 1 * 100%);
+ }
+
+ .carousel-container .mobile-collapse {
+ bottom: calc(2 / 5 * 100% * 1);
+ }
+
+ .carousel-container .close-button .text {
+ display: unset;
+ }
+}
+
+/* Portrait. Portrait tablets/iPad and above */
+@media only screen and (min-width: 641px) and (orientation: portrait) {
+ .carousel-container .carousel .slide .container {
+ height: 75%;
+ }
+}
+
+/* Landscape. Landscape iPad, big tablet, lo-res laptops/desktops, and above */
+@media only screen and (min-width: 961px) and (orientation: landscape) {
+ .carousel-container .carousel .slide .container {
+ height: 60%;
+ }
+
+ .carousel-container .mobile-collapse {
+ bottom: calc(2 / 5 * 100% * 0.6);
+ }
+
+ .carousel-container .progress {
+ height: calc(2 / 5 * 0.6 * 100%);
+ }
+
+ .carousel-container .close-button .text {
+ display: unset;
+ }
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .carousel-container .carousel .slide .container {
+ grid-column: main-start / extd-end;
+ grid-row: head-end / foot-start;
+ margin: 0 0 0 -20px;
+ height: 100%;
+ position: relative;
+ }
+
+ .carousel-container .carousel .slide.overlay .container {
+ height: 100%;
+ margin: 0;
+ }
+
+ .carousel-container .carousel .slide.overlay .content-wrapper {
+ padding: 0;
+ }
+
+ .carousel-container .carousel.scrolling-done .slide .container .content-container {
+ -webkit-animation: none;
+ animation: none;
+ }
+
+ .carousel-container .carousel.scrolling .slide .container .content-container,
+ .carousel-container .carousel.scrolling-done .slide .container .content-container {
+ background: none;
+ }
+
+ .carousel-container .close-button {
+ font-size: 18px;
+ }
+
+ .carousel-container .close-button .text {
+ display: unset;
+ }
+
+ .carousel-container .progress {
+ height: calc(3 / 5 * 1 * 100%);
+ }
+}
+
+@-webkit-keyframes gradient {
+ 0% {
+ background-position: 0% 50%;
+ }
+
+ 100% {
+ background-position: 100% 50%;
+ }
+}
+
+@keyframes gradient {
+ 0% {
+ background-position: 0% 50%;
+ }
+
+ 100% {
+ background-position: 100% 50%;
+ }
+}
+
+@-webkit-keyframes text-pulse {
+ 0% {
+ opacity: 0.5;
+ }
+
+ 50% {
+ opacity: 0.9;
+ }
+
+ 100% {
+ opacity: 0.5;
+ }
+}
+
+@keyframes text-pulse {
+ 0% {
+ opacity: 0.5;
+ }
+
+ 50% {
+ opacity: 0.9;
+ }
+
+ 100% {
+ opacity: 0.5;
+ }
+}
+
+/*!****************************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/kiosk_base/kiosk_base.css ***!
+ \****************************************************************************************************************************************************************************************************/
+.kiosk-container {
+ position: absolute;
+ inset: 0;
+ z-index: calc(var(--overlay-z-index) * 2);
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-template-rows: repeat(5, 1fr);
+}
+
+.session-end-container {
+ position: absolute;
+ inset: 0;
+ z-index: calc(var(--overlay-z-index) * 2);
+ display: grid;
+ justify-items: center;
+ align-items: center;
+ background: rgba(0 0 0 / 75%);
+}
+
+.session-end-buttons-container {
+ z-index: calc(var(--overlay-z-index) * 2);
+ pointer-events: all;
+ display: grid;
+ grid-template-columns: repeat(4, 1fr);
+ grid-template-rows: repeat(2, 1fr);
+ -moz-column-gap: 3em;
+ column-gap: 3em;
+}
+
+.session-ended-msg {
+ align-self: center;
+ grid-column: 2 / span 2;
+ font-size: 1.75em;
+ font-weight: 600;
+ margin: 1em;
+ text-align: center;
+}
+
+.kiosk-btn {
+ display: grid;
+ align-items: center;
+ background-color: var(--grayblueButton);
+ width: 14em;
+ height: 4.5em;
+ border-radius: 0.5em;
+ font-size: 1.75em;
+ font-weight: 600;
+ text-align: center;
+}
+
+.session-end-btn {
+ grid-column: span 2;
+ grid-row: 2;
+}
+
+.force-restart {
+ grid-column: 2 / span 2;
+}
+
+.autoplay-container {
+ display: grid;
+ justify-self: center;
+ align-self: center;
+ grid-column-start: 2;
+ grid-row-start: 3;
+ pointer-events: all;
+}
+
+.touch-to-start-btn {
+ grid-column-start: 2;
+ grid-row-start: 3;
+}
+
+.session-timer-container {
+ display: flex;
+ justify-self: end;
+ align-self: center;
+ align-items: center;
+ grid-template-columns: 1fr 1fr;
+ grid-column-start: 3;
+ grid-row-start: 1;
+ margin-right: 1em;
+ color: rgb(255 255 188);
+ font-size: 1.5em;
+}
+
+.session-countdown-timer {
+ opacity: 0.6;
+}
+
+.loading-text {
+ display: grid;
+ justify-self: center;
+ align-self: center;
+ align-items: center;
+ grid-column-start: 2;
+ grid-row-start: 4;
+ z-index: calc(var(--overlay-z-index) * 4);
+ padding: 1em;
+ background: rgba(0 0 0 / 35%);
+ border-radius: 5px;
+ color: white;
+ text-align: center;
+ font: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 2.5em;
+ font-weight: 600;
+}
+
+/*!******************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/components/toast/toast.css ***!
+ \******************************************************************************************************************************************************************************************/
+.toast-container {
+ position: inherit;
+ display: flex;
+ gap: min(2vw, 0.7em);
+ align-items: center;
+ justify-content: space-between;
+ grid-row: -2;
+ grid-column-start: 1;
+ background-color: var(--toast-bg-color);
+ padding: 0.5em 0.5em 0.5em 0.8em;
+ border-radius: 0.5em;
+ transition-property: opacity, transform;
+ transition-duration: 0.5s;
+ transition-timing-function: var(--ease-out-bezier);
+ opacity: 1;
+ z-index: 40;
+}
+
+.toast-container.hidden {
+ display: flex;
+ transition-duration: 0.2s;
+ opacity: 0;
+ transform: translateY(2em);
+}
+
+.toast-container button.close {
+ transform: scale(1.5);
+ filter: invert();
+}
+
+.toast-content>div {
+ display: flex;
+ align-items: center;
+ max-width: 30vw;
+ gap: min(2vw, 0.7em);
+}
+
+.toast-content .content-text {
+ display: block;
+ color: var(--grayDark);
+ font-size: clamp(0.75rem, min(2vh, 2vw), 0.9rem);
+ font-weight: 600;
+ min-width: 0;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+.toast-content button.undo {
+ color: rgb(0 37 158 / 80%);
+ font-size: clamp(0.75rem, min(2vh, 2vw), 0.9rem);
+ font-weight: 600;
+ line-height: 1;
+ border: 0.1em solid rgb(0 37 158 / 20%);
+ border-radius: 0.25em;
+ padding: 0.4em 0.6em;
+ transition: transform 0.2s var(--ease-out-bezier);
+ flex: 1;
+}
+
+@media (min-width: 1025px) {
+ body.touch:has(nav.items-2) .toast-container {
+ grid-row: 2;
+ justify-self: center;
+ grid-column: 2 / -2;
+ margin: 0;
+ }
+}
+
+/*!****************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/animation.css ***!
+ \****************************************************************************************************************************************************************************************/
+@-webkit-keyframes fade-in {
+ 0% {
+ opacity: 0;
+ }
+
+ 100% {
+ opacity: 1;
+ }
+}
+
+@keyframes fade-in {
+ 0% {
+ opacity: 0;
+ }
+
+ 100% {
+ opacity: 1;
+ }
+}
+
+@-webkit-keyframes fade-out {
+ 0% {
+ opacity: 1;
+ }
+
+ 100% {
+ opacity: 0;
+ }
+}
+
+@keyframes fade-out {
+ 0% {
+ opacity: 1;
+ }
+
+ 100% {
+ opacity: 0;
+ }
+}
+
+@-webkit-keyframes fade-in-left {
+ 0% {
+ opacity: 0;
+ transform: translateX(-100%);
+ }
+
+ 100% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+}
+
+@keyframes fade-in-left {
+ 0% {
+ opacity: 0;
+ transform: translateX(-100%);
+ }
+
+ 100% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+}
+
+@-webkit-keyframes fade-out-left {
+ 0% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+
+ 100% {
+ opacity: 0;
+ transform: translateX(-100%);
+ }
+}
+
+@keyframes fade-out-left {
+ 0% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+
+ 100% {
+ opacity: 0;
+ transform: translateX(-100%);
+ }
+}
+
+@-webkit-keyframes fade-out-bottom {
+ 0% {
+ transform: translateY(0);
+ opacity: 1;
+ }
+
+ 100% {
+ transform: translateY(100%);
+ opacity: 0;
+ }
+}
+
+@keyframes fade-out-bottom {
+ 0% {
+ transform: translateY(0);
+ opacity: 1;
+ }
+
+ 100% {
+ transform: translateY(100%);
+ opacity: 0;
+ }
+}
+
+@-webkit-keyframes fade-in-bottom {
+ 0% {
+ transform: translateY(100%);
+ opacity: 0;
+ }
+
+ 100% {
+ transform: translateY(0);
+ opacity: 1;
+ }
+}
+
+@keyframes fade-in-bottom {
+ 0% {
+ transform: translateY(100%);
+ opacity: 0;
+ }
+
+ 100% {
+ transform: translateY(0);
+ opacity: 1;
+ }
+}
+
+@-webkit-keyframes pulse {
+ 0% {
+ opacity: 0.75;
+ transform: scale(1);
+ }
+
+ 30% {
+ opacity: 0.1;
+ transform: scale(0);
+ }
+
+ 70% {
+ opacity: 0.1;
+ transform: scale(0);
+ }
+
+ 100% {
+ opacity: 0.75;
+ transform: scale(1);
+ }
+}
+
+@keyframes pulse {
+ 0% {
+ opacity: 0.75;
+ transform: scale(1);
+ }
+
+ 30% {
+ opacity: 0.1;
+ transform: scale(0);
+ }
+
+ 70% {
+ opacity: 0.1;
+ transform: scale(0);
+ }
+
+ 100% {
+ opacity: 0.75;
+ transform: scale(1);
+ }
+}
+
+@-webkit-keyframes spin {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+@keyframes spin {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+@-webkit-keyframes blink {
+ 0% {
+ outline: 1px transparent solid;
+ }
+
+ 25% {
+ outline: 1px var(--error) solid;
+ }
+
+ 50% {
+ outline: 4px var(--error) solid;
+ }
+
+ 75% {
+ outline: 1px var(--error) solid;
+ }
+
+ 100% {
+ outline: 1px transparent solid;
+ }
+}
+
+@keyframes blink {
+ 0% {
+ outline: 1px transparent solid;
+ }
+
+ 25% {
+ outline: 1px var(--error) solid;
+ }
+
+ 50% {
+ outline: 4px var(--error) solid;
+ }
+
+ 75% {
+ outline: 1px var(--error) solid;
+ }
+
+ 100% {
+ outline: 1px transparent solid;
+ }
+}
+
+/* Animation transitions */
+
+:root {
+ --ease-out-bezier: cubic-bezier(0.2, 0.2, 0, 1);
+}
+
+/*!********************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/camera_follow.css ***!
+ \********************************************************************************************************************************************************************************************/
+/* stylelint-disable custom-property-pattern */
+/* ---------------- Search component overrides --------------- */
+
+.camera-follow>.search {
+ display: block;
+ width: 100%;
+ height: 2em;
+ margin-top: 0.5em;
+ transition-property: opacity, visibility, height;
+ transition-duration: 0.3s, 0.3s, 0.5s;
+ transition-delay: 0.25s, 0.25s, 0s;
+ /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
+ transition-timing-function: var(--ease-out-bezier);
+}
+
+.camera-follow .search.hidden {
+ transition-delay: 2s, 2s, 2.15s;
+ display: unset;
+ opacity: 0;
+ height: 0;
+}
+
+.camera-follow .search .cover {
+ display: none;
+}
+
+.camera-follow .search .bar {
+ padding: 0.4rem;
+ margin: 0;
+ grid-template-columns: auto 1fr auto;
+ grid-template-areas: "search input close";
+ max-width: 20rem;
+}
+
+.camera-follow .search .bar .icon-search {
+ grid-area: close;
+}
+
+.camera-follow .search .search-open .bar input {
+ transition: opacity 0.3s var(--ease-out-bezier);
+ opacity: 1;
+}
+
+.camera-follow .search .results {
+ background: linear-gradient(180deg,
+ var(--grayDarkAlpha80) 0%,
+ rgb(7 7 9 / 100%) 120%);
+ border-radius: 0 0 0.3em 0.3em;
+ border: none;
+}
+
+.camera-follow .search .suggestion {
+ padding: 1rem 0;
+}
+
+.camera-follow .search .results .result-div:last-child {
+ margin-bottom: 0.7em;
+}
+
+.camera-follow .results-container>.results:not(:empty) {
+ padding-top: 1rem;
+}
+
+.camera-follow .search .search-close-icon,
+.camera-follow .search>span.icon-search {
+ display: none;
+}
+
+.camera-follow .search .search-close {
+ display: unset;
+ pointer-events: auto;
+}
+
+.camera-follow .search .search-info {
+ opacity: 0;
+}
+
+.camera-follow .input-focused .search-info {
+ opacity: 1;
+ z-index: 2;
+}
+
+.camera-follow .input-focused .search-info:has(+ .featured > ul:empty) {
+ opacity: 0;
+}
+
+.camera-follow .featured {
+ z-index: 1;
+ opacity: 0;
+ height: unset;
+ border-radius: 0 0 0.3em 0.3em;
+ background: linear-gradient(180deg,
+ var(--grayDarkAlpha80) 0%,
+ rgb(37 37 39) 10%,
+ rgb(7 7 9) 100%);
+}
+
+.camera-follow .featured.hidden {
+ display: unset;
+ transform: scaleY(0);
+}
+
+.camera-follow .input-focused .featured {
+ opacity: 1;
+}
+
+.camera-follow .featured:has(ul:empty) {
+ opacity: 0;
+}
+
+.camera-follow .featured>ul {
+ padding: 1rem 0 0;
+}
+
+/* On dragging, show the re-frame element - this should maybe have it's own element */
+#static-ui>div.follow-reframe {
+ position: absolute;
+ top: 12vh;
+ right: 8vw;
+ bottom: 12vh;
+ left: 8vw;
+ border: 0.1rem solid var(--toast-bg-color);
+ opacity: 0;
+ transition: opacity 0.3s 1s var(--ease-out-bezier);
+}
+
+#static-ui>div.follow-reframe::before {
+ content: "▣";
+ position: absolute;
+ inset: 8vh 8vw 8vh 8vw;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 1rem;
+ font-weight: 100;
+ color: var(--toast-bg-color);
+ border: 0.1rem solid var(--toast-bg-color);
+ opacity: 0.4;
+}
+
+#static-ui>div.follow-reframe::after {
+ content: "Re-framing follow camera";
+ position: absolute;
+ left: 50%;
+ top: 0;
+ transform: translate(-50%, -50%);
+ text-align: center;
+ white-space: nowrap;
+ color: var(--toast-bg-color);
+ text-shadow: 0 0 0.3em rgb(30 30 80 / 80%), 0 0 0.3em rgb(30 30 80 / 80%),
+ 0 0 1em rgb(21 42 65 / 100%);
+ border-radius: 0.5em;
+ font-size: clamp(0.8rem, min(2vh, 2vw), 1rem);
+ font-weight: 600;
+ padding: 0.4em 0.8em;
+ z-index: 1;
+}
+
+body.offset-right #static-ui>div.follow-reframe {
+ left: calc(8vw + var(--offset-right) * 2);
+}
+
+body.offset-up #static-ui>div.follow-reframe {
+ bottom: calc(12vh + var(--offset-up) * 2);
+}
+
+#static-ui.follow-dragging>div.follow-reframe {
+ transition: opacity 0.5s var(--ease-out-bezier);
+ opacity: 0.9;
+}
+
+/*!************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/color.css ***!
+ \************************************************************************************************************************************************************************************/
+:root {
+ /* Primary */
+ --black: #000000;
+ --blackAlpha: #00000380;
+ --white: #ffffff;
+ --whiteAlpha15: #ffffff26;
+ /* 15% transparent */
+ --gray: #95959d;
+ --grayAlpha: #95959d33;
+ /* 20% transparent */
+ --grayMed: #c6c6c9;
+ --grayLight: #eaeaeb;
+ --grayDark: #252527;
+ --grayDarkAlpha: #25252799;
+ /* 60% transparent */
+ --grayDarkAlpha80: #252527cc;
+ /* 80% transparent */
+ --cta-blue: #3e63dd;
+ --toast-bg-color: #c6d4f9;
+ --grayblueWhite: #f0f8fc;
+ --grayblueLight: #d2e1e8;
+ --grayblueMed: #a4bac1;
+ --grayblueText: #83959b;
+ --grayblueDivider: #25282b;
+ --grayblueBackground: #151a1d;
+ --grayblueButton: #425571;
+
+ /* Semantic */
+ --live: #47da84;
+ --liveAlpha: #47da84bf;
+ /* 75% transparent */
+ --error: #d55033;
+ --grayDivider: rgb(55 55 58);
+
+ /* Gradients */
+ --bgGradient: linear-gradient(180deg,
+ #272527 0%,
+ rgb(37 37 39 / 80%) 52.08%,
+ rgb(37 37 39 / 0%) 100%);
+ --mobileBgGradient: linear-gradient(180deg,
+ #252527ee 0%,
+ rgb(37 37 39 / 85%) 52.08%,
+ rgb(0 0 0 / 80%) 100%);
+
+ /* Secondary */
+ --sun: #f7f4df;
+ --sunMed: #b8b7a7;
+ --sunDark: #626259;
+ --mercury: #9768ac;
+ --mercuryMed: #714e81;
+ --mercuryDark: #3c2a45;
+ --venus: #b07919;
+ --venusMed: #845b13;
+ --venusDark: #46300a;
+ --earth: #0099cc;
+ --earthMed: #007399;
+ --earthDark: #003d52;
+ --mars: #9a4e19;
+ --marsMed: #733a13;
+ --marsDark: #3d1f0a;
+ --jupiter: #da8b72;
+ --jupiterMed: #a36855;
+ --jupiterDark: #57382e;
+ --saturn: #d5c187;
+ --saturnMed: #786d4c;
+ --saturnDark: #554d36;
+ --uranus: #68ccda;
+ --uranusMed: #4e99a3;
+ --uranusDark: #2a5257;
+ --neptune: #708ce3;
+ --neptuneMed: #5469aa;
+ --neptuneDark: #2d385b;
+ --nasa-blue: #288bff;
+
+ /* Tertiary */
+ --spacecraft: #cd9745;
+ --moon: #b6acac;
+ --dwarfPlanet: #929871;
+ --comet: #7e86b0;
+ --asteroid: #806262;
+ --constellation: #59b2ff;
+ --constellationGlow: #287bc4;
+ --constellationGlowMed: #165d9b;
+ --constellationGlowDark: #070a99;
+}
+
+/*!***********************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/font.css ***!
+ \***********************************************************************************************************************************************************************************/
+/* Metropolis */
+@font-face {
+ font-family: "Metropolis";
+ font-weight: 100;
+ src: url("./assets/default/fonts/Metropolis-Thin.woff");
+}
+
+@font-face {
+ font-family: "Metropolis";
+ font-weight: 300;
+ src: url("./assets/default/fonts/Metropolis-Light.woff");
+}
+
+@font-face {
+ font-family: "Metropolis";
+ font-weight: 600;
+ src: url("./assets/default/fonts/Metropolis-SemiBold.woff");
+}
+
+/* Inter */
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 300;
+ font-display: swap;
+ src: url("./assets/default/fonts/Inter-Light.woff2?v=3.15") format("woff2"),
+ url("./assets/default/fonts/Inter-Light.woff?v=3.15") format("woff");
+}
+
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url("./assets/default/fonts/Inter-Regular.woff2?v=3.15") format("woff2"),
+ url("./assets/default/fonts/Inter-Regular.woff?v=3.15") format("woff");
+}
+
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url("./assets/default/fonts/Inter-SemiBold.woff2?v=3.15") format("woff2"),
+ url("./assets/default/fonts/Inter-SemiBold.woff?v=3.15") format("woff");
+}
+
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url("./assets/default/fonts/Inter-Bold.woff2?v=3.15") format("woff2"),
+ url("./assets/default/fonts/Inter-Bold.woff?v=3.15") format("woff");
+}
+
+/* DM Mono */
+@font-face {
+ font-family: "DMMono";
+ font-weight: 300;
+ src: url("./assets/default/fonts/DMMono-Light.woff");
+}
+
+@font-face {
+ font-family: "DMMono";
+ font-weight: 400;
+ src: url("./assets/default/fonts/DMMono-Regular.woff");
+}
+
+@font-face {
+ font-family: "DMMono";
+ font-weight: 500;
+ src: url("./assets/default/fonts/DMMono-Medium.woff");
+}
+
+/*!*************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/sprite.css ***!
+ \*************************************************************************************************************************************************************************************/
+.icon {
+ display: inline-block;
+ background-repeat: no-repeat;
+ background-image: url(./assets/default/svg/sprite.svg);
+}
+
+.icon-arrow-left-large {
+ width: 60px;
+ height: 60px;
+ background-position: 0 0;
+}
+
+.icon-arrow-right-large {
+ width: 60px;
+ height: 60px;
+ background-position: -76px 0;
+}
+
+.icon-back-to-live {
+ width: 10px;
+ height: 10px;
+ background-position: 0 -76px;
+}
+
+.icon-live {
+ width: 10px;
+ height: 10px;
+ background-position: -26px -76px;
+}
+
+.icon-external {
+ width: 14px;
+ height: 14px;
+ background-position: 0 -102px;
+}
+
+.icon-backward {
+ width: 14px;
+ height: 14px;
+ background-position: -30px -102px;
+}
+
+.icon-forward {
+ width: 14px;
+ height: 14px;
+ background-position: -60px -102px;
+}
+
+.icon-checkmark {
+ width: 15px;
+ height: 15px;
+ background-position: 0 -132px;
+}
+
+.icon-checkbox {
+ width: 15px;
+ height: 15px;
+ background-position: -62px -132px;
+}
+
+.icon-checkbox-selected {
+ width: 15px;
+ height: 15px;
+ background-position: -93px -132px;
+}
+
+.icon-radio-circle {
+ width: 15px;
+ height: 15px;
+ background-position: -124px -132px;
+}
+
+.icon-radio-selected {
+ width: 15px;
+ height: 15px;
+ background-position: -186px -132px;
+}
+
+.icon-hexagon {
+ width: 14px;
+ height: 16px;
+ background-position: 0 -163px;
+}
+
+.icon-circle-white-small {
+ width: 16px;
+ height: 16px;
+ background-position: -32px -163px;
+}
+
+.icon-natural-light {
+ width: 8px;
+ height: 16px;
+ background-position: -64px -163px;
+}
+
+.icon-flood-light {
+ width: 16px;
+ height: 16px;
+ background-position: -96px -163px;
+}
+
+.icon-shadow-light {
+ width: 16px;
+ height: 16px;
+ background-position: -128px -163px;
+}
+
+.icon-triangle {
+ width: 20px;
+ height: 20px;
+ background-position: 0 -195px;
+}
+
+.icon-circle-earth {
+ width: 20px;
+ height: 20px;
+ background-position: -36px -195px;
+}
+
+.icon-circle-jupiter {
+ width: 20px;
+ height: 20px;
+ background-position: -72px -195px;
+}
+
+.icon-circle-mars {
+ width: 20px;
+ height: 20px;
+ background-position: -108px -195px;
+}
+
+.icon-circle-mercury {
+ width: 20px;
+ height: 20px;
+ background-position: -144px -195px;
+}
+
+.icon-circle-neptune {
+ width: 20px;
+ height: 20px;
+ background-position: -180px -195px;
+}
+
+.icon-circle-saturn {
+ width: 20px;
+ height: 20px;
+ background-position: -216px -195px;
+}
+
+.icon-circle-sun {
+ width: 20px;
+ height: 20px;
+ background-position: -252px -195px;
+}
+
+.icon-circle-uranus {
+ width: 20px;
+ height: 20px;
+ background-position: -288px -195px;
+}
+
+.icon-circle-venus {
+ width: 20px;
+ height: 20px;
+ background-position: -324px -195px;
+}
+
+.icon-circle-white {
+ width: 20px;
+ height: 20px;
+ background-position: -360px -195px;
+}
+
+.icon-hd {
+ width: 30px;
+ height: 30px;
+ background-position: 0 -231px;
+ opacity: 0.4;
+ background-color: none;
+}
+
+.icon-hd-on {
+ width: 30px;
+ height: 30px;
+ background-position: -46px -231px;
+ opacity: 0.4;
+ background-color: none;
+}
+
+.icon-constellation {
+ width: 30px;
+ height: 30px;
+ background-position: -92px -231px;
+}
+
+.icon-layers {
+ width: 30px;
+ height: 30px;
+ background-position: -184px -231px;
+}
+
+.icon-arrow-down {
+ width: 30px;
+ height: 30px;
+ background-position: -276px -231px;
+}
+
+.icon-arrow-left {
+ width: 30px;
+ height: 30px;
+ background-position: -322px -231px;
+}
+
+.icon-arrow-right {
+ width: 30px;
+ height: 30px;
+ background-position: -368px -231px;
+}
+
+.icon-arrow-up {
+ width: 30px;
+ height: 30px;
+ background-position: -414px -231px;
+}
+
+.icon-clock {
+ width: 30px;
+ height: 30px;
+ background-position: -460px -231px;
+}
+
+.icon-story {
+ width: 30px;
+ height: 30px;
+ background-position: -552px -231px;
+}
+
+.icon-auto-cam {
+ width: 30px;
+ height: 30px;
+ background-position: -644px -231px;
+}
+
+.icon-free-cam {
+ width: 30px;
+ height: 30px;
+ background-position: -46px -277px;
+}
+
+.icon-box {
+ width: 30px;
+ height: 30px;
+ background-position: -92px -277px;
+}
+
+.icon-info {
+ width: 30px;
+ height: 30px;
+ background-position: -184px -277px;
+}
+
+.icon-hide {
+ width: 30px;
+ height: 30px;
+ background-position: -230px -277px;
+}
+
+.icon-km {
+ width: 30px;
+ height: 30px;
+ background-position: -322px -277px;
+}
+
+
+.icon-mi {
+ width: 30px;
+ height: 30px;
+ background-position: -414px -277px;
+}
+
+.icon-lighting {
+ width: 54px;
+ height: 30px;
+ background-position: -506px -277px;
+}
+
+.icon-fullscreen {
+ width: 30px;
+ height: 30px;
+ background-position: 0 -323px;
+}
+
+.icon-expand {
+ width: 30px;
+ height: 30px;
+ background-position: -92px -323px;
+}
+
+.icon-controls {
+ width: 30px;
+ height: 30px;
+ background-position: -230px -323px;
+}
+
+.icon-expand-side {
+ width: 30px;
+ height: 30px;
+ background-position: -276px -323px;
+}
+
+.icon-replay {
+ width: 30px;
+ height: 30px;
+ background-position: -368px -323px;
+}
+
+.icon-menu {
+ width: 30px;
+ height: 30px;
+ background-position: -414px -323px;
+}
+
+.icon-search {
+ width: 30px;
+ height: 30px;
+ background-position: -460px -323px;
+}
+
+.icon-close {
+ width: 30px;
+ height: 30px;
+ background-position: -506px -323px;
+}
+
+.icon-minus {
+ width: 30px;
+ height: 30px;
+ background-position: -552px -323px;
+}
+
+.icon-plus {
+ width: 30px;
+ height: 30px;
+ background-position: -598px -323px;
+}
+
+.icon-collapse {
+ width: 30px;
+ height: 30px;
+ background-position: -644px -323px;
+}
+
+
+.icon-collapse-side {
+ width: 30px;
+ height: 30px;
+ background-position: 0 -369px;
+}
+
+
+.icon-dropdown {
+ width: 30px;
+ height: 30px;
+ background-position: -92px -369px;
+}
+
+.icon-dropup {
+ width: 31px;
+ height: 30px;
+ background-position: -138px -369px;
+}
+
+.icon-greater {
+ width: 30px;
+ height: 30px;
+ background-position: -184px -369px;
+}
+
+.icon-lesser {
+ width: 30px;
+ height: 30px;
+ background-position: -230px -369px;
+}
+
+.icon-pause {
+ width: 30px;
+ height: 30px;
+ background-position: -276px -369px;
+}
+
+
+
+.icon-play {
+ width: 30px;
+ height: 30px;
+ background-position: -368px -369px;
+}
+
+
+.icon-telescope {
+ width: 30px;
+ height: 30px;
+ background-position: -460px -369px;
+}
+
+/*!***********************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/icon.css ***!
+ \***********************************************************************************************************************************************************************************/
+:root {
+ --customIconLabelMargin: 50%;
+}
+
+/* Additional icons outside of the sprite.css */
+.icon-nasa-logo {
+ background-image: url(./assets/default/svg/nasa_logo.svg);
+ width: 45px;
+ height: 45px;
+}
+
+.icon-crosshair {
+ background-image: url(./assets/default/svg/crosshair.svg);
+ width: 80px;
+ height: 40px;
+}
+
+.icon-finger {
+ background-image: url(./assets/default/svg/finger.svg);
+ width: 30px;
+ height: 30px;
+}
+
+.icon-bg {
+ background: var(--grayDarkAlpha);
+ border-radius: 3px;
+}
+
+.icon-share {
+ background-image: url(./assets/default/svg/share_arrow.svg);
+ background-origin: content-box;
+ background-position: center;
+ background-size: contain;
+ width: 1.125rem;
+ height: 1.125rem;
+}
+
+.icon-help {
+ background-image: url(./assets/default/svg/help_icon.svg);
+ background-origin: content-box;
+ background-position: center;
+ width: 1.5rem;
+ height: 1.5rem;
+}
+
+.icon-locked {
+ background-image: url(./assets/default/svg/locked.svg);
+ background-origin: content-box;
+ background-position: center;
+ width: 1.4rem;
+ height: 1.4rem;
+}
+
+.icon.hidden {
+ display: none;
+}
+
+
+/*!******************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/grid_layout.css ***!
+ \******************************************************************************************************************************************************************************************/
+/* Default properties */
+.grid-layout {
+ display: grid;
+ gap: 2px;
+ background: transparent;
+ padding: 0;
+}
+
+.grid-5-12 {
+ grid-template-columns: repeat(12, 1fr);
+ grid-template-rows: repeat(5, 1fr);
+ grid-template-areas:
+ "header header header header header header header header header header header header"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "footer footer footer footer footer footer footer footer footer footer footer footer";
+}
+
+.grid-6-12 {
+ grid-template-columns: repeat(12, 1fr);
+ grid-template-rows: repeat(6, 1fr);
+ grid-template-areas:
+ "header header header header header header header header header header header header"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "footer footer footer footer footer footer footer footer footer footer footer footer";
+}
+
+.grid-8-12 {
+ grid-template-columns: repeat(12, 1fr);
+ grid-template-rows: repeat(8, 1fr);
+ grid-template-areas:
+ "header header header header header header header header header header header header"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "left left left mid-left mid-left mid-left mid-right mid-right mid-right right right right"
+ "footer footer footer footer footer footer footer footer footer footer footer footer";
+}
+
+.simple-grid {
+ /* Variables */
+ --rowGap: 4px;
+ --columnGap: 8px;
+
+ /* Properties */
+ grid-template-columns: repeat(12, 1fr);
+ grid-template-rows: repeat(5, 1fr);
+ grid-template-areas:
+ "head head head head head head head head head head head head"
+ "main main main extd .... .... .... .... .... .... side side"
+ "main main main extd extm extm extm extm extm extm side side"
+ "main main main extd extf extf extf extf extf extf side side"
+ "foot foot foot foot foot foot foot foot foot foot foot foot";
+ gap: var(--rowGap) var(--columnGap);
+ padding: 0;
+}
+
+/* Landscape. 480x320 phones and above */
+@media only screen and (min-width: 320px) and (orientation: landscape),
+/* Portrait. Portrait tablets/iPad and above */
+only screen and (min-width: 641px) and (orientation: portrait) {
+ .simple-grid {
+ /* Variables */
+ --rowGap: 4px;
+ --columnGap: 4px;
+
+ /* Properties */
+ padding: 0 20px;
+ }
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .simple-grid {
+ /* Variables */
+ --rowGap: 20px;
+ --columnGap: 24px;
+
+ /* Properties */
+ padding: 0 20px;
+ }
+}
+
+/*!*************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/layout.css ***!
+ \*************************************************************************************************************************************************************************************/
+/* Layout */
+body {
+ -ms-scroll-chaining: none;
+ overscroll-behavior: none;
+ margin: 0;
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100vw;
+ height: 100%;
+ color: black;
+}
+
+#pioneer {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.ui {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100vw;
+ height: 100%;
+ min-width: 320px;
+ pointer-events: none;
+}
+
+.ui .clickable {
+ pointer-events: all;
+ cursor: pointer;
+}
+
+.ui .hidden .clickable {
+ pointer-events: none;
+ cursor: unset;
+}
+
+/* Components */
+.time-controller .rate-container {
+ display: grid;
+ grid-template-rows: auto;
+ justify-content: start;
+ align-items: center;
+}
+
+.clock-shortcut {
+ grid-row: 1;
+ grid-column: 1;
+ display: grid;
+}
+
+.extended-controls {
+ display: grid;
+ grid-template-columns: auto auto;
+ align-items: center;
+ width: 100%;
+}
+
+.grid-layout header .breadcrumb {
+ height: 45px;
+ grid-column: 1;
+ grid-row: 1;
+}
+
+.grid-layout header .top-right-nav {
+ grid-column: 2;
+ grid-row: 1;
+ justify-self: end;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ gap: 1rem;
+ font-family: Inter, Metropolis, sans-serif;
+}
+
+body.story-view header .top-right-nav {
+ margin-right: 6rem;
+}
+
+/* 480x320 phones and above */
+@media only screen and (min-width: 320px) {
+ .clock {
+ grid-row: 1;
+ grid-column: 2;
+ align-self: end;
+ justify-self: end;
+ }
+
+ .time-controller {
+ justify-self: stretch;
+ }
+
+ .time-controller .rate-container {
+ grid-template-columns: auto 85px 2px 85px auto;
+ grid-template-rows: 30px;
+ }
+
+ .time-controller .rate-container .play-pause {
+ display: none;
+ }
+
+ .clock-shortcut {
+ grid-template-rows: auto auto;
+ }
+
+ .extended-controls {
+ border-top: 1px solid var(--grayDark);
+ grid-column: span 2;
+ padding-top: 10px;
+ margin-bottom: 10px;
+ }
+}
+
+/* Landscape. 480x320 phones and above */
+@media only screen and (min-width: 320px) and (orientation: landscape) {
+ .clock-shortcut {
+ grid-template-rows: auto;
+ grid-template-columns: auto auto;
+ }
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .clock {
+ grid-row: 2;
+ grid-column: 1;
+ align-self: auto;
+ justify-self: auto;
+ }
+
+ .time-controller {
+ justify-self: auto;
+ }
+
+ .time-controller .rate-container {
+ grid-template-columns: auto auto 90px 2px 90px auto;
+ grid-template-rows: 30px;
+ }
+
+ .time-controller .rate-container .play-pause {
+ display: block;
+ }
+
+ .clock-shortcut {
+ grid-column: span 2;
+ grid-template-rows: auto;
+ grid-template-columns: auto auto;
+ }
+
+ .extended-controls {
+ border-top: none;
+ grid-row: 2;
+ grid-column: 2;
+ padding-top: 0;
+ margin-bottom: 0;
+ }
+}
+
+/*!***********************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/grid.css ***!
+ \***********************************************************************************************************************************************************************************/
+/* Shared properties */
+:root {
+ --gridHeaderHeight: 75px;
+}
+
+/* Timeline */
+.simple-grid .float-mid {
+ width: 100%;
+ align-self: end;
+ justify-self: start;
+}
+
+/* Overlay */
+.simple-grid .overlay-container .overlay {
+ grid-column: auto;
+ grid-row: auto;
+}
+
+/* 480x320 phones and above */
+@media only screen and (min-width: 320px) {
+
+ /* Content panel */
+ .simple-grid .content-panel {
+ grid-column: main-start / side-end;
+ grid-row: extf-start / foot-end;
+ }
+
+ .simple-grid .content-panel.overlay {
+ grid-row: head-start / foot-end;
+ }
+
+ /* Featured Stories panel */
+ .simple-grid .featured-stories-panel {
+ grid-column: main-start / side-end;
+ grid-row: extf-start / foot-end;
+ }
+
+ /* Header */
+ .simple-grid header {
+ grid-area: head;
+ display: grid;
+ grid-template-columns: auto minmax(70px, -webkit-max-content);
+ grid-template-columns: auto minmax(70px, max-content);
+ justify-content: space-between;
+ align-items: center;
+ margin: 0 20px;
+ gap: 10px;
+ }
+
+ /* Controls */
+ .simple-grid .float-right-bottom {
+ grid-column: 11 / side-end;
+ grid-row: foot-start / foot-end;
+ align-self: end;
+ justify-self: start;
+ width: 100%;
+ margin-bottom: 105px;
+ padding-right: 20px;
+ position: absolute;
+ }
+
+ /* Timeline */
+ .simple-grid .float-mid {
+ grid-column: 2 / side-start;
+ grid-row: 3;
+ }
+
+ .simple-grid .float-mid.low {
+ grid-row: 4;
+ }
+
+ /* Time */
+ .simple-grid .float-mid-bottom {
+ grid-area: foot;
+ grid-template-columns: auto -webkit-max-content;
+ grid-template-columns: auto max-content;
+ grid-template-rows: auto auto;
+ align-self: center;
+ justify-self: center;
+ margin: 0 20px;
+ width: calc(100% - 40px);
+ display: grid;
+ justify-items: start;
+ position: absolute;
+ gap: 10px 5px;
+ bottom: 0;
+ }
+
+ /* TODO Add animations */
+ .simple-grid .float-mid-bottom.hidden {
+ display: none;
+ }
+
+ /* Compare */
+ .simple-grid .compare {
+ display: grid;
+ grid-template-rows: 60px calc(var(--vh) / 2 - 60px) calc(var(--vh) / 2 - 40px) 40px;
+ grid-template-columns: auto;
+ grid-row: head-start / foot-end;
+ grid-column: main-start / foot-end;
+ }
+}
+
+/* Landscape. 480x320 phones and above */
+@media only screen and (min-width: 320px) and (orientation: landscape) {
+
+ /* Header */
+ .simple-grid header {
+ margin: 0;
+ }
+
+ /* Controls */
+ .simple-grid .float-right-bottom {
+ grid-column: 9 / side-end;
+ grid-row: foot;
+ align-self: end;
+ justify-self: end;
+ display: grid;
+ align-items: end;
+ justify-content: end;
+ margin-bottom: 0;
+ padding-right: 56px;
+ padding-bottom: 10px;
+ }
+
+ /* Timeline */
+ .simple-grid .float-mid {
+ grid-row: main;
+ }
+
+ /* Time */
+ .simple-grid .float-mid-bottom {
+ grid-template-columns: auto -webkit-max-content;
+ grid-template-columns: auto max-content;
+ grid-template-rows: auto auto;
+ grid-column: main-start / side-end;
+ grid-row: foot-start / foot-end;
+ height: auto;
+ align-self: start;
+ align-items: initial;
+ gap: 10px 5px;
+ }
+
+ /* Compare */
+ .simple-grid .compare {
+ display: grid;
+ grid-template-rows: 60px auto 40px;
+ grid-template-columns: 50% 50%;
+ grid-row: head-start / foot-end;
+ grid-column: main-start / foot-end;
+ width: calc(100% + 40px);
+ margin-left: -20px;
+ }
+}
+
+/* Portrait Tablets */
+@media only screen and (min-width: 641px) and (orientation: portrait) {
+
+ /* Controls */
+ .simple-grid .float-right-bottom {
+ grid-column: 9 / side-end;
+ grid-row: foot;
+ align-self: end;
+ justify-self: end;
+ display: grid;
+ align-items: end;
+ justify-content: end;
+ height: 51px;
+ margin-bottom: 0;
+ padding-right: 56px;
+ padding-bottom: 10px;
+ }
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+
+ /* Detail panel */
+ .simple-grid .detail {
+ grid-column: main-start / main-end;
+ grid-row: head-start / foot-end;
+ }
+
+ /* Content panel */
+ .simple-grid .content-panel {
+ grid-column: main-start / main-end;
+ grid-row: head-start / foot-end;
+ display: grid;
+ grid-template-rows: 80px -webkit-max-content auto 3%;
+ grid-template-rows: 80px max-content auto 3%;
+ grid-template-columns: 1fr;
+ gap: 5px;
+ }
+
+ /* Featured Stories panel */
+ .simple-grid .featured-stories-panel {
+ grid-column: main-start / main-end;
+ grid-row: head-start / foot-end;
+ display: grid;
+ grid-template-rows: 80px -webkit-max-content auto 3%;
+ grid-template-rows: 80px max-content auto 3%;
+ grid-template-columns: 1fr;
+ gap: 5px;
+ }
+
+ /* Header */
+ .simple-grid header {
+ margin: 0;
+ height: var(--gridHeaderHeight);
+ }
+
+ /* Controls */
+ .simple-grid .float-right-bottom {
+ grid-column: 11 / side-end;
+ grid-row: side-start / foot-end;
+ align-self: end;
+ justify-self: end;
+ margin-bottom: 25px;
+ align-items: end;
+ padding: 0;
+ height: 100%;
+ width: 100%;
+ }
+
+ /* Timeline */
+ .simple-grid .float-mid {
+ grid-column: main-end / side-start;
+ grid-row: extf-start;
+ }
+
+ /* Time */
+ .simple-grid .float-mid-bottom {
+ grid-template-columns: minmax(250px, 30%) 70%;
+ grid-template-rows: 50% 50%;
+ grid-column: main-end / side-start;
+ grid-row: foot-start / foot-end;
+ align-self: end;
+ align-items: center;
+ justify-items: start;
+ height: auto;
+ display: grid;
+ gap: 0 30px;
+ position: static;
+ margin-bottom: 25px;
+ }
+
+ /* Compare */
+ .simple-grid .compare {
+ display: grid;
+ grid-template-rows: 65px auto 40px;
+ grid-template-columns: 50% 50%;
+ grid-row: head-start / foot-end;
+ grid-column: main-start / foot-end;
+ }
+}
+
+/*!************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/label.css ***!
+ \************************************************************************************************************************************************************************************/
+.pioneer-constellation-label {
+ --constellationFadeIn: 1;
+ --constellationFadeOut: 0.05;
+}
+
+.pioneer-label-div {
+ /* Variables */
+ --fontSize: 16px;
+ --fontSizeLarge: 18px;
+ --fontSizeSmall: 14px;
+ --fontSizeXSmall: 12px;
+ --fontSizeTiny: 10px;
+ --secondaryFadeIn: 0.35;
+ --secondaryFadeOut: 0.05;
+ --primaryFadeIn: 0.75;
+ --primaryFadeOut: 0.05;
+
+ /* Properties */
+ font-size: var(--fontSizeSmall);
+ white-space: nowrap;
+ color: var(--white);
+ padding-left: calc(16px / 2 + 6px);
+ padding-bottom: 10px;
+}
+
+/* Icon */
+.pioneer-label-div .icon {
+ position: absolute;
+ top: 50%;
+ left: 0;
+ width: 16px;
+ height: 16px;
+ transform: translate(-50%, -50%);
+}
+
+.pioneer-label-div.spacecraft .icon {
+ width: 14px;
+}
+
+.pioneer-label-div .icon.no-icon {
+ display: none;
+}
+
+.pioneer-label-div.sun .icon,
+.pioneer-label-div.planet .icon {
+ width: 20px;
+ height: 20px;
+}
+
+/* Padding adjustments */
+.pioneer-label-div.spacecraft {
+ padding-left: calc(14px / 2 + 6px);
+}
+
+.pioneer-label-div.planet {
+ padding-left: calc(20px / 2 + 8px);
+ padding-bottom: 14px;
+ letter-spacing: 0.3em;
+}
+
+.pioneer-label-div.sun {
+ padding-left: calc(20px / 2 + 10px);
+ padding-bottom: 0;
+ padding-top: 14px;
+ letter-spacing: 0.3em;
+ font-size: var(--fontSize);
+}
+
+/* Text */
+.pioneer-label-div.planet .text {
+ text-transform: uppercase;
+ font-weight: 600;
+}
+
+.pioneer-label-div.sun .text {
+ text-transform: uppercase;
+ font-weight: 600;
+}
+
+/* Constellations */
+.pioneer-constellation-label .text {
+ text-transform: uppercase;
+ color: var(--constellation);
+ letter-spacing: 0.5em;
+ font-size: 20px;
+ font-family: "DMMono", monospace;
+ font-weight: 300;
+ text-shadow: 0 0 7px var(--constellationGlowMed),
+ 0 0 10px var(--constellationGlowDark);
+ filter: brightness(0.5);
+}
+
+.pioneer-constellation-label .icon {
+ display: none;
+}
+
+.pioneer-constellation-label.active {
+ pointer-events: all;
+}
+
+.pioneer-constellation-label.hidden {
+ pointer-events: none;
+ display: initial;
+}
+
+.pioneer-constellation-label.active .text {
+ transition: opacity 0.25s, transform 0.25s ease-in-out;
+ opacity: var(--constellationFadeIn);
+}
+
+.pioneer-constellation-label.hidden .text {
+ transition: opacity 0.75s, transform 0.75s ease-in-out;
+ opacity: var(--constellationFadeOut);
+}
+
+
+/* Primary and secondary fade in/out */
+.pioneer-label-div.active {
+ pointer-events: all;
+}
+
+.pioneer-label-div.unclickable {
+ pointer-events: none;
+}
+
+.pioneer-label-div.hidden {
+ pointer-events: none;
+ display: initial;
+}
+
+.pioneer-label-div.active .icon,
+.pioneer-label-div.active .text {
+ transition: opacity 0.25s, transform 0.25s ease-in-out;
+ opacity: var(--secondaryFadeIn);
+}
+
+.pioneer-label-div.hidden .icon,
+.pioneer-label-div.hidden .text {
+ transition: opacity 0.75s, transform 0.75s ease-in-out;
+ opacity: var(--secondaryFadeOut);
+}
+
+.pioneer-label-div.sun.active .icon,
+.pioneer-label-div.planet.active .icon,
+.pioneer-label-div.sun.active .text,
+.pioneer-label-div.planet.active .text {
+ opacity: var(--primaryFadeIn);
+}
+
+.pioneer-label-div.sun.hidden .icon,
+.pioneer-label-div.planet.hidden .icon,
+.pioneer-label-div.sun.hidden .text,
+.pioneer-label-div.planet.hidden .text {
+ opacity: var(--primaryFadeOut);
+}
+
+.ring-label {
+ background: var(--grayDark);
+ padding: 0 4px;
+ border-radius: 5px;
+ pointer-events: none;
+}
+
+.ring-label .icon {
+ display: none;
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .pioneer-label-div {
+ font-size: var(--fontSize);
+ }
+
+ .pioneer-label-div.sun {
+ font-size: var(--fontSizeLarge);
+ }
+}
+
+/*!************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/style.css ***!
+ \************************************************************************************************************************************************************************************/
+/* Generic */
+* {
+ box-sizing: border-box;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -webkit-tap-highlight-color: transparent;
+}
+
+input,
+textarea {
+ -webkit-user-select: text;
+ -moz-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+ font: inherit;
+}
+
+html,
+body {
+ height: 100%;
+ overflow: hidden;
+ position: relative;
+ -webkit-text-size-adjust: none;
+ -moz-text-size-adjust: none;
+ text-size-adjust: none;
+}
+
+html {
+ height: var(--vh);
+}
+
+body {
+ font-size: 16px;
+ line-height: 150%;
+ letter-spacing: 0;
+ font-family: Metropolis, sans-serif;
+ font-weight: 300;
+ color: var(--white);
+}
+
+body .semi {
+ letter-spacing: 0.02em;
+}
+
+/* Visibility */
+.hidden {
+ display: none;
+}
+
+.invisible {
+ visibility: hidden;
+}
+
+/* Interactions */
+.editable {
+ pointer-events: all;
+ cursor: text;
+}
+
+.clickable {
+ pointer-events: all;
+ cursor: pointer;
+}
+
+.clickable.underline {
+ position: relative;
+ color: var(--white);
+ opacity: 0.75;
+ text-decoration: underline;
+ cursor: pointer;
+ transition: opacity 0.25s ease-in-out;
+}
+
+/* Font properties */
+.wide-text {
+ letter-spacing: 0.6em;
+}
+
+.semi {
+ font-weight: 600;
+}
+
+.small {
+ font-size: 14px;
+ line-height: 150%;
+ letter-spacing: 0;
+ font-family: Metropolis, sans-serif;
+}
+
+.x-small {
+ font-size: 12px;
+ line-height: 180%;
+ letter-spacing: 0.03em;
+ font-family: Metropolis, sans-serif;
+}
+
+.tiny {
+ font-size: 11px;
+ line-height: 180%;
+ letter-spacing: 0.03em;
+ font-family: Metropolis, sans-serif;
+}
+
+.uppercase {
+ text-transform: uppercase;
+}
+
+.capitalize {
+ text-transform: capitalize;
+}
+
+/* Lines */
+.vertical-line {
+ border: 1px solid #ffffff;
+ box-sizing: border-box;
+ width: 2px;
+ height: 20px;
+}
+
+/* Headers */
+.display,
+h1,
+h2,
+h3,
+h4,
+h5 {
+ color: var(--white);
+ font-family: Metropolis, sans-serif;
+ letter-spacing: -0.02em;
+ margin: 0;
+}
+
+.display.semi,
+h1.semi,
+h2.semi,
+h3.semi,
+h4.semi,
+h5.semi {
+ letter-spacing: -0.02em;
+}
+
+.display {
+ font-size: 48px;
+ line-height: 120%;
+ font-weight: 100;
+}
+
+h1 {
+ font-size: 41px;
+ line-height: 120%;
+ font-weight: 100;
+}
+
+h2 {
+ font-size: 36px;
+ line-height: 120%;
+ font-weight: 100;
+}
+
+h3 {
+ font-size: 29px;
+ line-height: 95%;
+ font-weight: 300;
+}
+
+h3.semi {
+ line-height: 100%;
+}
+
+h4 {
+ font-size: 22px;
+ line-height: 120%;
+ font-weight: 300;
+}
+
+h5 {
+ font-size: 18px;
+ line-height: 180%;
+ font-weight: 300;
+}
+
+h5.semi {
+ line-height: 150%;
+}
+
+/* Buttons */
+button {
+ background-color: transparent;
+ border: 0;
+}
+
+/* Support line break in text */
+.line-break-text {
+ white-space: pre-line;
+}
+
+/* Alert outline */
+.alert {
+ outline: none;
+ outline-offset: 4px;
+ -webkit-animation-name: blink;
+ animation-name: blink;
+ -webkit-animation-duration: 0.5s;
+ animation-duration: 0.5s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-iteration-count: 3;
+ animation-iteration-count: 3;
+ -webkit-animation-direction: alternate;
+ animation-direction: alternate;
+}
+
+/* Checkbox style using custom color */
+.checkbox {
+ background-color: var(--grayDark);
+ border-radius: 3px;
+ width: 15px;
+ height: 15px;
+}
+
+/* Tooltip */
+.tippy-box[data-theme~="default"] {
+ background-color: var(--grayDark);
+ border-color: var(--grayDark);
+ color: var(--grayLight);
+ opacity: 0.9;
+}
+
+.tippy-box[data-theme~="default"][data-placement^="top"]>.tippy-arrow::before {
+ border-top-color: var(--grayDark);
+}
+
+.tippy-box[data-theme~="default"][data-placement^="bottom"]>.tippy-arrow::before {
+ border-bottom-color: var(--grayDark);
+}
+
+.tippy-box[data-theme~="default"][data-placement^="left"]>.tippy-arrow::before {
+ border-left-color: var(--grayDark);
+}
+
+.tippy-box[data-theme~="default"][data-placement^="right"]>.tippy-arrow::before {
+ border-right-color: var(--grayDark);
+}
+
+/*!****************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/scrollbar.css ***!
+ \****************************************************************************************************************************************************************************************/
+/* Scrollbar CSS override */
+.os-theme-dark>.os-scrollbar,
+.os-scrollbar-vertical,
+.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-vertical {
+ right: 6px;
+ top: 0;
+ bottom: 0;
+}
+
+.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle {
+ background: var(--grayDark);
+ width: 4px;
+}
+
+.os-theme-dark>.os-scrollbar:active>.os-scrollbar-track>.os-scrollbar-handle {
+ background: var(--gray);
+ width: 6px;
+}
+
+.os-theme-dark>.os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle {
+ min-height: 20px;
+}
+
+/* Exclude panorama. Big landscape tablets, laptops/desktops, and above */
+@media only screen and (min-width: 1025px) and (min-height: 600px) {
+ .os-theme-dark>.os-scrollbar {
+ display: block;
+ }
+}
+
+@media (pointer: coarse) {
+ .os-theme-dark>.os-scrollbar {
+ display: none;
+ }
+}
+
+/*!*****************************************************************************************************************************************************************************************!*\
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../eyes/src/assets/css/components.css ***!
+ \*****************************************************************************************************************************************************************************************/
+/* TOGGLE SWITCH */
+/*
+