diff --git a/cors.json b/cors.json
new file mode 100644
index 0000000..c58fc3c
--- /dev/null
+++ b/cors.json
@@ -0,0 +1,8 @@
+[
+ {
+ "origin": ["http://127.0.0.1:3000"],
+ "responseHeader": ["Content-Type", "Authorization"],
+ "method": ["GET", "POST", "PUT", "DELETE"],
+ "maxAgeSeconds": 3600
+ }
+ ]
\ No newline at end of file
diff --git a/css/style.css b/css/style.css
new file mode 100644
index 0000000..cd5430d
--- /dev/null
+++ b/css/style.css
@@ -0,0 +1,417 @@
+/* Base Styles - Mobile First */
+body {
+ font-size: 16px;
+ margin: 0;
+ padding: 0;
+ font-family: "Barlow";
+}
+
+.container {
+ width: 100%;
+ padding: 15px;
+}
+
+.header {
+ font-size: 1.5rem;
+ text-align: center;
+}
+
+/* Media Query for Larger Screens (e.g., Tablets) */
+@media (min-width: 600px) {
+ .container {
+ width: 90%;
+ margin: 0 auto;
+ }
+ .header {
+ font-size: 2rem;
+ }
+}
+
+/* Media Query for Larger Screens (e.g., Laptops and Desktops) */
+@media (min-width: 1024px) {
+ .container {
+ width: 90%;
+ }
+ .header {
+ font-size: 2.5rem;
+ }
+}
+
+body {
+ font-family: "Barlow";
+ margin: 0;
+ padding: 0;
+}
+
+.banner {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background-color: #333;
+ color: white;
+ padding: 10px 20px;
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ z-index: 1000;
+}
+
+.logo-container {
+ display: flex;
+ align-items: center;
+}
+
+.logo {
+ height: 40px; /* Adjust the logo size */
+ cursor: pointer;
+}
+
+.title {
+ margin-left: 10px;
+ font-size: 1.5em;
+}
+
+.content {
+ padding: 20px;
+}
+
+/* Search Container*/
+.search-container {
+ position: fixed; /* Fixed position so it stays on top */
+ top: 60px; /* Adjust depending on the header size */
+ left: 5%; /* Centering horizontally with some margin */
+ right: 5%;
+ z-index: 1050; /* Ensure it's above the map */
+ border-radius: 5px;
+ padding: 10px 20px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 8px;
+ }
+
+/* Search Input and Button */
+.search-bar {
+ width: 30%;
+ padding: 5px;
+ display: flex;
+ align-items: stretch;
+ flex-direction: column;
+ position: relative;
+ }
+
+ .search-bar input {
+ border-radius: 20px !important; /* Forcing the style if needed */
+ padding: 5px;
+ font-size: 14px;
+ display: flex;
+ align-items: center;
+ width: 90%;
+ margin: 0;
+ box-sizing: border-box;
+}
+
+.search-button {
+ padding: 5px 10px;
+ background-color: #007bff;
+ color: white;
+ border: none;
+ cursor: pointer;
+ border-radius: 25px;
+ margin: 0;
+ transition: background-color 0.3s; /* Smooth transition for background color */
+ }
+
+.search-button:hover {
+ background-color: #0056b3; /* Darker shade on hover */
+}
+
+/* Dropdown hidden by default */
+.autocomplete-options {
+ display: none;
+ margin: 0;
+ padding: 0;
+ background-color: white;
+ border-radius: 5px;
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Optional: adds a subtle shadow */
+ max-height: 200px;
+ overflow-y: auto; /* Make it scrollable */
+ position: absolute; /* Position relative to the input field */
+ top: 100%; /* Just below the input field */
+ left: 0;
+ width: 100%; /* Match the width of the search bar */
+ z-index: 10; /* Ensure the dropdown appears above other elements */
+ }
+
+ .autocomplete-options:not(.hidden) {
+ display: block;
+}
+
+ /* Style each option */
+ .autocomplete-option {
+ padding: 8px 12px;
+ cursor: pointer;
+ }
+
+ .autocomplete-option:hover {
+ background-color: #f0f0f0;
+ }
+
+ .hidden {
+ display: none
+ }
+
+/* No Results */
+.no-results {
+ color: grey;
+ padding: 8px;
+ text-align: center;
+}
+
+/* Map Section */
+#map {
+ height: 100vh;
+ width: 100%;
+}
+
+/* Style the popup container */
+.mapboxgl-popup {
+ background: linear-gradient(135deg, #2c2c2c, #444444); /* Dark grey gradient */
+ color: #ffffff; /* White text */
+ border: 1px solid #666666; /* Light grey border */
+ border-radius: 10px; /* Smooth rounded corners */
+ font-family: 'Roboto', sans-serif; /* Modern font */
+ overflow-y: auto;
+ width: 350px;
+ max-height: 500px;
+ }
+
+ /* Style the popup content */
+ .mapboxgl-popup-content {
+ overflow-y: auto; /* Allow vertical scrolling */
+ overflow-x: hidden; /* Prevent horizontal scrolling */
+ max-height: 300px; /* Adjust as needed to fit your map design */
+ padding: 10px; /* Add some padding for better readability */
+ box-sizing: border-box; /* Include padding in width/height calculation */
+ }
+
+ .mapboxgl-popup-content textarea {
+ width: 98%; /* Make the text box span the entire pop-up width */
+ box-sizing: border-box; /* Include padding and border in the total width */
+ padding: 10px; /* Add padding for a better user experience */
+ font-size: 14px; /* Adjust font size */
+ border: 1px solid #ccc; /* Add a subtle border */
+ border-radius: 5px; /* Rounded corners */
+ resize: vertical; /* Allow vertical resizing, but not horizontal */
+ background-color: #1f1f1f; /* Match the futuristic theme */
+ color: #fff; /* Text color */
+ }
+
+ /* Style the close button */
+ .mapboxgl-popup-close-button {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ color: #444444;
+ background: #444444;
+ border-radius: 50%;
+ width: 24px;
+ height: 24px;
+ font-size: 16px;
+ text-align: center;
+ line-height: 24px;
+ border: 1px solid #666666;
+ transition: background 0.3s ease, transform 0.3s ease;
+ }
+
+ .mapboxgl-popup-close-button:hover {
+ background: #666666;
+ transform: scale(1.1); /* Slight zoom on hover */
+ }
+
+ /* Style the form inside the popup */
+ #sightingForm {
+ display: flex;
+ flex-direction: column;
+ gap: 1px; /* Space between elements */
+ }
+
+ #sightingForm label {
+ font-size: 14px;
+ font-weight: bold;
+ color: #343333; /* Lighter grey for labels */
+ }
+
+ #sightingForm input,
+ #sightingForm textarea {
+ background: #333333;
+ color: #ffffff;
+ border: 1px solid #555555;
+ border-radius: 5px;
+ padding: 2px;
+ font-size: 14px;
+ outline: none;
+ transition: border-color 0.3s ease;
+ }
+
+ #sightingForm input:focus,
+ #sightingForm textarea:focus {
+ border-color: #777777;
+ }
+
+ /* Style the submit button */
+ #submitBtn {
+ background: #555555;
+ color: #ffffff;
+ border: 1px solid #777777;
+ border-radius: 5px;
+ padding: 10px;
+ font-size: 14px;
+ cursor: pointer;
+ transition: background 0.3s ease, transform 0.3s ease;
+ }
+
+ #submitBtn:hover {
+ background: #777777;
+ transform: scale(1.05); /* Slight zoom on hover */
+ }
+
+ #whaleSpecies {
+ background: #333333; /* Dark grey background */
+ color: #ffffff; /* White text */
+ border: 1px solid #555555; /* Subtle border */
+ border-radius: 5px; /* Rounded corners */
+ padding: 8px;
+ font-size: 14px;
+ outline: none;
+ width: 100%; /* Optional: Adjust width */
+ }
+
+ #whaleSpecies:focus {
+ border-color: #777777; /* Slightly brighter border on focus */
+ }
+
+/* Style for marker pop-ups */
+.marker-popup {
+ background-color: #f9f9f9;
+ padding: 10px;
+ border-radius: 5px;
+ box-shadow: 0px 2px 5px rgba(0,0,0,0.2);
+ z-index: 9999;
+}
+
+.marker-popup h3 {
+ font-size: 18px;
+ color: #333;
+}
+
+.marker-popup p {
+ font-size: 14px;
+ color: #555;
+}
+
+.marker-popup img {
+ max-width: 100%;
+ max-height: 150px;
+ object-fit: cover;
+}
+
+/* Style for the user submission pop-up (use a different class or ID) */
+.user-popup {
+ background-color: #ffffff;
+ padding: 20px;
+ border-radius: 10px;
+ border: 2px solid #ccc;
+}
+
+.user-popup h3 {
+ font-size: 20px;
+ color: #000;
+}
+
+.user-popup textarea {
+ width: 100%;
+ height: 100px;
+ margin-top: 10px;
+}
+
+/* You can style the user submission form pop-up differently here */
+
+#sightingPopup {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ background: white;
+ padding: 20px;
+ border-top: 2px solid #ccc;
+ max-height: 60%;
+ overflow-y: auto;
+ display: none;
+}
+
+#sightingContent {
+ padding: 10px;
+}
+
+.sighting-photo {
+ width: 100%;
+ height: auto;
+ margin-bottom: 10px;
+}
+
+.sighting-video, .sighting-audio {
+ width: 100%;
+ margin-bottom: 10px;
+}
+
+#commentSection {
+ margin-top: 20px;
+}
+
+#commentInput {
+ width: 100%;
+ height: 80px;
+ margin-bottom: 10px;
+}
+
+.comment {
+ margin: 10px 0;
+ padding: 10px;
+ background: #f1f1f1;
+ border-radius: 5px;
+}
+
+/* References Section*/
+.references {
+ background-color: #f8f8f8;
+ border: 1px solid #ddd;
+ padding: 20px;
+ margin-top: 30px;
+ margin-bottom: 20px;
+}
+
+.references h2 {
+ font-size: 1.5em;
+ color: #333;
+}
+
+.references ul {
+ list-style-type: none;
+ padding-left: 0;
+}
+
+.references ul li {
+ margin-bottom: 10px;
+}
+
+.references ul li a {
+ text-decoration: none;
+ color: #007bff;
+}
+
+.references ul li a:hover {
+ text-decoration: underline;
+}
+
diff --git a/data/blueWhale.png b/data/blueWhale.png
new file mode 100644
index 0000000..ce0437f
Binary files /dev/null and b/data/blueWhale.png differ
diff --git a/data/blueWhaleSpout.jpg b/data/blueWhaleSpout.jpg
new file mode 100644
index 0000000..9d0e1c4
Binary files /dev/null and b/data/blueWhaleSpout.jpg differ
diff --git a/data/boundingBoxes.json b/data/boundingBoxes.json
new file mode 100644
index 0000000..cbadeb5
--- /dev/null
+++ b/data/boundingBoxes.json
@@ -0,0 +1,238 @@
+{
+ "AF": ["Afghanistan", [60.53, 29.32, 75.16, 38.49]],
+ "AD": ["Andorra", [1.41, 42.43, 1.79, 42.66]],
+ "AO": ["Angola", [11.64, -17.93, 24.08, -4.44]],
+ "AG": ["Antigua and Barbuda", [-62.55, 16.75, -61.45, 17.93]],
+ "AI": ["Anguilla", [-63.64, 18.06, -62.71, 18.60]],
+ "AL": ["Albania", [19.3, 39.62, 21.02, 42.69]],
+ "AE": ["United Arab Emirates", [51.58, 22.5, 56.4, 26.06]],
+ "AR": ["Argentina", [-73.42, -55.25, -53.63, -21.83]],
+ "AS": ["American Samoa", [-171.29, -14.76, -167.93, -10.84]],
+ "AM": ["Armenia", [43.58, 38.74, 46.51, 41.25]],
+ "AW": ["Aruba", [-70.28, 12.17, -69.64, 12.81]],
+ "AQ": ["Antarctica", [-180.0, -90.0, 180.0, -63.27]],
+ "TF": ["French Southern Territories", [68.72, -49.78, 70.56, -48.63]],
+ "AU": ["Australia", [113.34, -43.63, 153.57, -10.67]],
+ "AT": ["Austria", [9.48, 46.43, 16.98, 49.04]],
+ "AZ": ["Azerbaijan", [44.79, 38.27, 50.39, 41.86]],
+ "BI": ["Burundi", [29.02, -4.5, 30.75, -2.35]],
+ "BE": ["Belgium", [2.51, 49.53, 6.16, 51.48]],
+ "BJ": ["Benin", [0.77, 6.14, 3.8, 12.24]],
+ "BF": ["Burkina Faso", [-5.47, 9.61, 2.18, 15.12]],
+ "BD": ["Bangladesh", [88.08, 20.67, 92.67, 26.45]],
+ "BG": ["Bulgaria", [22.38, 41.23, 28.56, 44.23]],
+ "BH": ["Bahrain", [50.26, 25.53, 50.92, 26.68]],
+ "BS": ["Bahamas", [-78.98, 23.71, -77.0, 27.04]],
+ "BA": ["Bosnia and Herzegovina", [15.75, 42.65, 19.6, 45.23]],
+ "BL": ["Saint Barth\u00e9lemy", [-63.06, 17.67, -62.58, 18.13]],
+ "BY": ["Belarus", [23.2, 51.32, 32.69, 56.17]],
+ "BZ": ["Belize", [-89.23, 15.89, -88.11, 18.5]],
+ "BM": ["Bermuda", [-65.12, 32.04, -64.41, 32.59]],
+ "BO": ["Bolivia", [-69.59, -22.87, -57.5, -9.76]],
+ "BR": ["Brazil", [-73.99, -33.77, -34.73, 5.24]],
+ "BB": ["Barbados", [-59.85, 12.84, -59.21, 13.54]],
+ "BN": ["Brunei", [114.2, 4.01, 115.45, 5.45]],
+ "BT": ["Bhutan", [88.81, 26.72, 92.1, 28.3]],
+ "BW": ["Botswana", [19.9, -26.83, 29.43, -17.66]],
+ "CF": ["Central African Republic", [14.46, 2.27, 27.37, 11.14]],
+ "CA": ["Canada", [-141.0, 41.68, -52.65, 73.23]],
+ "CC": ["Cocos (Keeling) Islands", [96.61, -12.40, 97.14, -11.62]],
+ "CH": ["Switzerland", [6.02, 45.78, 10.44, 47.83]],
+ "CL": ["Chile", [-75.64, -55.61, -66.96, -17.58]],
+ "CN": ["China", [73.68, 18.2, 135.03, 53.46]],
+ "CI": ["Ivory Coast", [-8.6, 4.34, -2.56, 10.52]],
+ "CM": ["Cameroon", [8.49, 1.73, 16.01, 12.86]],
+ "CD": ["Democratic Republic of Congo", [12.18, -13.26, 31.17, 5.26]],
+ "CG": ["Congo", [11.09, -5.04, 18.45, 3.73]],
+ "CK": ["Cook Islands", [-166.09, -22.16, -157.11, -8.72]],
+ "CO": ["Colombia", [-78.99, -4.3, -66.88, 12.44]],
+ "KM": ["Comoros", [43.03, -12.62, 44.75, -11.17]],
+ "CV": ["Cabo Verde", [-25.36, 14.80, -22.67, 17.21]],
+ "CR": ["Costa Rica", [-85.94, 8.23, -82.55, 11.22]],
+ "CU": ["Cuba", [-84.97, 19.86, -74.18, 23.19]],
+ "CX": ["Christmas Island", [105.53, -10.57, 105.71, -10.41]],
+ "KY": ["Cayman Islands", [-81.63, 19.06, -79.51, 19.95]],
+ "CY": ["Cyprus", [32.26, 34.57, 34.0, 35.17]],
+ "CZ": ["Czech Republic", [12.24, 48.56, 18.85, 51.12]],
+ "DE": ["Germany", [5.99, 47.3, 15.02, 54.98]],
+ "DJ": ["Djibouti", [41.66, 10.93, 43.32, 12.7]],
+ "DK": ["Denmark", [8.09, 54.8, 12.69, 57.73]],
+ "DM": ["Dominica", [-61.69, 15.01, -61.03, 15.79]],
+ "DO": ["Dominican Republic", [-71.95, 17.6, -68.32, 19.88]],
+ "DZ": ["Algeria", [-8.68, 19.06, 12.0, 37.12]],
+ "EC": ["Ecuador", [-80.97, -4.96, -75.23, 1.38]],
+ "EG": ["Egypt", [24.7, 22.0, 36.87, 31.59]],
+ "ER": ["Eritrea", [36.32, 12.46, 43.08, 18.0]],
+ "EH": ["Western Sahara", [-17.35, 20.56, -8.67, 27.67]],
+ "ES": ["Spain", [-9.39, 35.95, 3.04, 43.75]],
+ "EE": ["Estonia", [23.34, 57.47, 28.13, 59.61]],
+ "ET": ["Ethiopia", [32.95, 3.42, 47.79, 14.96]],
+ "FI": ["Finland", [20.65, 59.85, 31.52, 70.16]],
+ "FJ": ["Fiji", [-180.0, -18.29, 180.0, -16.02]],
+ "FK": ["Falkland Islands", [-61.2, -52.3, -57.75, -51.1]],
+ "FR": ["France", [-5.0, 42.5, 9.56, 51.15]],
+ "FO": ["Faroe Islands", [-7.69, 61.39, -6.26, 62.39]],
+ "FM": ["Micronesia", [137.22, 0.83, 163.24, 10.29]],
+ "GA": ["Gabon", [8.8, -3.98, 14.43, 2.33]],
+ "GB": ["United Kingdom", [-7.57, 49.96, 1.68, 58.64]],
+ "GE": ["Georgia", [39.96, 41.06, 46.64, 43.55]],
+ "GG": ["Guernsey", [-2.68, 49.42, -2.50, 29.51]],
+ "GH": ["Ghana", [-3.24, 4.71, 1.06, 11.1]],
+ "GI": ["Gibraltar", [-5.39, 36.18, -5.31, 36.10]],
+ "GN": ["Guinea", [-15.13, 7.31, -7.83, 12.59]],
+ "GM": ["Gambia", [-16.84, 13.13, -13.84, 13.88]],
+ "GW": ["Guinea Bissau", [-16.68, 11.04, -13.7, 12.63]],
+ "GQ": ["Equatorial Guinea", [9.31, 1.01, 11.29, 2.28]],
+ "GR": ["Greece", [20.15, 34.92, 26.6, 41.83]],
+ "GD": ["Grenada", [-62.01, 11.79, -61.17, 12.60]],
+ "GL": ["Greenland", [-73.3, 60.04, -12.21, 83.65]],
+ "GT": ["Guatemala", [-92.23, 13.74, -88.23, 17.82]],
+ "GU": ["Guam", [144.56, 13.18, 145.01, 13.71]],
+ "GY": ["Guyana", [-61.41, 1.27, -56.54, 8.37]],
+ "HK": ["Hong Kong", [114.00, 22.12, 114.32, 22.44]],
+ "HN": ["Honduras", [-89.35, 12.98, -83.15, 16.01]],
+ "HR": ["Croatia", [13.66, 42.48, 19.39, 46.5]],
+ "HT": ["Haiti", [-74.46, 18.03, -71.62, 19.92]],
+ "HU": ["Hungary", [16.2, 45.76, 22.71, 48.62]],
+ "ID": ["Indonesia", [95.29, -10.36, 141.03, 5.48]],
+ "IM": ["Isle of Man", [-4.79, 54.05, -4.31, 54.42]],
+ "IN": ["India", [68.18, 7.97, 97.4, 35.49]],
+ "IE": ["Ireland", [-9.98, 51.67, -6.03, 55.13]],
+ "IO": ["British Indian Ocean Territory", [71.04, -7.65, 72.70, -5.04]],
+ "IR": ["Iran", [44.11, 25.08, 63.32, 39.71]],
+ "IQ": ["Iraq", [38.79, 29.1, 48.57, 37.39]],
+ "IS": ["Iceland", [-24.33, 63.5, -13.61, 66.53]],
+ "IL": ["Israel", [34.27, 29.5, 35.84, 33.28]],
+ "IT": ["Italy", [6.75, 36.62, 18.48, 47.12]],
+ "JM": ["Jamaica", [-78.34, 17.7, -76.2, 18.52]],
+ "JE": ["Jersey", [-2.25, 49.16, -2.01, 49.26]],
+ "JO": ["Jordan", [34.92, 29.2, 39.2, 33.38]],
+ "JP": ["Japan", [129.41, 31.03, 145.54, 45.55]],
+ "KZ": ["Kazakhstan", [46.47, 40.66, 87.36, 55.39]],
+ "KE": ["Kenya", [33.89, -4.68, 41.86, 5.51]],
+ "KG": ["Kyrgyzstan", [69.46, 39.28, 80.26, 43.3]],
+ "KH": ["Cambodia", [102.35, 10.49, 107.61, 14.57]],
+ "KI": ["Kiribati", [-179.12, -7.05, -164.16, 7.95]],
+ "KN": ["Saint Kitts and Nevis", [-63.05, 16.90, -62.33, 17.62]],
+ "KR": ["South Korea", [126.12, 34.39, 129.47, 38.61]],
+ "KW": ["Kuwait", [46.57, 28.53, 48.42, 30.06]],
+ "LA": ["Laos", [100.12, 13.88, 107.56, 22.46]],
+ "LB": ["Lebanon", [35.13, 33.09, 36.61, 34.64]],
+ "LR": ["Liberia", [-11.44, 4.36, -7.54, 8.54]],
+ "LY": ["Libya", [9.32, 19.58, 25.16, 33.14]],
+ "LC": ["Saint Lucia", [-61.29, 13.51, -60.67, 14.27]],
+ "LI": ["Liechtenstein", [9.47, 47.05, 9.64, 47.27]],
+ "LK": ["Sri Lanka", [79.7, 5.97, 81.79, 9.82]],
+ "LS": ["Lesotho", [27.0, -30.65, 29.33, -28.65]],
+ "LT": ["Lithuania", [21.06, 53.91, 26.59, 56.37]],
+ "LU": ["Luxembourg", [5.67, 49.44, 6.24, 50.13]],
+ "LV": ["Latvia", [21.06, 55.62, 28.18, 57.97]],
+ "MO": ["Macao", [113.53, 22.08, 113.63, 22.22]],
+ "MF": ["Saint Martin (French part)", [-63.36, 17.90, -62.76, 18.19]],
+ "MA": ["Morocco", [-17.02, 21.42, -1.12, 35.76]],
+ "MC": ["Monaco", [7.41, 43.72, 7.44, 43.75]],
+ "MD": ["Moldova", [26.62, 45.49, 30.02, 48.47]],
+ "MG": ["Madagascar", [43.25, -25.6, 50.48, -12.04]],
+ "MV": ["Maldives", [72.36, -0.91, 73.97, 7.31]],
+ "MX": ["Mexico", [-117.13, 14.54, -86.81, 32.72]],
+ "MH": ["Marshall Islands", [163.50, -0.55, 178.50, 14.45]],
+ "MK": ["Macedonia", [20.46, 40.84, 22.95, 42.32]],
+ "ML": ["Mali", [-12.17, 10.1, 4.27, 24.97]],
+ "MT": ["Malta", [13.93, 35.60, 14.83, 36.29]],
+ "MM": ["Myanmar", [92.3, 9.93, 101.18, 28.34]],
+ "ME": ["Montenegro", [18.45, 41.88, 20.34, 43.52]],
+ "MN": ["Mongolia", [87.75, 41.6, 119.77, 52.05]],
+ "MP": ["Northern Mariana Islands", [144.81, 14.04, 146.15, 20.62]],
+ "MZ": ["Mozambique", [30.18, -26.74, 40.78, -10.32]],
+ "MR": ["Mauritania", [-17.06, 14.62, -4.92, 27.4]],
+ "MS": ["Montserrat", [-62.45, 16.48, -61.94, 17.02]],
+ "MU": ["Mauritius", [56.38, -20.73, 63.72, -10.14]],
+ "MW": ["Malawi", [32.69, -16.8, 35.77, -9.23]],
+ "MY": ["Malaysia", [100.09, 0.77, 119.18, 6.93]],
+ "YT": ["Mayotte", [45.02, -13.02, 45.30, -12.64]],
+ "NA": ["Namibia", [11.73, -29.05, 25.08, -16.94]],
+ "NC": ["New Caledonia", [164.03, -22.4, 167.12, -20.11]],
+ "NE": ["Niger", [0.3, 11.66, 15.9, 23.47]],
+ "NG": ["Nigeria", [2.69, 4.24, 14.58, 13.87]],
+ "NI": ["Nicaragua", [-87.67, 10.73, -83.15, 15.02]],
+ "NU": ["Niue", [-170.16, -19.35, -169.56, -18.75]],
+ "NL": ["Netherlands", [3.31, 50.8, 7.09, 53.51]],
+ "NO": ["Norway", [4.99, 58.08, 31.29, 70.92]],
+ "NP": ["Nepal", [80.09, 26.4, 88.17, 30.42]],
+ "NR": ["Nauru", [166.91, -0.55, 166.96, -0.50]],
+ "NZ": ["New Zealand", [166.51, -46.64, 178.52, -34.45]],
+ "OM": ["Oman", [52.0, 16.65, 59.81, 26.4]],
+ "PK": ["Pakistan", [60.87, 23.69, 77.84, 37.13]],
+ "PA": ["Panama", [-82.97, 7.22, -77.24, 9.61]],
+ "PN": ["Pitcairn", [-130.80, -25.13, -124.72, -23.87]],
+ "PE": ["Peru", [-81.41, -18.35, -68.67, -0.06]],
+ "PH": ["Philippines", [117.17, 5.58, 126.54, 18.51]],
+ "PW": ["Palau", [131.07, 2.75, 134.77, 8.22]],
+ "PG": ["Papua New Guinea", [141.0, -10.65, 156.02, -2.5]],
+ "PL": ["Poland", [14.07, 49.03, 24.03, 54.85]],
+ "PR": ["Puerto Rico", [-67.24, 17.95, -65.59, 18.52]],
+ "KP": ["North Korea", [124.27, 37.67, 130.78, 42.99]],
+ "PT": ["Portugal", [-9.53, 36.84, -6.39, 42.28]],
+ "PY": ["Paraguay", [-62.69, -27.55, -54.29, -19.34]],
+ "PS": ["Palestine", [34.07, 31.22, 35.57, 32.55]],
+ "PF": ["French Polynesia", [-154.93, -28.10, -134.24, -7.66]],
+ "QA": ["Qatar", [50.74, 24.56, 51.61, 26.11]],
+ "RO": ["Romania", [20.22, 43.69, 29.63, 48.22]],
+ "RE": ["R\u00e9union", [55.22, -21.39, 55.84, -20.87]],
+ "RU": ["Russia", [-180.0, 41.15, 180.0, 81.25]],
+ "RW": ["Rwanda", [29.02, -2.92, 30.82, -1.13]],
+ "SA": ["Saudi Arabia", [34.63, 16.35, 55.67, 32.16]],
+ "SD": ["Sudan", [21.94, 8.62, 38.41, 22.0]],
+ "SS": ["South Sudan", [23.89, 3.51, 35.3, 12.25]],
+ "SN": ["Senegal", [-17.63, 12.33, -11.47, 16.6]],
+ "SG": ["Singapore", [103.69, 1.13, 104.01, 1.45]],
+ "SH": ["Saint Helena, Ascension and Tristan da Cunha", [-6.00, -16.23, -5.42, -15.70]],
+ "SJ": ["Svalbard and Jan Mayen", [-9.68, 70.62, 34.69, 81.03]],
+ "SB": ["Solomon Islands", [156.49, -10.83, 162.4, -6.6]],
+ "SL": ["Sierra Leone", [-13.25, 6.79, -10.23, 10.05]],
+ "SV": ["El Salvador", [-90.1, 13.15, -87.72, 14.42]],
+ "SM": ["San Marino", [12.40, 43.89, 12.52, 43.99]],
+ "SO": ["Somalia", [40.98, -1.68, 51.13, 12.02]],
+ "PM": ["Saint Pierre and Miquelon", [-56.70, 46.55, -55.90, 47.37]],
+ "RS": ["Serbia", [18.83, 42.25, 22.99, 46.17]],
+ "ST": ["Sao Tome and Principe", [6.26, -0.21, 7.67, 1.93]],
+ "SR": ["Suriname", [-58.04, 1.82, -53.96, 6.03]],
+ "SK": ["Slovakia", [16.88, 47.76, 22.56, 49.57]],
+ "SI": ["Slovenia", [13.7, 45.45, 16.56, 46.85]],
+ "SE": ["Sweden", [11.03, 55.36, 23.9, 69.11]],
+ "SZ": ["Eswatini", [30.68, -27.29, 32.07, -25.66]],
+ "SC": ["Seychelles", [46.00, -10.46, 56.50, -3.51]],
+ "SY": ["Syria", [35.7, 32.31, 42.35, 37.23]],
+ "TC": ["Turks and Caicos Islands", [-72.68, 20.96, -70.86, 22.16]],
+ "TD": ["Chad", [13.54, 7.42, 23.89, 23.41]],
+ "TG": ["Togo", [-0.05, 5.93, 1.87, 11.02]],
+ "TH": ["Thailand", [97.38, 5.69, 105.59, 20.42]],
+ "TJ": ["Tajikistan", [67.44, 36.74, 74.98, 40.96]],
+ "TK": ["Tokelau", [-172.72, -9.64, -170.98, -8.33]],
+ "TM": ["Turkmenistan", [52.5, 35.27, 66.55, 42.75]],
+ "TL": ["East Timor", [124.97, -9.39, 127.34, -8.27]],
+ "TO": ["Tonga", [-179.39, -24.10, -173.53, -15.37]],
+ "TT": ["Trinidad and Tobago", [-61.95, 10.0, -60.9, 10.89]],
+ "TN": ["Tunisia", [7.52, 30.31, 11.49, 37.35]],
+ "TR": ["Turkey", [26.04, 35.82, 44.79, 42.14]],
+ "TV": ["Tuvalu", [175.16, -9.99, 178.73, -5.44]],
+ "TW": ["Taiwan", [120.11, 21.97, 121.95, 25.3]],
+ "TZ": ["Tanzania", [29.34, -11.72, 40.32, -0.95]],
+ "UG": ["Uganda", [29.58, -1.44, 35.04, 4.25]],
+ "UA": ["Ukraine", [22.09, 44.36, 40.08, 52.34]],
+ "UY": ["Uruguay", [-58.43, -34.95, -53.21, -30.11]],
+ "US": ["United States", [-125.0, 25.0, -66.96, 49.5]],
+ "UZ": ["Uzbekistan", [55.93, 37.14, 73.06, 45.59]],
+ "VA": ["Holy See", [12.45, 41.90, 12.46, 41.91]],
+ "VC": ["Saint Vincent and the Grenadines", [-61.67, 12.52, -60.91, 13.58]],
+ "VE": ["Venezuela", [-73.3, 0.72, -59.76, 12.16]],
+ "VG": ["Virgin Islands", [-65.16, 17.62, -64.51, 18.46]],
+ "VN": ["Vietnam", [102.17, 8.6, 109.34, 23.35]],
+ "VU": ["Vanuatu", [166.63, -16.6, 167.84, -14.63]],
+ "WF": ["Wallis and Futuna", [-178.39, -14.56, -175.92, -12.98]],
+ "WS": ["Samoa", [-173.01, -14.28, -171.19, -13.24]],
+ "YE": ["Yemen", [42.6, 12.59, 53.11, 19.0]],
+ "ZA": ["South Africa", [16.34, -34.82, 32.83, -22.09]],
+ "ZM": ["Zambia", [21.89, -17.96, 33.49, -8.24]],
+ "ZW": ["Zimbabwe", [25.26, -22.27, 32.85, -15.51]]
+}
diff --git a/data/countryLocation.csv b/data/countryLocation.csv
new file mode 100644
index 0000000..671e74b
--- /dev/null
+++ b/data/countryLocation.csv
@@ -0,0 +1,322 @@
+Country,ISO-ALPHA-3,ISO-ALPHA-2,IOC,FIFA,Latitude,Longitude,ISO-Name,Historical,WikiData_ID,WikiData_Latitude,WikiData_Longitude,WikiData_Label,WikiData_Description
+Aruba,ABW,AW,ARU,ARU,12.52111,-69.968338,1,0,Q21203,12.51,-69.97,Aruba,"island country in the Caribbean, part of the Kingdom of the Netherlands"
+Afghanistan,AFG,AF,AFG,AFG,33.93911,67.709953,1,0,Q889,33.00,66.00,Afghanistan,"sovereign state situated at the confluence of Western, Central, and South Asia"
+Angola,AGO,AO,ANG,ANG,-11.202692,17.873887,1,0,Q916,-12.35,17.35,Angola,sovereign state in Africa
+Anguilla,AIA,AI,,AIA,18.220554,-63.068615,1,0,Q25228,18.23,-63.05,Anguilla,British Overseas Territory in the Caribbean
+Åland Islands,ALA,,,,60.250716,20.374146,1,0,Q5689,60.25,20.00,Åland,autonomous region of Finland
+Albania,ALB,AL,ALB,ALB,41.153332,20.168331,1,0,Q222,41.00,20.00,Albania,country in southeastern Europe
+Andorra,AND,AD,AND,AND,42.546245,1.601554,1,0,Q228,42.56,1.56,Andorra,"sovereign microstate between France and Spain, in Western Europe"
+Netherlands Antilles,ANT,AN,AHO,ANT,12.226079,-69.060087,1,0,Q25227,15.00,-66.00,Netherlands Antilles,former country within the Kingdom of the Netherlands
+Netherlands Antilles,ANT,AN,ATO,ANT,12.226079,-69.060087,1,0,Q25227,15.00,-66.00,Netherlands Antilles,former country within the Kingdom of the Netherlands
+Netherlands Antilles,ANT,AN,NAN,ANT,12.226079,-69.060087,1,0,Q25227,15.00,-66.00,Netherlands Antilles,former country within the Kingdom of the Netherlands
+United Arab Emirates,ARE,AE,UAE,UAE,23.424076,53.847818,1,0,Q878,24.40,54.30,United Arab Emirates,sovereign state in Southwest Asia
+Argentina,ARG,AR,ARG,ARG,-38.416097,-63.616672,1,0,Q414,-34.00,-64.00,Argentina,sovereign state in South America
+Armenia,ARM,AM,ARM,ARM,40.069099,45.038189,1,0,Q399,40.38,44.95,Armenia,sovereign state in the South Caucasus region of Eurasia
+American Samoa,ASM,AS,ASA,ASA,-14.270972,-170.132217,1,0,Q16641,-14.29,-170.71,American Samoa,United States territory in the Pacific Ocean
+Antarctica,ATA,AQ,,,-75.250973,-0.071389,1,0,Q51,-90.00,0.00,Antarctica,polar continent in the southern hemisphere
+French Southern Territories,ATF,TF,,,-49.280366,69.348557,1,0,Q129003,-43.00,67.00,French Southern and Antarctic Lands,overseas territory of France
+French Southern and Antarctic Lands,ATF,TF,,,-49.280366,69.348557,0,0,Q129003,-43.00,67.00,French Southern and Antarctic Lands,overseas territory of France
+Antigua and Barbuda,ATG,AG,ANT,ATG,17.060816,-61.796428,1,0,Q781,17.12,-61.85,Antigua and Barbuda,island sovereign state in the Caribbean Sea
+Australia,AUS,AU,AUS,AUS,-25.274398,133.775136,1,0,Q408,-28.00,137.00,Australia,country in Oceania
+Austria,AUT,AT,AUT,AUT,47.516231,14.550072,1,0,Q40,48.00,14.00,Austria,country in Europe
+Azerbaijan,AZE,AZ,AZE,AZE,40.143105,47.576927,1,0,Q227,40.30,47.70,Azerbaijan,country in the Caucasus in Eastern Europe
+Burundi,BDI,BI,BDI,BDI,-3.373056,29.918886,1,0,Q967,-3.67,29.82,Burundi,sovereign state in Africa
+Belgium,BEL,BE,BEL,BEL,50.503887,4.469936,1,0,Q31,50.64,4.67,Belgium,country in western Europe since 1830
+Benin,BEN,BJ,BEN,BEN,9.30769,2.315834,1,0,Q962,8.83,2.18,Benin,sovereign state in Africa
+"Bonaire, Sint Eustatius and Saba",BES,BQ,,,12.183333,-68.233333,1,0,Q27561,12.18,-68.23,Caribbean Netherlands,"grouping of the Caribbean islands of Bonaire, Sint Eustatius, and Saba, part of the Netherlands"
+"Caribbean Netherlands: Bonaire, Sint Eustatius and Saba",BES,BQ,,,12.183333,-68.233333,0,0,Q27561,12.18,-68.23,Caribbean Netherlands,"grouping of the Caribbean islands of Bonaire, Sint Eustatius, and Saba, part of the Netherlands"
+Burkina Faso,BFA,BF,BUR,BFA,12.238333,-1.561593,1,0,Q965,12.27,-2.07,Burkina Faso,sovereign state in Africa
+Bangladesh,BGD,BD,BAN,BAN,23.684994,90.356331,1,0,Q902,24.02,89.87,Bangladesh,sovereign state in South Asia
+Bulgaria,BGR,BG,BUL,BUL,42.733883,25.48583,1,0,Q219,42.75,25.50,Bulgaria,sovereign state in southeastern Europe
+Bahrain,BHR,BH,BRN,BHR,25.930414,50.637772,1,0,Q398,26.07,50.55,Bahrain,sovereign state in Southwest Asia
+Bahamas,BHS,BS,BAH,BAH,25.03428,-77.39628,1,0,Q778,23.70,-76.40,The Bahamas,island sovereign state in the West Indies
+The Bahamas,BHS,BS,BAH,BAH,25.03428,-77.39628,0,0,Q778,23.70,-76.40,The Bahamas,island sovereign state in the West Indies
+Bosnia and Herzegovina,BIH,BA,BIH,BIH,43.915886,17.679076,1,0,Q225,44.00,18.00,Bosnia and Herzegovina,country in southeastern Europe
+Saint Barthélemy,BLM,,,,,,1,0,Q25362,17.90,-62.83,Saint Barthélemy,"overseas collectivity of France, island of the Little Antillas"
+Belarus,BLR,BY,BLR,BLR,53.709807,27.953389,1,0,Q184,53.53,28.05,Belarus,country in eastern Europe
+Belize,BLZ,BZ,BIZ,BLZ,17.189877,-88.49765,1,0,Q242,17.07,-88.70,Belize,sovereign state in Central America
+Bermuda,BMU,BM,BER,BER,32.321384,-64.75737,1,0,Q23635,32.33,-64.75,Bermuda,British overseas territory in the North Atlantic Ocean
+Bolivia,BOL,BO,BOL,BOL,-16.290154,-63.588653,0,0,Q750,-17.06,-64.99,Bolivia,sovereign state in South America
+Bolivia (Plurinational State of),BOL,BO,BOL,BOL,-16.290154,-63.588653,1,0,Q750,-17.06,-64.99,Bolivia,sovereign state in South America
+Brazil,BRA,BR,BRA,BRA,-14.235004,-51.92528,1,0,Q155,-14.00,-53.00,Brazil,country in South America
+Barbados,BRB,BB,BAR,BRB,13.193887,-59.543198,1,0,Q244,13.17,-59.55,Barbados,sovereign state situated on an island in the Western Atlantic Ocean
+Brunei,BRN,BN,BRU,BRU,4.535277,114.727669,0,0,Q921,4.40,114.57,Brunei,sovereign state in Southeast Asia
+Brunei Darussalam,BRN,BN,BRU,BRU,4.535277,114.727669,1,0,Q921,4.40,114.57,Brunei,sovereign state in Southeast Asia
+Bhutan,BTN,BT,BHU,BHU,27.514162,90.433601,1,0,Q917,27.45,90.50,Bhutan,sovereign state in South Asia
+Burma,BUR,MM,BIR,BUR,21.913965,95.956223,0,0,Q836,22.00,96.00,Myanmar,sovereign state in Southeast Asia
+Myanmar,MMR,MM,MYA,MYA,21.913965,95.956223,1,0,Q836,22.00,96.00,Myanmar,sovereign state in Southeast Asia
+Bouvet Island,BVT,BV,,,-54.423199,3.413194,1,0,Q23408,-54.42,3.36,Bouvet Island,Norwegian uninhabited subantarctic volcanic island
+Botswana,BWA,BW,BOT,BOT,-22.328474,24.684866,1,0,Q963,-22.20,23.70,Botswana,sovereign state in Southern Africa
+Central African Republic,CAF,CF,CAF,CTA,6.611111,20.939444,1,0,Q929,6.70,20.90,Central African Republic,sovereign state in Africa
+Canada,CAN,CA,CAN,CAN,56.130366,-106.346771,1,0,Q16,56.00,-109.00,Canada,sovereign state in North America
+Cocos (Keeling) Islands,CCK,CC,,,-12.164165,96.870956,1,0,Q36004,-12.12,96.90,Cocos (Keeling) Islands,territory of Australia in the Indian Ocean
+Switzerland,CHE,CH,SUI,SUI,46.818188,8.227512,1,0,Q39,46.80,8.23,Switzerland,federal state in Western Europe
+Chile,CHL,CL,CHI,CHI,-35.675147,-71.542969,1,0,Q298,-33.00,-71.00,Chile,sovereign state in South America
+China,CHN,CN,CHN,CHN,35.86166,104.195397,1,0,Q148,35.84,103.45,People's Republic of China,state in East Asia
+"China, People's Republic of",CHN,CN,CHN,CHN,35.86166,104.195397,0,0,Q148,35.84,103.45,People's Republic of China,state in East Asia
+Côte d'Ivoire,CIV,CI,CIV,CIV,7.539989,-5.54708,1,0,Q1008,8.00,-6.00,Ivory Coast,sovereign state in West Africa
+Cameroon,CMR,CM,CMR,CMR,7.369722,12.354722,1,0,Q1009,7.00,12.00,Cameroon,sovereign state in West Africa
+"Congo, Democratic Republic of the",COD,CD,COD,COD,-4.038333,21.758664,1,0,Q974,-2.88,23.66,Democratic Republic of the Congo,sovereign state in Central Africa
+Congo [DRC],COD,CD,COD,COD,-4.038333,21.758664,0,0,Q974,-2.88,23.66,Democratic Republic of the Congo,sovereign state in Central Africa
+Zaire,ZAR,,ZAI,ZAI,-4.038333,21.758664,0,1,Q974,-2.88,23.66,Democratic Republic of the Congo,sovereign state in Central Africa
+Congo [Republic],COG,CG,CGO,CGO,-0.228021,15.827659,0,0,Q971,-0.75,15.38,Republic of the Congo,sovereign state in Central Africa
+"Congo, Republic of the",COG,CG,CGO,CGO,-0.228021,15.827659,0,0,Q971,-0.75,15.38,Republic of the Congo,sovereign state in Central Africa
+Congo,COG,CG,CGO,CGO,-0.228021,15.827659,1,0,Q971,-0.75,15.38,Republic of the Congo,sovereign state in Central Africa
+Cook Islands,COK,CK,COK,COK,-21.236736,-159.777671,1,0,Q26988,-21.23,-159.78,Cook Islands,state in the South Pacific Ocean
+Colombia,COL,CO,COL,COL,4.570868,-74.297333,1,0,Q739,4.00,-73.25,Colombia,sovereign state in South America
+Comoros,COM,KM,COM,COM,-11.875001,43.872219,1,0,Q970,-12.23,44.45,Comoros,sovereign state situated on an archipelago in the Indian Ocean off the eastern coast of Africa
+Cape Verde,CPV,CV,CPV,CPV,16.002082,-24.013197,1,0,Q1011,15.92,-24.08,Cape Verde,sovereign state comprising ten islands off the Western coast of Africa
+Costa Rica,CRI,CR,CRC,CRC,9.748917,-83.753428,1,0,Q800,10.00,-84.00,Costa Rica,sovereign state in Central America
+Czechoslovakia,CSK,,TCH,TCH,49.096397,18.11452,0,1,Q33946,50.08,14.42,Czechoslovakia,sovereign state in Central Europe (1918-1992)
+Cuba,CUB,CU,CUB,CUB,21.521757,-77.781167,1,0,Q241,22.00,-79.50,Cuba,sovereign state situated on an island in the Caribbean Sea
+Curaçao,CUW,CW,,CUW,12.186111,-68.989444,1,0,Q25279,12.17,-68.97,Curaçao,"island country in the Caribbean, part of the Kingdom of the Netherlands"
+Christmas Island,CXR,CX,,,-10.447525,105.690449,1,0,Q31063,-10.49,105.63,Christmas Island,Australian external territory in the Indian Ocean
+Cayman Islands,CYM,KY,CAY,CAY,19.513469,-80.566956,1,0,Q5785,19.50,-80.50,Cayman Islands,British overseas territory in the Caribbean
+Cyprus,CYP,CY,CYP,CYP,35.126413,33.429859,1,0,Q229,35.00,33.00,Cyprus,sovereign state situated on an island in the Eastern Mediterranean Sea
+Czech Republic,CZE,CZ,CZE,CZE,49.817492,15.472962,0,0,Q213,49.50,16.00,Czech Republic,country in Central Europe
+Czechia,CZE,CZ,CZE,CZE,49.817492,15.472962,1,0,Q213,49.50,16.00,Czech Republic,country in Central Europe
+East Germany,DDR,DE,GDR,DDR,52.194967,12.515583,0,1,Q16957,52.05,12.39,German Democratic Republic,"1949–1990 country in central Europe, unified into modern Germany"
+German Democratic Republic,DDR,DE,GDR,DDR,52.194967,12.515583,0,1,Q16957,52.05,12.39,German Democratic Republic,"1949–1990 country in central Europe, unified into modern Germany"
+Germany,DEU,DE,GER,GER,51.165691,10.451526,1,0,Q183,51.00,10.00,Germany,country in Central Europe
+West Germany,DEU,DE,FRG,FRG,50.609722,8.068889,0,1,Q713750,50.73,7.10,West Germany,Federal Republic of Germany in the period between its formation on 23 May 1949 and German reunification on 3 October 1990
+Djibouti,DJI,DJ,DJI,DJI,11.825138,42.590275,1,0,Q977,11.80,42.43,Djibouti,sovereign state in Africa
+Dominica,DMA,DM,DMA,DMA,15.414999,-61.370976,1,0,Q784,15.42,-61.33,Dominica,island sovereign state in the Caribbean Sea
+Denmark,DNK,DK,DEN,DEN,56.26392,9.501785,1,0,Q35,56.00,10.00,Denmark,country in northern Europe
+Dominican Republic,DOM,DO,DOM,DOM,18.735693,-70.162651,1,0,Q786,18.80,-70.20,Dominican Republic,island sovereign state in the Caribbean Sea
+Algeria,DZA,DZ,ALG,ALG,28.033886,1.659626,1,0,Q262,28.00,1.00,Algeria,sovereign country in North Africa
+Ecuador,ECU,EC,ECU,ECU,-1.831239,-78.183406,1,0,Q736,-1.00,-78.00,Ecuador,sovereign state in South America
+Egypt,EGY,EG,EGY,EGY,26.820553,30.802498,1,0,Q79,27.00,29.00,Egypt,sovereign state in North Africa and Asia
+Eritrea,ERI,ER,ERI,ERI,15.179384,39.782334,1,0,Q986,15.48,38.25,Eritrea,sovereign state in the Horn of Africa
+Western Sahara,ESH,EH,,,24.215527,-12.885834,1,0,Q6250,25.00,-13.00,Western Sahara,disputed territory in the Maghreb region of North Africa
+Spain,ESP,ES,ESP,ESP,40.463667,-3.74922,1,0,Q29,40.20,-3.50,Spain,country in southwestern Europe
+Estonia,EST,EE,EST,EST,58.595272,25.013607,1,0,Q191,59.00,26.00,Estonia,sovereign state in northeastern Europe
+Ethiopia,ETH,ET,ETH,ETH,9.145,40.489673,1,0,Q115,9.00,40.00,Ethiopia,country in East Africa
+Finland,FIN,FI,FIN,FIN,61.92411,25.748151,1,0,Q33,65.00,27.00,Finland,country in northern Europe
+Fiji,FJI,FJ,FIJ,FIJ,-16.578193,179.414413,1,0,Q712,-18.00,178.00,Fiji,island sovereign state in Oceania
+Falkland Islands,FLK,FK,,,-51.796253,-59.523613,0,0,Q9648,-51.75,-59.00,Falkland Islands,archipelago in the South Atlantic Ocean and British Overseas Territory
+Falkland Islands [Islas Malvinas],FLK,FK,,,-51.796253,-59.523613,0,0,Q9648,-51.75,-59.00,Falkland Islands,archipelago in the South Atlantic Ocean and British Overseas Territory
+Falkland Islands (Malvinas),FLK,FK,,,-51.796253,-59.523613,1,0,Q9648,-51.75,-59.00,Falkland Islands,archipelago in the South Atlantic Ocean and British Overseas Territory
+France,FRA,FR,FRA,FRA,46.227638,2.213749,1,0,Q142,47.00,2.00,France,country in Western Europe
+Faroe Islands,FRO,FO,,FRO,61.892635,-6.911806,1,0,Q4628,61.97,-6.84,Faroe Islands,autonomous constituent country of the Kingdom of Denmark
+Micronesia,FSM,FM,FSM,,7.425554,150.550812,0,0,Q702,6.92,158.18,Federated States of Micronesia,island sovereign state in Oceania
+"Micronesia, Federated States of",FSM,FM,FSM,,7.425554,150.550812,0,0,Q702,6.92,158.18,Federated States of Micronesia,island sovereign state in Oceania
+Micronesia (Federated States of),FSM,FM,FSM,,7.425554,150.550812,1,0,Q702,6.92,158.18,Federated States of Micronesia,island sovereign state in Oceania
+Gabon,GAB,GA,GAB,GAB,-0.803689,11.609444,1,0,Q1000,-0.68,11.50,Gabon,equatorial country in West Africa
+England,GB-ENG,,,ENG,52.537312,-0.845502,0,0,Q21,53.00,-1.00,England,constituent country of the United Kingdom
+Northern Ireland,GB-NIR,,,NIR,54.7,-6.7,0,0,Q26,54.68,-6.75,Northern Ireland,constituent country of the United Kingdom
+Scotland,GB-SCT,,,SCO,56.7,-4.2,0,0,Q22,57.00,-5.00,Scotland,constituent country of the United Kingdom
+Wales,GB-WLS,,,WAL,52.3,-3.6,0,0,Q25,52.35,-3.63,Wales,constituent country of the United Kingdom
+United Kingdom,GBR,GB,GBR,,55.378051,-3.435973,0,0,Q145,54.60,-2.00,United Kingdom,country in Western Europe
+United Kingdom of Great Britain and Northern Ireland,GBR,GB,GBR,,55.378051,-3.435973,1,0,Q145,54.60,-2.00,United Kingdom,country in Western Europe
+Georgia,GEO,GE,GEO,GEO,42.315407,43.356892,1,0,Q230,42.02,43.73,Georgia,country in the Caucasus in Eastern Europe
+Guernsey,GGY,GG,,,49.465691,-2.585278,1,0,Q25230,49.45,-2.58,Guernsey,British Crown dependency comprised of several islands
+Ghana,GHA,GH,GHA,GHA,7.946527,-1.023194,1,0,Q117,8.00,-0.50,Ghana,sovereign state in West Africa
+Gibraltar,GIB,GI,,GIB,36.137741,-5.345374,1,0,Q1410,36.14,-5.35,Gibraltar,British Overseas Territory
+Guinea,GIN,GN,GUI,GUI,9.945587,-9.696645,1,0,Q1006,10.00,-11.00,Guinea,sovereign state in West Africa
+Guadeloupe,GLP,GP,,,16.995971,-62.067641,1,0,Q17012,16.25,-61.58,Guadeloupe,"overseas region and department of France, and island in the Caribbean"
+Gambia,GMB,GM,GAM,GAM,13.443182,-15.310139,1,0,Q1005,13.50,-15.50,The Gambia,sovereign state in West Africa
+The Gambia,GMB,GM,GAM,GAM,13.443182,-15.310139,0,0,Q1005,13.50,-15.50,The Gambia,sovereign state in West Africa
+Guinea-Bissau,GNB,GW,GBS,GNB,11.803749,-15.180413,1,0,Q1007,12.00,-15.00,Guinea-Bissau,sovereign state in Western Africa
+Equatorial Guinea,GNQ,GQ,GEQ,EQG,1.650801,10.267895,1,0,Q983,1.50,10.00,Equatorial Guinea,sovereign state in Africa
+Greece,GRC,GR,GRE,GRE,39.074208,21.824312,1,0,Q41,38.50,23.00,Greece,country in southeastern Europe
+Grenada,GRD,GD,GRN,GRN,12.262776,-61.604171,1,0,Q769,12.12,-61.67,Grenada,island sovereign state in the Caribbean Sea
+Greenland,GRL,GL,,,71.706936,-42.604303,1,0,Q223,72.00,-40.00,Greenland,autonomous country within the Kingdom of Denmark
+Guatemala,GTM,GT,GUA,GUA,15.783471,-90.230759,1,0,Q774,15.50,-90.25,Guatemala,sovereign state in Central America
+French Guiana,GUF,GF,,,3.933889,-53.125782,1,0,Q3769,4.00,-53.00,French Guiana,Overseas department of France in South America
+Guam,GUM,GU,GUM,GUM,13.444304,144.793731,1,0,Q16635,13.50,144.80,Guam,island territory of the United States of America
+Guyana,GUY,GY,GUY,GUY,4.860416,-58.93018,1,0,Q734,5.73,-59.32,Guyana,country in South America
+Hong Kong,HKG,HK,HKG,HKG,22.396428,114.109497,1,0,Q8646,22.28,114.16,Hong Kong,special administrative region of China
+Heard Island and McDonald Islands,HMD,HM,,,-53.08181,73.504158,1,0,Q131198,-53.09,73.52,Heard Island and McDonald Islands,Australian external territory and volcanic group of barren Antarctic islands
+Honduras,HND,HN,HON,HON,15.199999,-86.241905,1,0,Q783,14.63,-86.82,Honduras,sovereign state in Central America
+Croatia,HRV,HR,CRO,CRO,45.1,15.2,1,0,Q224,45.25,15.47,Croatia,country in southeastern Europe
+Haiti,HTI,HT,HAI,HAI,18.971187,-72.285215,1,0,Q790,19.00,-72.80,Haiti,island sovereign state in the Caribbean Sea
+Hungary,HUN,HU,HUN,HUN,47.162494,19.503304,1,0,Q28,47.00,19.00,Hungary,country in Central Europe
+Upper Volta,HVO,,VOL,UPV,12.266667,-2.066667,0,1,Q797422,12.27,-2.07,Republic of Upper Volta,former country (1958-1984) in West Africa
+Indonesia,IDN,ID,INA,IDN,-0.789275,113.921327,1,0,Q252,-2.00,118.00,Indonesia,"sovereign state in Southeast Asia situated on more than 17,000 islands"
+Isle of Man,IMN,IM,,,54.236107,-4.548056,1,0,Q9676,54.24,-4.53,Isle of Man,British Crown dependency
+India,IND,IN,IND,IND,20.593684,78.96288,1,0,Q668,22.80,83.00,India,country in South Asia
+British Indian Ocean Territory,IOT,IO,,,-6.343194,71.876519,1,0,Q43448,-6.00,71.50,British Indian Ocean Territory,overseas territory in the Indian Ocean
+Ireland,IRL,IE,IRL,IRL,53.41291,-8.24389,1,0,Q27,53.00,-8.00,Republic of Ireland,sovereign state in northwestern Europe covering five-sixths of the island of Ireland
+Iran,IRN,IR,IRI,IRN,32.427908,53.688046,0,0,Q794,32.00,53.00,Iran,sovereign state in Western Asia
+Iran (Islamic Republic of),IRN,IR,IRI,IRN,32.427908,53.688046,1,0,Q794,32.00,53.00,Iran,sovereign state in Western Asia
+Iraq,IRQ,IQ,IRQ,IRQ,33.223191,43.679291,1,0,Q796,33.00,43.00,Iraq,sovereign state in western Asia
+Iceland,ISL,IS,ISL,ISL,64.963051,-19.020835,1,0,Q189,65.00,-19.00,Iceland,"sovereign state in Northern Europe, situated on an island in the far North Atlantic Ocean"
+Israel,ISR,IL,ISR,ISR,31.046051,34.851612,1,0,Q801,31.00,35.00,Israel,sovereign state in the Middle East
+Italy,ITA,IT,ITA,ITA,41.87194,12.56738,1,0,Q38,42.50,12.50,Italy,country in Southern Europe
+Jamaica,JAM,JM,JAM,JAM,18.109581,-77.297508,1,0,Q766,18.18,-77.40,Jamaica,island sovereign state in the Caribbean Sea
+Jersey,JEY,JE,,,49.214439,-2.13125,1,0,Q785,49.19,-2.11,Jersey,British Crown dependency in the Channel Islands
+Jordan,JOR,JO,JOR,JOR,30.585164,36.238414,1,0,Q810,31.20,36.50,Jordan,sovereign state in western Asia
+Japan,JPN,JP,JPN,JPN,36.204824,138.252924,1,0,Q17,35.00,136.00,Japan,sovereign state in East Asia
+Kazakhstan,KAZ,KZ,KAZ,KAZ,48.019573,66.923684,1,0,Q232,48.00,68.00,Kazakhstan,sovereign state in Eastern Europe and Central Asia
+Kenya,KEN,KE,KEN,KEN,-0.023559,37.906193,1,0,Q114,0.10,38.00,Kenya,sovereign state in East Africa
+Kyrgyzstan,KGZ,KG,KGZ,KGZ,41.20438,74.766098,1,0,Q813,41.00,75.00,Kyrgyzstan,sovereign state in Central Asia
+Cambodia,KHM,KH,CAM,CAM,12.565679,104.990963,1,0,Q424,12.60,105.00,Cambodia,sovereign state in Southeast Asia
+Kiribati,KIR,KI,KIR,,-3.370417,-168.734039,1,0,Q710,1.47,173.03,Kiribati,island sovereign state in the central Pacific Ocean
+Saint Kitts and Nevis,KNA,KN,SKN,SKN,17.357822,-62.782998,1,0,Q763,17.27,-62.67,Saint Kitts and Nevis,island sovereign state in the Caribbean Sea
+"Korea, Republic of (South)",KOR,KR,KOR,KOR,35.907757,127.766922,0,0,Q884,36.00,128.00,South Korea,sovereign state in East Asia
+South Korea,KOR,KR,KOR,KOR,35.907757,127.766922,0,0,Q884,36.00,128.00,South Korea,sovereign state in East Asia
+"Korea, Republic of",KOR,KR,KOR,KOR,35.907757,127.766922,1,0,Q884,36.00,128.00,South Korea,sovereign state in East Asia
+Kuwait,KWT,KW,KUW,KUW,29.31166,47.481766,1,0,Q817,29.17,47.60,Kuwait,sovereign state in Western Asia
+Laos,LAO,LA,LAO,LAO,19.85627,102.495496,0,0,Q819,18.20,104.10,Laos,sovereign state in Southeast Asia
+Lao People's Democratic Republic,LAO,LA,LAO,LAO,19.85627,102.495496,1,0,Q819,18.20,104.10,Laos,sovereign state in Southeast Asia
+Lebanon,LBN,LB,LBN,LIB,33.854721,35.862285,1,0,Q822,33.83,35.77,Lebanon,sovereign state in Western Asia
+Liberia,LBR,LR,LBR,LBR,6.428055,-9.429499,1,0,Q1014,6.53,-9.75,Liberia,sovereign state in West Africa
+Libya,LBY,LY,LBA,LBY,26.3351,17.228331,1,0,Q1016,27.00,17.00,Libya,sovereign state in north Africa
+Saint Lucia,LCA,LC,LCA,LCA,13.909444,-60.978893,1,0,Q760,13.88,-60.97,Saint Lucia,island sovereign state in the Caribbean Sea
+Liechtenstein,LIE,LI,LIE,LIE,47.166,9.555373,1,0,Q347,47.15,9.55,Liechtenstein,country in Central Europe
+Sri Lanka,LKA,LK,SRI,SRI,7.873054,80.771797,1,0,Q854,7.00,81.00,Sri Lanka,"sovereign state in South Asia, situated on an island in the Indian Ocean"
+Ceylon,,,CEY,CEY,7.873054,80.771797,0,1,Q854,7.00,81.00,Sri Lanka,"sovereign state in South Asia, situated on an island in the Indian Ocean"
+Lesotho,LSO,LS,LES,LES,-29.609988,28.233608,1,0,Q1013,-29.55,28.25,Lesotho,sovereign state in southern Africa
+Lithuania,LTU,LT,LTU,LTU,55.169438,23.881275,1,0,Q37,55.20,24.00,Lithuania,sovereign state in northeastern Europe
+Luxembourg,LUX,LU,LUX,LUX,49.815273,6.129583,1,0,Q32,49.77,6.13,Luxembourg,country in Western Europe
+Latvia,LVA,LV,LAT,LVA,56.879635,24.603189,1,0,Q211,57.00,25.00,Latvia,sovereign state in northeastern Europe
+Macau,MAC,MO,,MAC,22.198745,113.543873,0,0,Q14773,22.17,113.55,Macau,Special Administrative Region of China
+Macao,MAC,MO,,MAC,22.198745,113.543873,1,0,Q14773,22.17,113.55,Macau,Special Administrative Region of China
+Saint Martin (French part),MAF,,,,18.082502,-63.051991,1,0,Q126125,18.08,-63.06,Saint Martin,"French overseas collectivity, part of the island of Saint Martin in the Lesser Antilles"
+Morocco,MAR,MA,MAR,MAR,31.791702,-7.09262,1,0,Q1028,32.00,-6.00,Morocco,sovereign state in North Africa
+Monaco,MCO,MC,MON,,43.750298,7.412841,1,0,Q235,43.73,7.42,Monaco,sovereign city-state on the French Riviera
+Moldova,MDA,MD,MDA,MDA,47.411631,28.369885,0,0,Q217,47.25,28.52,Moldova,sovereign state in southeastern Europe
+"Moldova, Republic of",MDA,MD,MDA,MDA,47.411631,28.369885,1,0,Q217,47.25,28.52,Moldova,sovereign state in southeastern Europe
+Madagascar,MDG,MG,MAD,MAD,-18.766947,46.869107,1,0,Q1019,-20.00,47.00,Madagascar,"island sovereign state off the coast of Southeast Africa, in the Indian Ocean"
+Maldives,MDV,MV,MDV,MDV,3.202778,73.22068,1,0,Q826,4.18,73.51,Maldives,"sovereign state in South Asia, situated on an archipelago in the Arabian Sea"
+Mexico,MEX,MX,MEX,MEX,23.634501,-102.552784,1,0,Q96,23.00,-102.00,Mexico,sovereign state in North America
+Marshall Islands,MHL,MH,MHL,,7.131474,171.184478,1,0,Q709,9.82,169.29,Marshall Islands,island sovereign state in Oceania
+North Macedonia,MKD,MK,MKD,MKD,41.608635,21.745275,1,0,Q221,41.65,21.72,North Macedonia,country in southeastern Europe
+Macedonia [FYROM],MKD,MK,MKD,MKD,41.608635,21.745275,0,0,Q221,41.65,21.72,North Macedonia,country in southeastern Europe
+Mali,MLI,ML,MLI,MLI,17.570692,-3.996166,1,0,Q912,17.00,-4.00,Mali,sovereign state in West Africa
+Malta,MLT,MT,MLT,MLT,35.937496,14.375416,1,0,Q233,35.88,14.50,Malta,sovereign state in Southern Europe situated on an archipelago in the Mediterranean Sea
+Montenegro,MNE,ME,MNE,MNE,42.708678,19.37439,1,0,Q236,42.77,19.22,Montenegro,country in southeastern Europe
+Mongolia,MNG,MN,MGL,MNG,46.862496,103.846656,1,0,Q711,47.00,104.00,Mongolia,sovereign state in East Asia
+Northern Mariana Islands,MNP,MP,,,17.33083,145.38469,1,0,Q16644,16.71,145.78,Northern Mariana Islands,American-dependent insular area in the western Pacific
+Mozambique,MOZ,MZ,MOZ,MOZ,-18.665695,35.529562,1,0,Q1029,-19.00,35.00,Mozambique,sovereign state in Africa
+Mauritania,MRT,MR,MTN,MTN,21.00789,-10.940835,1,0,Q1025,21.00,-11.00,Mauritania,sovereign state in West Africa and North Africa
+Montserrat,MSR,MS,,MSR,16.742498,-62.187366,1,0,Q13353,16.75,-62.20,Montserrat,British overseas territory in the Caribbean
+Martinique,MTQ,MQ,,,14.641528,-61.024174,1,0,Q17054,14.65,-61.02,Martinique,"island in the Lesser Antilles, overseas region and department of France"
+Mauritius,MUS,MU,MRI,MRI,-20.348404,57.552152,1,0,Q1027,-20.20,57.50,Mauritius,island sovereign state off of Africa in the Indian Ocean
+Malawi,MWI,MW,MAW,MWI,-13.254308,34.301525,1,0,Q1020,-13.00,34.00,Malawi,sovereign state in Africa
+Malaysia,MYS,MY,MAS,MAS,4.210484,101.975766,1,0,Q833,3.78,102.31,Malaysia,sovereign state in Southeast Asia
+Mayotte,MYT,YT,,,-12.8275,45.166244,1,0,Q17063,-12.84,45.14,Mayotte,overseas department and region of France
+Namibia,NAM,NA,NAM,NAM,-22.95764,18.49041,1,0,Q1030,-23.00,17.00,Namibia,sovereign state in southern Africa
+New Caledonia,NCL,NC,,NCL,-20.904305,165.618042,1,0,Q33788,-21.25,165.30,New Caledonia,special collectivity of France in the southwest Pacific Ocean
+Niger,NER,NE,NIG,NIG,17.607789,8.081666,1,0,Q1032,17.00,10.00,Niger,sovereign state in western Africa
+Norfolk Island,NFK,NF,,,-29.040835,167.954712,1,0,Q31057,-29.03,167.95,Norfolk Island,"external territory of Australia in the South Pacific Ocean, consisting of the island of the same name plus neighbouring islands"
+Nigeria,NGA,NG,NGR,NGA,9.081999,8.675277,1,0,Q1033,9.00,8.00,Nigeria,sovereign state in West Africa
+Nicaragua,NIC,NI,NCA,NCA,12.865416,-85.207229,1,0,Q811,13.00,-85.00,Nicaragua,sovereign state in Central America
+Niue,NIU,NU,,,-19.054445,-169.867233,1,0,Q34020,-19.05,-169.92,Niue,island country in the South Pacific Ocean
+Netherlands,NLD,NL,NED,NED,52.132633,5.291266,1,0,Q55,52.32,5.55,Netherlands,"country in western Europe, continental part of Kingdom of the Netherlands"
+Norway,NOR,NO,NOR,NOR,60.472024,8.468946,1,0,Q20,65.00,11.00,Norway,country in northern Europe
+Nepal,NPL,NP,NEP,NEP,28.394857,84.124008,1,0,Q837,28.00,84.00,Nepal,sovereign state in South Asia
+Nauru,NRU,NR,NRU,,-0.522778,166.931503,1,0,Q697,-0.53,166.93,Nauru,island sovereign state in Oceania
+New Zealand,NZL,NZ,NZL,NZL,-40.900557,174.885971,1,0,Q664,-41.20,174.00,New Zealand,"sovereign state in Oceania, situated on two main and around 600 smaller islands in the southwestern Pacific Ocean"
+Oman,OMN,OM,OMA,OMA,21.512583,55.923255,1,0,Q842,21.00,57.00,Oman,sovereign state in western Asia
+Pakistan,PAK,PK,PAK,PAK,30.375321,69.345116,1,0,Q843,30.00,71.00,Pakistan,sovereign state in South Asia
+Panama,PAN,PA,PAN,PAN,8.537981,-80.782127,1,0,Q804,8.62,-80.37,Panama,sovereign state in Central America
+Pitcairn Islands,PCN,PN,,,-24.703615,-127.439308,0,0,Q35672,-25.07,-130.10,Pitcairn Islands,British Overseas Territory in the Pacific Ocean
+Pitcairn,PCN,PN,,,-24.703615,-127.439308,1,0,Q35672,-25.07,-130.10,Pitcairn Islands,British Overseas Territory in the Pacific Ocean
+Peru,PER,PE,PER,PER,-9.189967,-75.015152,1,0,Q419,-9.40,-76.00,Peru,sovereign state in South America
+Philippines,PHL,PH,PHI,PHI,12.879721,121.774017,1,0,Q928,12.00,123.00,Philippines,sovereign state in Southeast Asia
+Palau,PLW,PW,PLW,,7.51498,134.58252,1,0,Q695,7.47,134.55,Palau,island sovereign state in Oceania
+Papua New Guinea,PNG,PG,PNG,PNG,-6.314993,143.95555,1,0,Q691,-6.30,147.00,Papua New Guinea,island sovereign state in Oceania
+Poland,POL,PL,POL,POL,51.919438,19.145136,1,0,Q36,52.00,19.00,Poland,country in Central Europe
+Puerto Rico,PRI,PR,PUR,PUR,18.220833,-66.590149,1,0,Q1183,18.25,-66.50,Puerto Rico,unincorporated territory of the United States
+North Korea,PRK,KP,PRK,PRK,40.339852,127.510093,0,0,Q423,40.00,127.00,North Korea,sovereign state in East Asia
+Korea (Democratic People's Republic of),PRK,KP,PRK,PRK,40.339852,127.510093,1,0,Q423,40.00,127.00,North Korea,sovereign state in East Asia
+Portugal,PRT,PT,POR,POR,39.399872,-8.224454,1,0,Q45,38.70,-9.18,Portugal,country in southwestern Europe
+Paraguay,PRY,PY,PAR,PAR,-23.442503,-58.443832,1,0,Q733,-23.50,-58.00,Paraguay,sovereign state in South America
+"Palestine, State of",PSE,PS,PLE,PLE,31.952162,35.233154,1,0,Q407199,31.88,35.20,Palestinian territories,"West Bank, excluding East Jerusalem, a part of the State of Israel Capital, in the status of belligerent occupation, supported by international public law and the High Court of Justice of Israel"
+Palestinian Territories,PSE,PS,PLE,PLE,31.952162,35.233154,0,0,Q407199,31.88,35.20,Palestinian territories,"West Bank, excluding East Jerusalem, a part of the State of Israel Capital, in the status of belligerent occupation, supported by international public law and the High Court of Justice of Israel"
+French Polynesia,PYF,PF,,TAH,-17.679742,-149.406843,1,0,Q30971,-17.53,-149.57,French Polynesia,French overseas country in the Southern Pacific ocean
+Qatar,QAT,QA,QAT,QAT,25.354826,51.183884,1,0,Q846,25.27,51.21,Qatar,sovereign state in western Asia
+Réunion,REU,RE,,,-21.115141,55.536384,1,0,Q17070,-21.11,55.53,Réunion,"island in the Indian Ocean, overseas region of France"
+Rhodesia,RHO,,RHO,RHO,-19.015438,29.154857,0,1,Q954,-19.00,30.00,Zimbabwe,sovereign state in southern Africa
+Southern Rhodesia,RHO,,RHO,RHO,-19.015438,29.154857,0,1,Q954,-19.00,30.00,Zimbabwe,sovereign state in southern Africa
+Zimbabwe,ZWE,ZW,ZIM,ZIM,-19.015438,29.154857,1,0,Q954,-19.00,30.00,Zimbabwe,sovereign state in southern Africa
+Romania,ROU,RO,ROU,ROU,45.943161,24.96676,1,0,Q218,46.00,25.00,Romania,country in Central and Eastern Europe
+Russian Federation,RUS,RU,RUS,RUS,61.52401,105.318756,1,0,Q159,66.42,94.25,Russia,sovereign state in Eastern Europe and Northern Asia
+Russia,RUS,RU,RUS,RUS,61.52401,105.318756,0,0,Q159,66.42,94.25,Russia,sovereign state in Eastern Europe and Northern Asia
+Rwanda,RWA,RW,RWA,RWA,-1.940278,29.873888,1,0,Q1037,-1.94,29.87,Rwanda,sovereign state in Africa
+Saudi Arabia,SAU,SA,KSA,KSA,23.885942,45.079162,1,0,Q851,23.72,44.12,Saudi Arabia,sovereign state in western Asia
+Serbia and Montenegro,SCG,,SCG,SCG,44.816667,20.466667,0,1,Q37024,44.82,20.47,Serbia and Montenegro,former federal republic in the Balkans following the breakup of Yugoslavia (1992–2006)
+Sudan,SDN,SD,SUD,SDN,12.862807,30.217636,1,0,Q1049,15.00,32.00,Sudan,sovereign state in northeast Africa
+Senegal,SEN,SN,SEN,SEN,14.497401,-14.452362,1,0,Q1041,14.37,-14.28,Senegal,sovereign state in western Africa
+Singapore,SGP,SG,SGP,SIN,1.352083,103.819836,1,0,Q334,1.30,103.80,Singapore,sovereign city-state in Southeast Asia
+South Georgia and the South Sandwich Islands,SGS,GS,,,-54.429579,-36.587909,1,0,Q35086,-54.25,-36.75,South Georgia and the South Sandwich Islands,British overseas territory in the Southern Atlantic Ocean
+"Saint Helena, Ascension and Tristan da Cunha",SHN,SH,,,-24.143474,-10.030696,1,0,Q192184,-15.92,-5.72,"Saint Helena, Ascension and Tristan da Cunha",British overseas territory in the southern Atlantic Ocean
+Saint Helena,SHN,SH,,,-24.143474,-10.030696,0,0,Q192184,-15.92,-5.72,"Saint Helena, Ascension and Tristan da Cunha",British overseas territory in the southern Atlantic Ocean
+Svalbard and Jan Mayen,SJM,SJ,,,77.553604,23.670272,1,0,Q842829,78.64,21.99,Svalbard and Jan Mayen,two parts of Norway under separate jurisdictions
+Solomon Islands,SLB,SB,SOL,SOL,-9.64571,160.156194,1,0,Q685,-9.47,159.82,Solomon Islands,island sovereign state in Oceania
+Sierra Leone,SLE,SL,SLE,SLE,8.460555,-11.779889,1,0,Q1044,8.50,-12.10,Sierra Leone,sovereign state in West Africa
+El Salvador,SLV,SV,ESA,SLV,13.794185,-88.89653,1,0,Q792,13.67,-88.87,El Salvador,sovereign state in Central America
+San Marino,SMR,SM,SMR,SMR,43.94236,12.457777,1,0,Q238,43.93,12.47,San Marino,"sovereign state in southern Europe, enclaved within Italy"
+Somalia,SOM,SO,SOM,SOM,5.152149,46.199616,1,0,Q1045,6.00,47.00,Somalia,sovereign state in Africa
+Saint Pierre and Miquelon,SPM,PM,,,46.941936,-56.27111,1,0,Q34617,46.83,-56.28,Saint Pierre and Miquelon,self-governing territorial overseas collectivity of France
+Serbia,SRB,RS,SRB,SRB,44.016521,21.005859,1,0,Q403,43.95,20.93,Serbia,country in southeastern Europe
+South Sudan,SSD,,SSD,SSD,8,30,1,0,Q958,7.00,30.00,South Sudan,sovereign state in Africa
+São Tomé and Príncipe,STP,ST,STP,STP,0.18636,6.613081,0,0,Q1039,0.32,6.60,São Tomé and Príncipe,island sovereign state in Africa
+Sao Tome and Principe,STP,ST,STP,STP,0.18636,6.613081,1,0,Q1039,0.32,6.60,São Tomé and Príncipe,island sovereign state in Africa
+Soviet Union,SUN,,URS,URS,61.52401,105.318756,0,1,Q15180,65.00,90.00,Soviet Union,federal socialist country in Eastern Europe and Northern Asia (1922–1991)
+Suriname,SUR,SR,SUR,SUR,3.919305,-56.027783,1,0,Q730,4.00,-56.00,Suriname,sovereign state in South America
+Slovakia,SVK,SK,SVK,SVK,48.669026,19.699024,1,0,Q214,49.00,20.00,Slovakia,country in Central Europe
+Slovenia,SVN,SI,SLO,SVN,46.151241,14.995463,1,0,Q215,46.00,15.00,Slovenia,country in Central Europe
+Sweden,SWE,SE,SWE,SWE,60.128161,18.643501,1,0,Q34,61.00,15.00,Sweden,sovereign state in northern Europe
+Eswatini,SWZ,SZ,SWZ,SWZ,-26.522503,31.465866,1,0,Q1050,-26.48,31.43,Eswatini,sovereign state in southern Africa
+Swaziland,SWZ,SZ,SWZ,SWZ,-26.522503,31.465866,0,0,Q1050,-26.48,31.43,Eswatini,sovereign state in southern Africa
+Sint Maarten (Dutch part),SXM,,,,18.04258,-63.056017,1,0,Q26273,18.03,-63.07,Sint Maarten,"country on the Caribbean island of Saint Martin, part of the Kingdom of the Netherlands"
+Seychelles,SYC,SC,SEY,SEY,-4.679574,55.491977,1,0,Q1042,-7.10,52.77,Seychelles,island sovereign state off the eastern coast of Africa
+Syria,SYR,SY,SYR,SYR,34.802075,38.996815,0,0,Q858,35.22,38.58,Syria,sovereign state in western Asia
+Syrian Arab Republic,SYR,SY,SYR,SYR,34.802075,38.996815,1,0,Q858,35.22,38.58,Syria,sovereign state in western Asia
+Turks and Caicos Islands,TCA,TC,,TCA,21.694025,-71.797928,1,0,Q18221,21.78,-71.80,Turks and Caicos Islands,British Overseas Territory in the Caribbean
+Chad,TCD,TD,CHA,CHA,15.454166,18.732207,1,0,Q657,15.47,19.40,Chad,sovereign state in central Africa
+Togo,TGO,TG,TOG,TOG,8.619543,0.824782,1,0,Q945,8.25,1.18,Togo,sovereign state in Africa
+Thailand,THA,TH,THA,THA,15.870032,100.992541,1,0,Q869,14.00,101.00,Thailand,sovereign state in Southeast Asia
+Tajikistan,TJK,TJ,TJK,TJK,38.861034,71.276093,1,0,Q863,38.58,71.37,Tajikistan,sovereign state in Central Asia
+Tokelau,TKL,TK,,,-8.967363,-171.855881,1,0,Q36823,-9.17,-171.83,Tokelau,New Zealand territory in the Pacific Ocean
+Turkmenistan,TKM,TM,TKM,TKM,38.969719,59.556278,1,0,Q874,39.00,60.00,Turkmenistan,sovereign state in Central Asia
+Timor-Leste,TLS,TL,TLS,TLS,-8.874217,125.727539,1,0,Q574,-8.97,125.75,East Timor,sovereign state situated on several islands in Southeast Asia
+Tonga,TON,TO,TGA,TGA,-21.178986,-175.198242,1,0,Q678,-20.59,-174.81,Tonga,"sovereign state in Oceania, situated on an archipelago"
+Trinidad and Tobago,TTO,TT,TTO,TRI,10.691803,-61.222503,1,0,Q754,10.67,-61.52,Trinidad and Tobago,island sovereign state in the Caribbean
+Tunisia,TUN,TN,TUN,TUN,33.886917,9.537499,1,0,Q948,34.00,10.00,Tunisia,sovereign state in Northern Africa
+Turkey,TUR,TR,TUR,TUR,38.963745,35.243322,1,0,Q43,39.00,36.00,Turkey,sovereign state spanning in Europe and Asia
+Tuvalu,TUV,TV,TUV,,-7.109535,177.64933,1,0,Q672,-7.48,178.01,Tuvalu,island sovereign state in Oceania
+Taiwan,TWN,TW,TPE,TPE,23.69781,120.960515,0,0,Q865,24.00,121.00,Taiwan,"democratic republic in East Asia, also known as the Republic of China since 1949"
+"Taiwan, Province of China",TWN,TW,TPE,TPE,23.69781,120.960515,1,0,Q865,24.00,121.00,Taiwan,"democratic republic in East Asia, also known as the Republic of China since 1949"
+Tanzania,TZA,TZ,TAN,TAN,-6.369028,34.888822,0,0,Q924,-6.31,34.85,Tanzania,sovereign state in Africa
+"Tanzania, United Republic of",TZA,TZ,TAN,TAN,-6.369028,34.888822,1,0,Q924,-6.31,34.85,Tanzania,sovereign state in Africa
+Uganda,UGA,UG,UGA,UGA,1.373333,32.290275,1,0,Q1036,1.28,32.39,Uganda,sovereign state in East Africa
+Ukraine,UKR,UA,UKR,UKR,48.379433,31.16558,1,0,Q212,49.00,32.00,Ukraine,sovereign state in Europe
+Uruguay,URY,UY,URU,URU,-32.522779,-55.765835,1,0,Q77,-33.00,-56.00,Uruguay,sovereign state in South America
+United States of America,USA,US,USA,USA,37.09024,-95.712891,1,0,Q30,39.83,-98.58,United States of America,sovereign state in North America
+United States,USA,US,USA,USA,37.09024,-95.712891,0,0,Q30,39.83,-98.58,United States of America,sovereign state in North America
+Uzbekistan,UZB,UZ,UZB,UZB,41.377491,64.585262,1,0,Q265,41.00,66.00,Uzbekistan,sovereign state in Central Asia
+Vatican City,VAT,VA,,,41.902916,12.453389,0,0,Q237,41.90,12.45,Vatican City,"independent city-state enclaved within Rome, Italy under the sovereignty of the Holy See"
+Vatican City State,VAT,VA,,,41.902916,12.453389,0,0,Q237,41.90,12.45,Vatican City,"independent city-state enclaved within Rome, Italy under the sovereignty of the Holy See"
+Holy See,VAT,VA,,,41.902916,12.453389,1,0,Q237,41.90,12.45,Vatican City,"independent city-state enclaved within Rome, Italy under the sovereignty of the Holy See"
+Saint Vincent and the Grenadines,VCT,VC,VIN,VIN,12.984305,-61.287228,1,0,Q757,12.90,-61.23,Saint Vincent and the Grenadines,island sovereign state in the Caribbean Sea
+North Vietnam,VDR,,,VNO,21.028333,105.854167,0,1,Q172640,21.03,105.85,North Vietnam,former socialist republic in Southeast Asia
+"Viet-Nam, Democratic Republic of",VDR,,,VNO,21.028333,105.854167,0,1,Q172640,21.03,105.85,North Vietnam,former socialist republic in Southeast Asia
+Venezuela,VEN,VE,VEN,VEN,6.42375,-66.58973,0,0,Q717,8.00,-67.00,Venezuela,sovereign state in northern South America
+Venezuela (Bolivarian Republic of),VEN,VE,VEN,VEN,6.42375,-66.58973,1,0,Q717,8.00,-67.00,Venezuela,sovereign state in northern South America
+British Virgin Islands,VGB,VG,IVB,VGB,18.420695,-64.639968,0,0,Q25305,18.50,-64.50,British Virgin Islands,British overseas territory in the Caribbean
+Virgin Islands (British),VGB,VG,IVB,VGB,18.420695,-64.639968,1,0,Q25305,18.50,-64.50,British Virgin Islands,British overseas territory in the Caribbean
+U.S. Virgin Islands,VIR,VI,ISV,VIR,18.335765,-64.896335,0,0,Q11703,18.33,-64.83,United States Virgin Islands,group of islands in the Caribbean
+United States Virgin Islands,VIR,VI,ISV,VIR,18.335765,-64.896335,0,0,Q11703,18.33,-64.83,United States Virgin Islands,group of islands in the Caribbean
+Virgin Islands (U.S.),VIR,VI,ISV,VIR,18.335765,-64.896335,1,0,Q11703,18.33,-64.83,United States Virgin Islands,group of islands in the Caribbean
+Viet Nam,VNM,VN,VIE,VIE,14.058324,108.277199,1,0,Q881,16.00,108.00,Vietnam,sovereign state in Southeast Asia
+Vietnam,VNM,VN,VIE,VIE,14.058324,108.277199,0,0,Q881,16.00,108.00,Vietnam,sovereign state in Southeast Asia
+Vanuatu,VUT,VU,VAN,VAN,-15.376706,166.959158,1,0,Q686,-16.63,168.02,Vanuatu,sovereign state situated on an archipelago in the South Pacific Ocean
+Wallis and Futuna,WLF,WF,,,-13.768752,-177.156097,1,0,Q35555,-14.30,-178.11,Wallis and Futuna,overseas collectivity of France
+Samoa,WSM,WS,SAM,SAM,-13.759029,-172.104629,1,0,Q683,-14.00,-172.00,Samoa,sovereign state made up of six islands in the Pacific Ocean
+North Yemen,YEM,,YAR,NYE,15.354722,44.206667,0,1,Q267584,15.35,44.21,Yemen Arab Republic,former country
+Yemen,YEM,YE,YEM,YEM,15.552727,48.516388,1,0,Q805,15.50,48.00,Yemen,sovereign state in western Asia
+South Yemen,YMD,,YMD,SYE,12.8,45.033333,0,1,Q199841,12.80,45.03,South Yemen,1967–1990 country in western Asia
+Yugoslavia,YUG,,YUG,YUG,44.816667,20.45,0,1,Q36704,44.82,20.46,Yugoslavia,1918–1992 country in Southeastern and Central Europe
+"Yugoslavia, Federal Republic of",YUG,,YUG,YUG,44.816667,20.45,0,1,Q838261,44.82,20.47,Federal Republic of Yugoslavia,former Balkans republic country
+South Africa,ZAF,ZA,RSA,RSA,-30.559482,22.937506,1,0,Q258,-29.00,24.00,South Africa,sovereign state in Southern Africa
+Zambia,ZMB,ZM,ZAM,ZAM,-13.133897,27.849332,1,0,Q953,-14.00,28.00,Zambia,sovereign state in Southern Africa
+Kosovo,,XK,KOS,KVX,42.602636,20.902977,0,0,Q1246,42.55,20.83,Kosovo,partially recognized country in southeastern Europe
+British Honduras,,,HBR,BHO,17.189877,-88.49765,0,1,Q1643555,17.07,-88.70,British Honduras,UK possession in Central America between 1862 and 1981
+North Borneo,,,NBO,NBO,5.25,117,0,1,Q16933920,5.25,117.00,North Borneo,former Crown Colony (1946-1963)
+Northern Rhodesia,,,NRH,NRH,-13.133897,27.849332,0,1,Q953903,-14.12,27.63,Northern Rhodesia,protectorate in south central Africa in 1924–1964
+ Australasia,,,ANZ,,-41.00,124.00,0,0,Q45256,-41.00,124.00,Australasia,region of the Pacific Ocean
+ Australasia,,,AUA,,-41.00,124.00,0,0,Q45256,-41.00,124.00,Australasia,region of the Pacific Ocean
+ Bohemia,,,BOH,,49.83,14.33,0,1,Q39193,49.83,14.33,Bohemia,historical region in the Czech Republic
diff --git a/data/falseKillerWhale.jpeg b/data/falseKillerWhale.jpeg
new file mode 100644
index 0000000..408e206
Binary files /dev/null and b/data/falseKillerWhale.jpeg differ
diff --git a/data/fin-whale.jpg b/data/fin-whale.jpg
new file mode 100644
index 0000000..98cf9ce
Binary files /dev/null and b/data/fin-whale.jpg differ
diff --git a/data/fountain.png b/data/fountain.png
new file mode 100644
index 0000000..b68abda
Binary files /dev/null and b/data/fountain.png differ
diff --git a/data/humpack.jpg b/data/humpack.jpg
new file mode 100644
index 0000000..3ac00cd
Binary files /dev/null and b/data/humpack.jpg differ
diff --git a/data/humpback.jpeg b/data/humpback.jpeg
new file mode 100644
index 0000000..2f14c82
Binary files /dev/null and b/data/humpback.jpeg differ
diff --git a/data/tail.png b/data/tail.png
new file mode 100644
index 0000000..ff88522
Binary files /dev/null and b/data/tail.png differ
diff --git a/data/whale.png b/data/whale.png
new file mode 100644
index 0000000..c44160d
Binary files /dev/null and b/data/whale.png differ
diff --git a/data/whaleShark2.png b/data/whaleShark2.png
new file mode 100644
index 0000000..0041ef3
Binary files /dev/null and b/data/whaleShark2.png differ
diff --git a/data/whaleTail.jpg b/data/whaleTail.jpg
new file mode 100644
index 0000000..8236e66
Binary files /dev/null and b/data/whaleTail.jpg differ
diff --git a/data/whaleWatchers.jpg b/data/whaleWatchers.jpg
new file mode 100644
index 0000000..2336061
Binary files /dev/null and b/data/whaleWatchers.jpg differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..47e292d
--- /dev/null
+++ b/index.html
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+ Name of Whale Database
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Finding Whaley
+
+
+
+
+
+
+
+
+
+ Submit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/js/firebase.js b/js/firebase.js
new file mode 100644
index 0000000..cd8af00
--- /dev/null
+++ b/js/firebase.js
@@ -0,0 +1,166 @@
+import { initializeApp } from "https://www.gstatic.com/firebasejs/11.0.2/firebase-app.js";
+import { getAnalytics } from "https://www.gstatic.com/firebasejs/11.0.2/firebase-analytics.js";
+import { getFirestore, addDoc, collection } from 'https://www.gstatic.com/firebasejs/11.0.2/firebase-firestore.js';
+import { getStorage, ref, uploadBytes, getDownloadURL } from 'https://www.gstatic.com/firebasejs/11.0.2/firebase-storage.js';
+
+const firebaseConfig = {
+ apiKey: "AIzaSyBsX7PCZmqe8qGkkruuKInDyys6I8pF_nM",
+ authDomain: "whale-watcher-23ad2.firebaseapp.com",
+ projectId: "whale-watcher-23ad2",
+ storageBucket: "whale-watcher-23ad2.firebasestorage.app",
+ messagingSenderId: "221758210243",
+ appId: "1:221758210243:web:8fd7721e2e9d73d515e276",
+ measurementId: "G-29ZGL5TCWY"
+ };
+
+// Initialize Firebase
+const app = initializeApp(firebaseConfig);
+const analytics = getAnalytics(app);
+const db = getFirestore();
+const storage = getStorage(app);
+
+// Handle the file upload process
+async function uploadFileToStorage(file) {
+ if (!file) return null;
+
+ const storageRef = ref(storage, 'uploads/' + file.name); // Create a reference for the file
+ try {
+ // Upload the file to Firebase Storage
+ await uploadBytes(storageRef, file);
+
+ // Get the download URL after the file is uploaded
+ const downloadURL = await getDownloadURL(storageRef);
+ console.log('File available at:', downloadURL);
+ return downloadURL;
+ } catch (error) {
+ console.error("Error uploading file:", error);
+ return null;
+ }
+}
+
+// Handle form submission
+document.getElementById('submitBtn').addEventListener('click', async () => {
+ const latitude = document.querySelector('[name="latitude"]').value;
+ const longitude = document.querySelector('[name="longitude"]').value;
+ const date = document.querySelector('[name="date"]').value;
+ const time = document.querySelector('[name="time"]').value;
+ const species = document.querySelector('[name="species"]').value;
+ const description = document.querySelector('[name="description"]').value;
+
+ const photoFile = document.getElementById('photoInput').files[0];
+ const videoFile = document.getElementById('videoInput').files[0];
+ const audioFile = document.getElementById('audioInput').files[0];
+
+ // Upload the files (photo, video, audio) to Firebase Storage
+ const photoURL = await uploadFileToStorage(photoFile);
+ const videoURL = await uploadFileToStorage(videoFile);
+ const audioURL = await uploadFileToStorage(audioFile);
+
+ // Prepare data for Firestore
+ const sightingData = {
+ latitude: latitude,
+ longitude: longitude,
+ date: date,
+ time: time,
+ species: species,
+ description: description,
+ photo: photoURL, // URL to the uploaded photo
+ video: videoURL, // URL to the uploaded video
+ audio: audioURL, // URL to the uploaded audio
+ };
+
+ try {
+ // Add sighting data to Firestore
+ const docRef = await addDoc(collection(db, "sightings"), sightingData);
+ console.log("Document written with ID: ", docRef.id);
+
+ alert('Sighting submitted successfully!');
+ } catch (e) {
+ console.error("Error adding document: ", e);
+ alert('Failed to submit sighting.');
+ }
+});
+
+async function submitSighting(lat, lng, species, description, date, time, files) {
+ try {
+ // Create the data to submit
+ const sightingData = {
+ latitude: lat,
+ longitude: lng,
+ species: species,
+ description: description,
+ date: date,
+ time: time,
+ photo: files.photo ? await uploadFileToStorage(files.photo) : null, // Optional file upload
+ video: files.video ? await uploadFileToStorage(files.video) : null,
+ audio: files.audio ? await uploadFileToStorage(files.audio) : null,
+ timestamp: new Date(),
+ };
+
+ // Add the sighting to Firestore
+ const docRef = await addDoc(collection(db, "sightings"), sightingData);
+ console.log("Document written with ID: ", docRef.id);
+ } catch (e) {
+ console.error("Error adding document: ", e);
+ alert('Failed to save the sighting. Please try again.');
+ }
+
+ }
+
+ async function handleSightingSubmission(lat, lng, species, description, date, time, files) {
+ try {
+ // Submit the sighting data (reuse the submitSighting function)
+ await submitSighting(lat, lng, species, description, date, time, files);
+
+ // Now create a permanent marker and show it on the map
+ createPermanentMarker(lat, lng, species, description, files);
+
+ // Optionally show a success message or confirmation
+ alert("Sighting submitted and marker added!");
+
+ } catch (error) {
+ console.error("Error submitting sighting:", error);
+ alert("Failed to submit sighting. Please try again.");
+ }
+ }
+
+ function createPermanentMarker(lat, lng, species, description, files) {
+ // Create the custom whale marker element
+ const markerElement = document.createElement('img');
+ markerElement.src = './data/whale.png'; // Path to your whale PNG image
+ markerElement.alt = 'Whale Marker';
+ markerElement.style.width = '30px'; // Marker size
+ markerElement.style.height = '30px';
+ markerElement.style.cursor = 'pointer'; // Optional: Cursor style
+
+ // Create the permanent marker
+ const permanentMarker = new mapboxgl.Marker({ element: markerElement })
+ .setLngLat([lng, lat])
+ .addTo(map); // Add the marker to the map
+
+ // Create the pop-up for the marker
+ const popup = new mapboxgl.Popup({ offset: 25, closeButton: false })
+ .setMaxWidth('400px')
+ .setHTML(`
+
+ `);
+
+ // Show the pop-up when the user hovers over the marker
+ markerElement.addEventListener('mouseenter', () => {
+ popup.setLngLat([lng, lat]).addTo(map); // Show pop-up
+ });
+
+ // Remove the pop-up when the user stops hovering over the marker
+ markerElement.addEventListener('mouseleave', () => {
+ popup.remove(); // Remove pop-up
+ });
+ }
+
+export default db;
+export { submitSighting, uploadFileToStorage, handleSightingSubmission };
\ No newline at end of file
diff --git a/js/location_select.js b/js/location_select.js
new file mode 100644
index 0000000..65362fc
--- /dev/null
+++ b/js/location_select.js
@@ -0,0 +1,524 @@
+import _debounce from 'https://esm.run/lodash/debounce';
+import { submitSighting, handleSightingSubmission } from './firebase.js';
+import { getDocs, collection, getFirestore, query, where, serverTimestamp, onSnapshot } from 'https://www.gstatic.com/firebasejs/11.0.2/firebase-firestore.js';
+
+
+// Include map
+mapboxgl.accessToken = 'pk.eyJ1Ijoic3lsdmlhdXBlbm4iLCJhIjoiY20weTdodGpiMGt4MDJsb2UzbzZnd2FmMyJ9.H6mn-LOHFUdv7swHpM7enA'
+
+
+const map = new mapboxgl.Map({
+ container: 'map',
+ style: 'mapbox://styles/mapbox/outdoors-v12',
+ center: [0, 0],
+ zoom: 2,
+ scrollZoom: true, // Enable zooming via scroll
+ interactive: true,
+});
+
+map.doubleClickZoom.disable();
+
+// Fetch and display markers after the map has been loaded
+map.on('load', async () => {
+ try {
+ await populateWhaleDropdown();
+ await fetchAndDisplayMarkers();
+ } catch (error) {
+ console.error("Initialization error:", error);
+ }
+});
+
+
+let selectedSpecies = 'All'; // Default value to show all species
+let allMarkers = []; // Store all markers to remove them later
+
+const db = getFirestore();
+
+document.addEventListener('DOMContentLoaded', function() {
+ const whaleInput = document.querySelector('#whale-type');
+ if (whaleInput) {
+ initWhaleSearch(whaleInput);
+ } else {
+ console.error('Element with id "whale-type" not found!');
+ }
+});
+
+// Whale dataset for autocomplete search
+const whaleDataset = [
+ "Blue Whale", "Humpback Whale", "Orca Whale", "Beluga Whale", "Narwhal Whale", "Fin Whale",
+ "Whale Shark", "Short-Finned Pilot Whale", "Bowhead Whale", "False Killer Whale", "Sperm Whale",
+ "Unknown"
+];
+
+function initWhaleSearch(el) {
+ const autocompleteOptionsList = document.createElement('ol');
+ autocompleteOptionsList.classList.add('autocomplete-options');
+ el.after(autocompleteOptionsList);
+
+ function showAutocompleteOptions() {
+ const query = el.value.trim();
+
+ // If the input is empty, reload all markers and hide the dropdown
+ if (query === "") {
+ selectedSpecies = 'All'; // Reset to show all species
+ fetchAndDisplayMarkers(); // Reload all markers
+ autocompleteOptionsList.classList.add('hidden');
+ return;
+ }
+
+ const filteredWhales = whaleDataset.filter(whale => whale.toLowerCase().startsWith(query.toLowerCase()));
+
+ autocompleteOptionsList.classList.remove('hidden');
+ autocompleteOptionsList.innerHTML = '';
+
+ if (filteredWhales.length === 0) {
+ const noResults = document.createElement('li');
+ noResults.textContent = "No results";
+ noResults.classList.add('no-results');
+ autocompleteOptionsList.appendChild(noResults);
+ } else {
+ filteredWhales.forEach(whale => {
+ const option = document.createElement('li');
+ option.classList.add('autocomplete-option');
+ option.textContent = whale;
+ option.addEventListener('click', () => {
+ el.value = whale; // Set input value to the selected whale
+ autocompleteOptionsList.classList.add('hidden'); // Hide dropdown after selection
+
+ // Update the global selectedSpecies value
+ selectedSpecies = whale;
+ fetchAndDisplayMarkers(); // Call the function to update the map markers
+ });
+ autocompleteOptionsList.appendChild(option);
+ });
+ }
+ }
+
+ el.addEventListener('input', _debounce(showAutocompleteOptions, 300));
+}
+
+function filterWhaleSpecies(sightings, selectedSpecies) {
+ if (selectedSpecies === 'All') return sightings; // Return all sightings if "All" is selected
+ return sightings.filter(sighting => sighting.species === selectedSpecies);
+}
+
+async function populateWhaleDropdown() {
+ try {
+ const querySnapshot = await getDocs(collection(db, "sightings"));
+ const speciesSet = new Set();
+
+ querySnapshot.forEach((doc) => {
+ const data = doc.data();
+ if (data.species) {
+ speciesSet.add(data.species);
+ }
+ });
+
+ const speciesList = Array.from(speciesSet).sort();
+ console.log('Species list:', speciesList); // Log the species list
+
+ const whaleDropdown = document.querySelector('#whale-type');
+ if (!whaleDropdown) {
+ console.error('Dropdown with id "whale-type" not found!');
+ return;
+ }
+
+ whaleDropdown.innerHTML = '';
+ whaleDropdown.appendChild(new Option("All", "All"));
+
+ speciesList.forEach((species) => {
+ whaleDropdown.appendChild(new Option(species, species));
+ });
+
+ console.log('Dropdown populated with species:', speciesList);
+ } catch (error) {
+ console.error("Error fetching species from Firebase:", error);
+ }
+}
+
+
+document.querySelector('#whale-type').addEventListener('change', (event) => {
+ const selectedSpecies = event.target.value.trim();
+
+ // Check if no species is selected or "All" is selected
+ if (!selectedSpecies || selectedSpecies.toLowerCase() === "all") {
+ fetchAndDisplayMarkers(); // Fetch and display all markers
+ } else {
+ // Fetch and display markers filtered by the selected species
+ fetchAndDisplayMarkers(selectedSpecies);
+ }
+});
+
+async function fetchAndDisplayMarkers() {
+ try {
+ const querySnapshot = await getDocs(collection(db, "sightings"));
+ const sightings = [];
+
+ querySnapshot.forEach((doc) => {
+ const data = doc.data();
+ sightings.push({
+ longitude: data.longitude,
+ latitude: data.latitude,
+ audio: data.audio,
+ date: data.date,
+ description: data.description,
+ photo: data.photo,
+ video: data.video,
+ species: data.species
+ });
+ });
+
+ // Filter sightings based on selected species
+ const filteredSightings = filterWhaleSpecies(sightings, selectedSpecies);
+
+ // Remove the old markers from the map
+ clearMarkers();
+
+ // Display the filtered sightings on the map
+ displayMarkersOnMap(map, filteredSightings);
+
+ } catch (error) {
+ console.error("Error fetching locations from Firebase:", error);
+ }
+}
+
+function clearMarkers() {
+ if (allMarkers.length > 0) {
+ allMarkers.forEach(marker => marker.remove()); // Remove markers from the map
+ allMarkers = []; // Clear the array
+ }
+}
+
+function displayMarkersOnMap(map, sightings) {
+ sightings.forEach(sighting => {
+ // Create a custom marker element
+ const markerElement = document.createElement('img');
+ markerElement.src = './data/whale.png'; // Path to your PNG
+ markerElement.alt = 'Whale Marker';
+ markerElement.style.width = '30px'; // Adjust the size of your marker
+ markerElement.style.height = '30px';
+ markerElement.style.cursor = 'pointer'; // Optional: Change cursor to a pointer
+
+ // Create a new marker for each sighting
+ const marker = new mapboxgl.Marker({ element: markerElement }) // Use custom marker element
+ .setLngLat([sighting.longitude, sighting.latitude]) // Set marker position
+ .addTo(map); // Add marker to the map
+
+
+ // Create a pop-up instance (but don't add content yet)
+ const popup = new mapboxgl.Popup({ offset: 25, closeButton: false })
+ .setMaxWidth('400px'); // Optional: Max width for better layout
+
+ // Flag to track if the pop-up is permanent
+ let isPopupOpen = false;
+
+ const createPopupContent = () => {
+ let species = sighting.species || 'Unknown Species';
+ let description = sighting.description || 'No description available';
+ let popupContent = `
+ `;
+ return popupContent;
+ };
+
+ // Handle mouse enter event to show pop-up if not permanent
+ marker.getElement().addEventListener('mouseenter', () => {
+ if (!isPopupOpen) {
+ popup.setHTML(createPopupContent())
+ .setLngLat([sighting.longitude, sighting.latitude])
+ .addTo(map);
+ }
+ });
+
+ // Handle mouse leave event to remove the pop-up if not permanent
+ marker.getElement().addEventListener('mouseleave', () => {
+ if (!isPopupOpen) {
+ popup.remove();
+ }
+ });
+
+ // Add the new marker to the allMarkers array
+ allMarkers.push(marker);
+ });
+}
+
+let boundingBoxes = {}; // Store the boundingBoxes data
+
+// Function to load JSON data (boundingBoxes)
+async function loadBoundingBoxes() {
+ try {
+ const response = await fetch('./data/boundingBoxes.json'); // Path to your boundingBoxes.json file
+ if (!response.ok) {
+ throw new Error('Failed to load bounding boxes');
+ }
+ boundingBoxes = await response.json(); // Parse JSON data
+ console.log('Bounding Boxes loaded:', boundingBoxes);
+ } catch (error) {
+ console.error(error);
+ }
+}
+
+// Autocomplete and search functionality
+document.addEventListener('DOMContentLoaded', function () {
+ const locationInput = document.querySelector('#location');
+ if (locationInput) {
+ initCountrySearch(locationInput);
+ } else {
+ console.error('Element with id "location-search" not found!');
+ }
+});
+
+// Initialize autocomplete search
+function initCountrySearch(el) {
+ const autocompleteOptionsList = document.createElement('ol');
+ autocompleteOptionsList.classList.add('autocomplete-options');
+ el.after(autocompleteOptionsList); // Add the dropdown after the input field
+
+ function showAutocompleteOptions() {
+ const query = el.value.trim().toLowerCase();
+
+ // Hide the dropdown if the input is empty
+ if (query === "") {
+ autocompleteOptionsList.classList.add('hidden');
+ return;
+ }
+
+ // Filter countries based on name from the boundingBoxes dataset
+ const filteredCountries = Object.entries(boundingBoxes).filter(([countryCode, data]) =>
+ data[0].toLowerCase().startsWith(query)
+ );
+
+ autocompleteOptionsList.classList.remove('hidden');
+ autocompleteOptionsList.innerHTML = ''; // Clear previous results
+
+ if (filteredCountries.length === 0) {
+ const noResults = document.createElement('li');
+ noResults.textContent = "No results";
+ noResults.classList.add('no-results');
+ autocompleteOptionsList.appendChild(noResults);
+ } else {
+ filteredCountries.forEach(([countryCode, data]) => {
+ const option = document.createElement('li'); // Create each option
+ option.classList.add('autocomplete-option');
+ option.textContent = data[0]; // Display the country name here
+
+ option.addEventListener('click', () => {
+ el.value = data[0]; // Set input value to the selected country name
+ autocompleteOptionsList.classList.add('hidden'); // Hide dropdown after selection
+ zoomToCountry(countryCode); // Use the country code to pan the map
+ });
+
+ autocompleteOptionsList.appendChild(option);
+ });
+ }
+ }
+
+ el.addEventListener('input', _debounce(showAutocompleteOptions, 300));
+}
+
+// Function to pan and zoom to a selected country
+async function zoomToCountry(countryCode) {
+ // Get the bounding box of the country
+ const boundingBox = boundingBoxes[countryCode]?.[1];
+
+ if (!boundingBox) {
+ console.error(`Bounding box not found for country: ${countryCode}`);
+ return;
+ }
+
+ const sw = [boundingBox[0], boundingBox[1]]; // [minLng, minLat] for southwest
+ const ne = [boundingBox[2], boundingBox[3]]; // [maxLng, maxLat] for northeast
+
+ // Use fitBounds to zoom and pan to the country
+ map.fitBounds([sw, ne], {
+ padding: 20, // Add padding to the bounds
+ maxZoom: 10, // Optional: set a maximum zoom level
+ });
+}
+
+window.onload = loadBoundingBoxes;
+
+let currentPopup = null; // Track the current pop-up
+let tempMarker = null; // Track the temporary marker
+let currentInputs = { // Track the current inputs
+ description: '',
+ photo: null,
+ video: null,
+ audio: null,
+ };
+
+ map.on('dblclick', (e) => {
+ e.originalEvent.stopPropagation();
+ console.log('Double-click detected:', e);
+ const { lat, lng } = e.lngLat;
+
+ if (currentPopup && currentPopup.getElement()) {
+ // Ensure the popup exists and check if form elements are still available
+ const formElement = currentPopup.getElement().querySelector('form');
+ if (formElement) {
+ const description = document.querySelector('[name="description"]').value.trim();
+ const photo = document.getElementById('photoInput').files[0];
+ const video = document.getElementById('videoInput').files[0];
+ const audio = document.getElementById('audioInput').files[0];
+
+ // If there are unsaved inputs, prompt the user
+ if (description || photo || video || audio) {
+ const userConfirmed = confirm('You have unsaved data. Do you want to abandon it and create a new entry?');
+ if (!userConfirmed) {
+ return; // Stop further actions if the user cancels
+ }
+ }
+ }
+
+ // Close the current popup and clear temporary marker
+ currentPopup.remove();
+ currentPopup = null;
+ if (tempMarker) {
+ tempMarker.remove();
+ tempMarker = null;
+ }
+ }
+
+ if (tempMarker) {
+ tempMarker.remove();
+ tempMarker = null;
+ }
+
+ // Set the default date and time values
+ const now = new Date();
+ const currentDate = `${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')}-${now.getFullYear()}`; // MM-DD-YYYY format
+ const currentTime = now.toTimeString().split(':').slice(0, 2).join(':'); // HH:MM format
+
+ // Create a custom marker element
+ const markerElement = document.createElement('img');
+ markerElement.src = './data/whale.png'; // Path to your whale PNG
+ markerElement.alt = 'Whale Marker';
+ markerElement.style.width = '30px'; // Adjust the size as needed
+ markerElement.style.height = '30px';
+ markerElement.style.cursor = 'pointer'; // Optional: pointer cursor
+
+ // Create and add the temporary marker using the custom element
+ tempMarker = new mapboxgl.Marker({
+ element: markerElement, // Use the custom marker element
+ draggable: false, // Set to true if you want it draggable
+ })
+ .setLngLat([lng, lat]) // Set the position to the clicked location
+ .addTo(map);
+
+ const popupContent = `
+
+ `;
+
+ const popup = new mapboxgl.Popup({
+ closeButton: true,
+ closeOnClick: false,
+ maxWidth: '420px',
+ })
+ .setLngLat([lng, lat])
+ .setHTML(popupContent)
+ .addTo(map);
+
+ currentPopup = popup;
+
+ popup.on('close', () => {
+ if (tempMarker) {
+ tempMarker.remove();
+ tempMarker = null;
+ }
+ });
+
+ popup.getElement().querySelector('#submitBtn').addEventListener('click', async () => {
+ const selectedDate = document.getElementById('dateInput').value;
+ const selectedTime = document.getElementById('timeInput').value;
+ const species = document.getElementById('whaleSpecies').value;
+ const description = document.querySelector('[name="description"]').value;
+
+ const photoFile = document.getElementById('photoInput').files[0];
+ const videoFile = document.getElementById('videoInput').files[0];
+ const audioFile = document.getElementById('audioInput').files[0];
+
+ if (!selectedDate || !selectedTime || !species) {
+ alert('Date, time, and whale species are required.');
+ return;
+ }
+
+
+ try {
+ await submitSighting(lat, lng, species, description, selectedDate, selectedTime, {
+ photo: photoFile,
+ video: videoFile,
+ audio: audioFile,
+ });
+
+ const permanentMarker = new mapboxgl.Marker({
+ element: markerElement,
+ })
+ .setLngLat([lng, lat])
+ .addTo(map);
+
+ popup.remove();
+ currentPopup = null;
+
+ if (tempMarker) {
+ tempMarker.remove();
+ tempMarker = null;
+ }
+
+ alert('Sighting submitted successfully!');
+ } catch (error) {
+ console.error('Failed to submit sighting:', error);
+ alert('Failed to save the sighting. Please try again.');
+ }
+ });
+ });
+
+export { initCountrySearch };
+export { fetchAndDisplayMarkers };
diff --git a/js/main.js b/js/main.js
new file mode 100644
index 0000000..03269a7
--- /dev/null
+++ b/js/main.js
@@ -0,0 +1,45 @@
+// Reference section
+// document.addEventListener('DOMContentLoaded', function() {
+// // Create a new section for references
+// const referencesSection = document.createElement('section');
+// referencesSection.classList.add('references'); // Add a class for styling
+// referencesSection.innerHTML = `
+// References
+//
+// `;
+
+// // Append the references section to the page
+// const referenceContainer = document.getElementById('references-section');
+// referenceContainer.appendChild(referencesSection);
+// });
+
+// script.js
+document.addEventListener('DOMContentLoaded', function () {
+ const logo = document.getElementById('logo');
+
+ // When the logo is clicked, navigate to the home page (you can change this URL)
+ logo.addEventListener('click', function() {
+ window.location.href = 'index.html'; // Replace with your homepage URL
+ });
+
+ // Handle tab clicks
+ const tabs = document.querySelectorAll('.tabs a');
+ tabs.forEach(tab => {
+ tab.addEventListener('click', function (e) {
+ e.preventDefault(); // Prevent the default link behavior
+
+ // Highlight the active tab
+ tabs.forEach(link => link.classList.remove('active'));
+ tab.classList.add('active');
+
+ // You can add specific content changes based on which tab is clicked
+ const tabId = tab.getAttribute('href').substring(1);
+ alert(`You clicked on ${tabId}`);
+ });
+ });
+});
+
diff --git a/js/whaleTypeSelect.js b/js/whaleTypeSelect.js
new file mode 100644
index 0000000..3fd7b90
--- /dev/null
+++ b/js/whaleTypeSelect.js
@@ -0,0 +1,76 @@
+import _debounce from 'https://esm.run/lodash/debounce';
+
+// Define a global variable to store the selected whale species
+let selectedSpecies = 'All';
+
+document.addEventListener('DOMContentLoaded', function() {
+ const whaleInput = document.querySelector('#whale-type');
+ if (whaleInput) {
+ initWhaleSearch(whaleInput);
+ } else {
+ console.error('Element with id "whale-type" not found!');
+ }
+});
+
+// Whale dataset for autocomplete search
+const whaleDataset = [
+ "Blue Whale", "Humpback Whale", "Orca Whale", "Beluga Whale", "Narwhal Whale", "Fin Whale",
+ "Whale Shark", "Short-Finned Pilot Whale", "Bowhead Whale", "False Killer Whale", "Sperm Whale",
+ "Unknown"
+];
+
+function initWhaleSearch(el) {
+ const autocompleteOptionsList = document.createElement('ol');
+ autocompleteOptionsList.classList.add('autocomplete-options');
+ el.after(autocompleteOptionsList); // Add the dropdown after the input field
+
+ function showAutocompleteOptions() {
+ const query = el.value.trim();
+
+ // Hide the dropdown if the input is empty
+ if (query === "") {
+ autocompleteOptionsList.classList.add('hidden');
+ return;
+ }
+
+ const filteredWhales = whaleDataset.filter(whale => whale.toLowerCase().startsWith(query));
+
+ autocompleteOptionsList.classList.remove('hidden');
+ autocompleteOptionsList.innerHTML = ''; // Clear previous results
+
+ if (filteredWhales.length === 0) {
+ const noResults = document.createElement('li');
+ noResults.textContent = "No results";
+ noResults.classList.add('no-results');
+ autocompleteOptionsList.appendChild(noResults);
+ } else {
+ filteredWhales.forEach(whale => {
+ const option = document.createElement('li'); // Create each option
+ option.classList.add('autocomplete-option');
+ option.textContent = whale;
+ option.addEventListener('click', () => {
+ el.value = whale; // Set input value to the selected whale
+ autocompleteOptionsList.classList.add('hidden'); // Hide dropdown after selection
+
+ // Update the global selectedSpecies value
+ selectedSpecies = whale;
+ fetchAndDisplayMarkers(); // Call the function to update the map markers
+ });
+ autocompleteOptionsList.appendChild(option);
+ });
+ }
+ }
+
+ el.addEventListener('input', _debounce(showAutocompleteOptions, 300));
+}
+
+function filterWhaleSpecies(sightings, selectedSpecies) {
+ if (selectedSpecies === 'All' || !selectedSpecies) {
+ return sightings; // Return all sightings if "All" is selected or no species is selected
+ }
+
+ return sightings.filter(sighting => sighting.species === selectedSpecies);
+}
+
+export { initWhaleSearch };
+export { filterWhaleSpecies };
diff --git a/package-lock.json b/package-lock.json
index 9f99c26..b52697a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,4307 +1,1057 @@
{
- "name": "dashboard-project",
- "version": "1.0.0",
- "lockfileVersion": 2,
+ "name": "Engagement",
+ "lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "dashboard-project",
- "version": "1.0.0",
- "license": "ISC",
- "devDependencies": {
- "eslint": "^8.48.0",
- "eslint-config-google": "^0.14.0",
- "stylelint": "^15.10.3",
- "stylelint-config-standard": "^34.0.0"
+ "dependencies": {
+ "firebase": "^11.0.2",
+ "papaparse": "^5.4.1"
}
},
- "node_modules/@babel/code-frame": {
- "version": "7.26.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.0.tgz",
- "integrity": "sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==",
- "dev": true,
+ "node_modules/@firebase/analytics": {
+ "version": "0.10.10",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.10.tgz",
+ "integrity": "sha512-Psdo7c9g2SLAYh6u1XRA+RZ7ab2JfBVuAt/kLzXkhKZL/gS2cQUCMsOW5p0RIlDPRKqpdNSmvujd2TeRWLKOkQ==",
+ "license": "Apache-2.0",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.25.9",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
+ "@firebase/component": "0.6.11",
+ "@firebase/installations": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
- "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
+ "peerDependencies": {
+ "@firebase/app": "0.x"
}
},
- "node_modules/@csstools/css-parser-algorithms": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz",
- "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "engines": {
- "node": "^14 || ^16 || >=18"
+ "node_modules/@firebase/analytics-compat": {
+ "version": "0.2.16",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.16.tgz",
+ "integrity": "sha512-Q/s+u/TEMSb2EDJFQMGsOzpSosybBl8HuoSEMyGZ99+0Pu7SIR9MPDGUjc8PKiCFQWDJ3QXxgqh1d/rujyAMbA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@firebase/analytics": "0.10.10",
+ "@firebase/analytics-types": "0.8.3",
+ "@firebase/component": "0.6.11",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
"peerDependencies": {
- "@csstools/css-tokenizer": "^2.4.1"
+ "@firebase/app-compat": "0.x"
}
},
- "node_modules/@csstools/css-tokenizer": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz",
- "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "engines": {
- "node": "^14 || ^16 || >=18"
- }
+ "node_modules/@firebase/analytics-types": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.3.tgz",
+ "integrity": "sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==",
+ "license": "Apache-2.0"
},
- "node_modules/@csstools/media-query-list-parser": {
- "version": "2.1.13",
- "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz",
- "integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "engines": {
- "node": "^14 || ^16 || >=18"
+ "node_modules/@firebase/app": {
+ "version": "0.10.16",
+ "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.16.tgz",
+ "integrity": "sha512-SUati2qH48gvVGnSsqMkZr1Iq7No52a3tJQ4itboSTM89Erezmw3v1RsfVymrDze9+KiOLmBpvLNKSvheITFjg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@firebase/component": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "idb": "7.1.1",
+ "tslib": "^2.1.0"
},
- "peerDependencies": {
- "@csstools/css-parser-algorithms": "^2.7.1",
- "@csstools/css-tokenizer": "^2.4.1"
+ "engines": {
+ "node": ">=18.0.0"
}
},
- "node_modules/@csstools/selector-specificity": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz",
- "integrity": "sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
+ "node_modules/@firebase/app-check": {
+ "version": "0.8.10",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.10.tgz",
+ "integrity": "sha512-DWFfxxif/t+Ow4MmRUevDX+A3hVxm1rUf6y5ZP4sIomfnVCO1NNahqtsv9rb1/tKGkTeoVT40weiTS/WjQG1mA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@firebase/component": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
+ },
"engines": {
- "node": "^14 || ^16 || >=18"
+ "node": ">=18.0.0"
},
"peerDependencies": {
- "postcss-selector-parser": "^6.0.13"
+ "@firebase/app": "0.x"
}
},
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
- "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
- "dev": true,
+ "node_modules/@firebase/app-check-compat": {
+ "version": "0.3.17",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.17.tgz",
+ "integrity": "sha512-a/eadrGsY0MVCBPhrNbKUhoYpms4UKTYLKO7nswwSFVsm3Rw6NslQQCNLfvljcDqP4E7alQDRGJXjkxd/5gJ+Q==",
+ "license": "Apache-2.0",
"dependencies": {
- "eslint-visitor-keys": "^3.4.3"
+ "@firebase/app-check": "0.8.10",
+ "@firebase/app-check-types": "0.5.3",
+ "@firebase/component": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": ">=18.0.0"
},
"peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ "@firebase/app-compat": "0.x"
}
},
- "node_modules/@eslint-community/regexpp": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.0.tgz",
- "integrity": "sha512-gh7PdNombP8ftL8TinYC8Xd7WEypB8EKV4PI2h0eMzndKjPCXuo2zUiZtD2Hu+MSPt02Ty2MdS788ADl9ai1rA==",
- "dev": true,
- "engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
- }
+ "node_modules/@firebase/app-check-interop-types": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz",
+ "integrity": "sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@firebase/app-check-types": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.3.tgz",
+ "integrity": "sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==",
+ "license": "Apache-2.0"
},
- "node_modules/@eslint/eslintrc": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
- "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
- "dev": true,
+ "node_modules/@firebase/app-compat": {
+ "version": "0.2.46",
+ "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.46.tgz",
+ "integrity": "sha512-9hSHWE5LMqtKIm13CnH5OZeMPbkVV3y5vgNZ5EMFHcG2ceRrncyNjG9No5XfWQw8JponZdGs4HlE4aMD/jxcFA==",
+ "license": "Apache-2.0",
"dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
+ "@firebase/app": "0.10.16",
+ "@firebase/component": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": ">=18.0.0"
}
},
- "node_modules/@eslint/js": {
- "version": "8.57.1",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
- "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
+ "node_modules/@firebase/app-types": {
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz",
+ "integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==",
+ "license": "Apache-2.0"
},
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
- "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
- "deprecated": "Use @eslint/config-array instead",
- "dev": true,
+ "node_modules/@firebase/auth": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.8.1.tgz",
+ "integrity": "sha512-LX9N/Cf5Z35r5yqm2+5M3+2bRRe/+RFaa/+u4HDni7TA27C/Xm4XHLKcWcLg1BzjrS4zngSaBEOSODvp6RFOqQ==",
+ "license": "Apache-2.0",
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.3",
- "debug": "^4.3.1",
- "minimatch": "^3.0.5"
+ "@firebase/component": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
"engines": {
- "node": ">=10.10.0"
- }
- },
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true,
- "engines": {
- "node": ">=12.22"
+ "node": ">=18.0.0"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
+ "peerDependencies": {
+ "@firebase/app": "0.x",
+ "@react-native-async-storage/async-storage": "^1.18.1"
+ },
+ "peerDependenciesMeta": {
+ "@react-native-async-storage/async-storage": {
+ "optional": true
+ }
}
},
- "node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
- "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
- "deprecated": "Use @eslint/object-schema instead",
- "dev": true
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
+ "node_modules/@firebase/auth-compat": {
+ "version": "0.5.16",
+ "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.16.tgz",
+ "integrity": "sha512-YlYwJMBqAyv0ESy3jDUyshMhZlbUiwAm6B6+uUmigNDHU+uq7j4SFiDJEZlFFIz397yBzKn06SUdqutdQzGnCA==",
+ "license": "Apache-2.0",
"dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
+ "@firebase/auth": "1.8.1",
+ "@firebase/auth-types": "0.12.3",
+ "@firebase/component": "0.6.11",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
"engines": {
- "node": ">= 8"
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
}
},
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "engines": {
- "node": ">= 8"
+ "node_modules/@firebase/auth-interop-types": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz",
+ "integrity": "sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@firebase/auth-types": {
+ "version": "0.12.3",
+ "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.12.3.tgz",
+ "integrity": "sha512-Zq9zI0o5hqXDtKg6yDkSnvMCMuLU6qAVS51PANQx+ZZX5xnzyNLEBO3GZgBUPsV5qIMFhjhqmLDxUqCbnAYy2A==",
+ "license": "Apache-2.0",
+ "peerDependencies": {
+ "@firebase/app-types": "0.x",
+ "@firebase/util": "1.x"
}
},
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
+ "node_modules/@firebase/component": {
+ "version": "0.6.11",
+ "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.11.tgz",
+ "integrity": "sha512-eQbeCgPukLgsKD0Kw5wQgsMDX5LeoI1MIrziNDjmc6XDq5ZQnuUymANQgAb2wp1tSF9zDSXyxJmIUXaKgN58Ug==",
+ "license": "Apache-2.0",
"dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
"engines": {
- "node": ">= 8"
+ "node": ">=18.0.0"
}
},
- "node_modules/@types/minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
- "dev": true
- },
- "node_modules/@types/normalize-package-data": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
- "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
- "dev": true
- },
- "node_modules/@ungap/structured-clone": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
- "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
- "dev": true
- },
- "node_modules/acorn": {
- "version": "8.14.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
- "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
+ "node_modules/@firebase/data-connect": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.1.2.tgz",
+ "integrity": "sha512-Bcf29mntFCt5V7aceMe36wnkHrG7cwbMlUVbDHOlh2foQKx9VtSXEONw9r6FtL1sFobHVYOM5L6umX35f59m5g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@firebase/auth-interop-types": "0.2.4",
+ "@firebase/component": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
"peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ "@firebase/app": "0.x"
}
},
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
+ "node_modules/@firebase/database": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.10.tgz",
+ "integrity": "sha512-sWp2g92u7xT4BojGbTXZ80iaSIaL6GAL0pwvM0CO/hb0nHSnABAqsH7AhnWGsGvXuEvbPr7blZylPaR9J+GSuQ==",
+ "license": "Apache-2.0",
"dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
+ "@firebase/app-check-interop-types": "0.3.3",
+ "@firebase/auth-interop-types": "0.2.4",
+ "@firebase/component": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "faye-websocket": "0.11.4",
+ "tslib": "^2.1.0"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=18.0.0"
}
},
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
+ "node_modules/@firebase/database-compat": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.0.1.tgz",
+ "integrity": "sha512-IsFivOjdE1GrjTeKoBU/ZMenESKDXidFDzZzHBPQ/4P20ptGdrl3oLlWrV/QJqJ9lND4IidE3z4Xr5JyfUW1vg==",
+ "license": "Apache-2.0",
"dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
+ "@firebase/component": "0.6.11",
+ "@firebase/database": "1.0.10",
+ "@firebase/database-types": "1.0.7",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/astral-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
- "dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=18.0.0"
}
},
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
+ "node_modules/@firebase/database-types": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.7.tgz",
+ "integrity": "sha512-I7zcLfJXrM0WM+ksFmFdAMdlq/DFmpeMNa+/GNsLyFo5u/lX5zzkPzGe3srVWqaBQBY5KprylDGxOsP6ETfL0A==",
+ "license": "Apache-2.0",
"dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "@firebase/app-types": "0.9.3",
+ "@firebase/util": "1.10.2"
}
},
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dev": true,
+ "node_modules/@firebase/firestore": {
+ "version": "4.7.5",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.7.5.tgz",
+ "integrity": "sha512-OO3rHvjC07jL2ITN255xH/UzCVSvh6xG8oTzQdFScQvFbcm1fjCL1hgAdpDZcx3vVcKMV+6ktr8wbllkB8r+FQ==",
+ "license": "Apache-2.0",
"dependencies": {
- "fill-range": "^7.1.1"
+ "@firebase/component": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "@firebase/webchannel-wrapper": "1.0.3",
+ "@grpc/grpc-js": "~1.9.0",
+ "@grpc/proto-loader": "^0.7.8",
+ "tslib": "^2.1.0"
},
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true,
- "engines": {
- "node": ">=10"
+ "node": ">=18.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "@firebase/app": "0.x"
}
},
- "node_modules/camelcase-keys": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz",
- "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==",
- "dev": true,
+ "node_modules/@firebase/firestore-compat": {
+ "version": "0.3.40",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.40.tgz",
+ "integrity": "sha512-18HopMN811KYBc9Ptpr1Rewwio0XF09FF3jc5wtV6rGyAs815SlFFw5vW7ZeLd43zv9tlEc2FzM0H+5Vr9ZRxw==",
+ "license": "Apache-2.0",
"dependencies": {
- "camelcase": "^6.3.0",
- "map-obj": "^4.1.0",
- "quick-lru": "^5.1.1",
- "type-fest": "^1.2.1"
+ "@firebase/component": "0.6.11",
+ "@firebase/firestore": "4.7.5",
+ "@firebase/firestore-types": "3.0.3",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=18.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
}
},
- "node_modules/camelcase-keys/node_modules/type-fest": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
- "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node_modules/@firebase/firestore-types": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.3.tgz",
+ "integrity": "sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==",
+ "license": "Apache-2.0",
+ "peerDependencies": {
+ "@firebase/app-types": "0.x",
+ "@firebase/util": "1.x"
}
},
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
+ "node_modules/@firebase/functions": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.11.10.tgz",
+ "integrity": "sha512-TP+Dzebazhw6+GduBdWn1kOJRFH84G2z+BW3pNVfkpFRkc//+uT1Uw2+dLpMGSSBRG7FrcDG91vcPnOFCzr15w==",
+ "license": "Apache-2.0",
"dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
+ "@firebase/app-check-interop-types": "0.3.3",
+ "@firebase/auth-interop-types": "0.2.4",
+ "@firebase/component": "0.6.11",
+ "@firebase/messaging-interop-types": "0.2.3",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=18.0.0"
},
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "peerDependencies": {
+ "@firebase/app": "0.x"
}
},
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
+ "node_modules/@firebase/functions-compat": {
+ "version": "0.3.16",
+ "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.16.tgz",
+ "integrity": "sha512-FL7EXehiiBisNIR7mlb0i+moyWKLVfcEJgh/Wq6ZV6BdrCObpCTz7w5EvuRIEFX5e9cNL2oWInKg8S5X4HtINg==",
+ "license": "Apache-2.0",
"dependencies": {
- "color-name": "~1.1.4"
+ "@firebase/component": "0.6.11",
+ "@firebase/functions": "0.11.10",
+ "@firebase/functions-types": "0.6.3",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
"engines": {
- "node": ">=7.0.0"
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
}
},
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/colord": {
- "version": "2.9.3",
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
- "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
- "dev": true
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "node_modules/@firebase/functions-types": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.3.tgz",
+ "integrity": "sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==",
+ "license": "Apache-2.0"
},
- "node_modules/cosmiconfig": {
- "version": "8.3.6",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
- "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
- "dev": true,
+ "node_modules/@firebase/installations": {
+ "version": "0.6.11",
+ "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.11.tgz",
+ "integrity": "sha512-w8fY8mw6fxJzsZM2ufmTtomopXl1+bn/syYon+Gpn+0p0nO1cIUEVEFrFazTLaaL9q1CaVhc3HmseRTsI3igAA==",
+ "license": "Apache-2.0",
"dependencies": {
- "import-fresh": "^3.3.0",
- "js-yaml": "^4.1.0",
- "parse-json": "^5.2.0",
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/d-fischer"
+ "@firebase/component": "0.6.11",
+ "@firebase/util": "1.10.2",
+ "idb": "7.1.1",
+ "tslib": "^2.1.0"
},
"peerDependencies": {
- "typescript": ">=4.9.5"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "@firebase/app": "0.x"
}
},
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
+ "node_modules/@firebase/installations-compat": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.11.tgz",
+ "integrity": "sha512-SHRgw5LTa6v8LubmJZxcOCwEd1MfWQPUtKdiuCx2VMWnapX54skZd1PkQg0K4l3k+4ujbI2cn7FE6Li9hbChBw==",
+ "license": "Apache-2.0",
"dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
+ "@firebase/component": "0.6.11",
+ "@firebase/installations": "0.6.11",
+ "@firebase/installations-types": "0.5.3",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
- "engines": {
- "node": ">= 8"
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
}
},
- "node_modules/css-functions-list": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz",
- "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==",
- "dev": true,
- "engines": {
- "node": ">=12 || >=16"
+ "node_modules/@firebase/installations-types": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.3.tgz",
+ "integrity": "sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==",
+ "license": "Apache-2.0",
+ "peerDependencies": {
+ "@firebase/app-types": "0.x"
}
},
- "node_modules/css-tree": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
- "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
- "dev": true,
+ "node_modules/@firebase/logger": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.4.tgz",
+ "integrity": "sha512-mH0PEh1zoXGnaR8gD1DeGeNZtWFKbnz9hDO91dIml3iou1gpOnLqXQ2dJfB71dj6dpmUjcQ6phY3ZZJbjErr9g==",
+ "license": "Apache-2.0",
"dependencies": {
- "mdn-data": "2.0.30",
- "source-map-js": "^1.0.1"
+ "tslib": "^2.1.0"
},
"engines": {
- "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ "node": ">=18.0.0"
}
},
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
- "bin": {
- "cssesc": "bin/cssesc"
+ "node_modules/@firebase/messaging": {
+ "version": "0.12.14",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.14.tgz",
+ "integrity": "sha512-cSGP34jJswFvME8tdMDkvJvW6T1jEekyMSyq84AMBZ0KEpJbDWuC9n4wKT2lxUm1jaL651iZnn6g51yCl77ICg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@firebase/component": "0.6.11",
+ "@firebase/installations": "0.6.11",
+ "@firebase/messaging-interop-types": "0.2.3",
+ "@firebase/util": "1.10.2",
+ "idb": "7.1.1",
+ "tslib": "^2.1.0"
},
- "engines": {
- "node": ">=4"
+ "peerDependencies": {
+ "@firebase/app": "0.x"
}
},
- "node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "dev": true,
+ "node_modules/@firebase/messaging-compat": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.14.tgz",
+ "integrity": "sha512-r9weK8jTEA2aGiwy0IbMQPnzuJ0DHkOQaMxGJOlU2QZ1a7fh6RHpNtaoM+LKnn6u1NQgmAOWYNr9vezVQEm9zw==",
+ "license": "Apache-2.0",
"dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
+ "@firebase/component": "0.6.11",
+ "@firebase/messaging": "0.12.14",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
}
},
- "node_modules/decamelize": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz",
- "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "node_modules/@firebase/messaging-interop-types": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3.tgz",
+ "integrity": "sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==",
+ "license": "Apache-2.0"
},
- "node_modules/decamelize-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
- "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
- "dev": true,
+ "node_modules/@firebase/performance": {
+ "version": "0.6.11",
+ "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.11.tgz",
+ "integrity": "sha512-FlkJFeqLlIeh5T4Am3uE38HVzggliDIEFy/fErEc1faINOUFCb6vQBEoNZGaXvRnTR8lh3X/hP7tv37C7BsK9g==",
+ "license": "Apache-2.0",
"dependencies": {
- "decamelize": "^1.1.0",
- "map-obj": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "@firebase/component": "0.6.11",
+ "@firebase/installations": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/decamelize-keys/node_modules/decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "peerDependencies": {
+ "@firebase/app": "0.x"
}
},
- "node_modules/decamelize-keys/node_modules/map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "node_modules/@firebase/performance-compat": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.11.tgz",
+ "integrity": "sha512-DqeNBy51W2xzlklyC7Ht9JQ94HhTA08PCcM4MDeyG/ol3fqum/+YgtHWQ2IQuduqH9afETthZqLwCZiSgY7hiA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@firebase/component": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/performance": "0.6.11",
+ "@firebase/performance-types": "0.2.3",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
}
},
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
+ "node_modules/@firebase/performance-types": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.3.tgz",
+ "integrity": "sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==",
+ "license": "Apache-2.0"
},
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
+ "node_modules/@firebase/remote-config": {
+ "version": "0.4.11",
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.11.tgz",
+ "integrity": "sha512-9z0rgKuws2nj+7cdiqF+NY1QR4na6KnuOvP+jQvgilDOhGtKOcCMq5XHiu66i73A9kFhyU6QQ2pHXxcmaq1pBw==",
+ "license": "Apache-2.0",
"dependencies": {
- "path-type": "^4.0.0"
+ "@firebase/component": "0.6.11",
+ "@firebase/installations": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
- "engines": {
- "node": ">=8"
+ "peerDependencies": {
+ "@firebase/app": "0.x"
}
},
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
+ "node_modules/@firebase/remote-config-compat": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.11.tgz",
+ "integrity": "sha512-zfIjpwPrGuIOZDmduukN086qjhZ1LnbJi/iYzgua+2qeTlO0XdlE1v66gJPwygGB3TOhT0yb9EiUZ3nBNttMqg==",
+ "license": "Apache-2.0",
"dependencies": {
- "esutils": "^2.0.2"
+ "@firebase/component": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/remote-config": "0.4.11",
+ "@firebase/remote-config-types": "0.3.3",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
- "engines": {
- "node": ">=6.0.0"
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
}
},
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
+ "node_modules/@firebase/remote-config-types": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.3.3.tgz",
+ "integrity": "sha512-YlRI9CHxrk3lpQuFup9N1eohpwdWayKZUNZ/YeQ0PZoncJ66P32UsKUKqVXOaieTjJIOh7yH8JEzRdht5s+d6g==",
+ "license": "Apache-2.0"
},
- "node_modules/error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
+ "node_modules/@firebase/storage": {
+ "version": "0.13.4",
+ "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.13.4.tgz",
+ "integrity": "sha512-b1KaTTRiMupFurIhpGIbReaWev0k5O3ouTHkAPcEssT+FvU3q/1JwzvkX4+ZdB60Fc43Mbp8qQ1gWfT0Z2FP9Q==",
+ "license": "Apache-2.0",
"dependencies": {
- "is-arrayish": "^0.2.1"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
+ "@firebase/component": "0.6.11",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
+ },
"engines": {
- "node": ">=10"
+ "node": ">=18.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "@firebase/app": "0.x"
}
},
- "node_modules/eslint": {
- "version": "8.57.1",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
- "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
- "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
- "dev": true,
+ "node_modules/@firebase/storage-compat": {
+ "version": "0.3.14",
+ "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.14.tgz",
+ "integrity": "sha512-Ok5FmXJiapaNAOQ8W8qppnfwgP8540jw2B8M0c4TFZqF4BD+CoKBxW0dRtOuLNGadLhzqqkDZZZtkexxrveQqA==",
+ "license": "Apache-2.0",
"dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.1",
- "@humanwhocodes/config-array": "^0.13.0",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
- "ajv": "^6.12.4",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.2",
- "eslint-visitor-keys": "^3.4.3",
- "espree": "^9.6.1",
- "esquery": "^1.4.2",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.19.0",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
- },
- "bin": {
- "eslint": "bin/eslint.js"
+ "@firebase/component": "0.6.11",
+ "@firebase/storage": "0.13.4",
+ "@firebase/storage-types": "0.8.3",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": ">=18.0.0"
},
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
}
},
- "node_modules/eslint-config-google": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz",
- "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- },
+ "node_modules/@firebase/storage-types": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.3.tgz",
+ "integrity": "sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==",
+ "license": "Apache-2.0",
"peerDependencies": {
- "eslint": ">=5.16.0"
+ "@firebase/app-types": "0.x",
+ "@firebase/util": "1.x"
}
},
- "node_modules/eslint-scope": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
- "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
- "dev": true,
+ "node_modules/@firebase/util": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.10.2.tgz",
+ "integrity": "sha512-qnSHIoE9FK+HYnNhTI8q14evyqbc/vHRivfB4TgCIUOl4tosmKSQlp7ltymOlMP4xVIJTg5wrkfcZ60X4nUf7Q==",
+ "license": "Apache-2.0",
"dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "tslib": "^2.1.0"
},
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true,
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": ">=18.0.0"
}
},
- "node_modules/espree": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
- "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
- "dev": true,
+ "node_modules/@firebase/vertexai": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@firebase/vertexai/-/vertexai-1.0.1.tgz",
+ "integrity": "sha512-f48MGSofhaS05ebpN7zMIv4tBqYf19pXr5/4njKtNZVLbjxUswDma0SuFDoO+IwgbdkhFxgtNctM+C1zfI/O1Q==",
+ "license": "Apache-2.0",
"dependencies": {
- "acorn": "^8.9.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
+ "@firebase/app-check-interop-types": "0.3.3",
+ "@firebase/component": "0.6.11",
+ "@firebase/logger": "0.4.4",
+ "@firebase/util": "1.10.2",
+ "tslib": "^2.1.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": ">=18.0.0"
},
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "peerDependencies": {
+ "@firebase/app": "0.x",
+ "@firebase/app-types": "0.x"
}
},
- "node_modules/esquery": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
- "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
- "dev": true,
+ "node_modules/@firebase/webchannel-wrapper": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.3.tgz",
+ "integrity": "sha512-2xCRM9q9FlzGZCdgDMJwc0gyUkWFtkosy7Xxr6sFgQwn+wMNIWd7xIvYNauU1r64B5L5rsGKy/n9TKJ0aAFeqQ==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@grpc/grpc-js": {
+ "version": "1.9.15",
+ "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz",
+ "integrity": "sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==",
+ "license": "Apache-2.0",
"dependencies": {
- "estraverse": "^5.1.0"
+ "@grpc/proto-loader": "^0.7.8",
+ "@types/node": ">=12.12.47"
},
"engines": {
- "node": ">=0.10"
+ "node": "^8.13.0 || >=10.10.0"
}
},
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
+ "node_modules/@grpc/proto-loader": {
+ "version": "0.7.13",
+ "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz",
+ "integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==",
+ "license": "Apache-2.0",
"dependencies": {
- "estraverse": "^5.2.0"
+ "lodash.camelcase": "^4.3.0",
+ "long": "^5.0.0",
+ "protobufjs": "^7.2.5",
+ "yargs": "^17.7.2"
+ },
+ "bin": {
+ "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
},
"engines": {
- "node": ">=4.0"
+ "node": ">=6"
}
},
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
+ "node_modules/@protobufjs/aspromise": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
+ "license": "BSD-3-Clause"
},
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
+ "node_modules/@protobufjs/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
+ "license": "BSD-3-Clause"
},
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
+ "node_modules/@protobufjs/codegen": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
+ "license": "BSD-3-Clause"
},
- "node_modules/fast-glob": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
- "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
+ "node_modules/@protobufjs/eventemitter": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
+ "license": "BSD-3-Clause"
},
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
+ "node_modules/@protobufjs/fetch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
+ "license": "BSD-3-Clause",
"dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
+ "@protobufjs/aspromise": "^1.1.1",
+ "@protobufjs/inquire": "^1.1.0"
}
},
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "node_modules/@protobufjs/float": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
+ "license": "BSD-3-Clause"
},
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
+ "node_modules/@protobufjs/inquire": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
+ "license": "BSD-3-Clause"
},
- "node_modules/fast-uri": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz",
- "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==",
- "dev": true
+ "node_modules/@protobufjs/path": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
+ "license": "BSD-3-Clause"
},
- "node_modules/fastest-levenshtein": {
- "version": "1.0.16",
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
- "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
- "dev": true,
- "engines": {
- "node": ">= 4.9.1"
- }
+ "node_modules/@protobufjs/pool": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
+ "license": "BSD-3-Clause"
},
- "node_modules/fastq": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
- "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
- }
+ "node_modules/@protobufjs/utf8": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
+ "license": "BSD-3-Clause"
},
- "node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
+ "node_modules/@types/node": {
+ "version": "22.9.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.3.tgz",
+ "integrity": "sha512-F3u1fs/fce3FFk+DAxbxc78DF8x0cY09RRL8GnXLmkJ1jvx3TtPdWoTT5/NiYfI5ASqXBmfqJi9dZ3gxMx4lzw==",
+ "license": "MIT",
"dependencies": {
- "flat-cache": "^3.0.4"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "undici-types": "~6.19.8"
}
},
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
- "node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/flat-cache": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
- "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
- "dev": true,
- "dependencies": {
- "flatted": "^3.2.9",
- "keyv": "^4.5.3",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/flatted": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
- "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
- "dev": true
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
- },
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "dev": true,
- "dependencies": {
- "global-prefix": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "dev": true,
- "dependencies": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/global-prefix/node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
- "node_modules/globals": {
- "version": "13.24.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
- "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
- "dev": true,
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "license": "MIT",
"dependencies": {
- "type-fest": "^0.20.2"
+ "color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globjoin": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
- "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==",
- "dev": true
- },
- "node_modules/graphemer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
- "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true
- },
- "node_modules/hard-rejection": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
- "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "dev": true,
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "license": "ISC",
"dependencies": {
- "function-bind": "^1.1.2"
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=12"
}
},
- "node_modules/hosted-git-info": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
- "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
- "dev": true,
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "license": "MIT",
"dependencies": {
- "lru-cache": "^6.0.0"
+ "color-name": "~1.1.4"
},
"engines": {
- "node": ">=10"
+ "node": ">=7.0.0"
}
},
- "node_modules/html-tags": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz",
- "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "license": "MIT"
},
- "node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "license": "MIT"
},
- "node_modules/import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "license": "MIT",
"engines": {
"node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/import-lazy": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
- "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
- "engines": {
- "node": ">=0.8.19"
}
},
- "node_modules/indent-string": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
- "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
- "dev": true,
+ "node_modules/faye-websocket": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
+ "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "websocket-driver": ">=0.5.1"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/firebase": {
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/firebase/-/firebase-11.0.2.tgz",
+ "integrity": "sha512-w4T8BSJpzdZA25QRch5ahLsgB6uRvg1LEic4BaC5rTD1YygroI1AXp+W+rbMnr8d8EjfAv6t4k8doULIjc1P8Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@firebase/analytics": "0.10.10",
+ "@firebase/analytics-compat": "0.2.16",
+ "@firebase/app": "0.10.16",
+ "@firebase/app-check": "0.8.10",
+ "@firebase/app-check-compat": "0.3.17",
+ "@firebase/app-compat": "0.2.46",
+ "@firebase/app-types": "0.9.3",
+ "@firebase/auth": "1.8.1",
+ "@firebase/auth-compat": "0.5.16",
+ "@firebase/data-connect": "0.1.2",
+ "@firebase/database": "1.0.10",
+ "@firebase/database-compat": "2.0.1",
+ "@firebase/firestore": "4.7.5",
+ "@firebase/firestore-compat": "0.3.40",
+ "@firebase/functions": "0.11.10",
+ "@firebase/functions-compat": "0.3.16",
+ "@firebase/installations": "0.6.11",
+ "@firebase/installations-compat": "0.2.11",
+ "@firebase/messaging": "0.12.14",
+ "@firebase/messaging-compat": "0.2.14",
+ "@firebase/performance": "0.6.11",
+ "@firebase/performance-compat": "0.2.11",
+ "@firebase/remote-config": "0.4.11",
+ "@firebase/remote-config-compat": "0.2.11",
+ "@firebase/storage": "0.13.4",
+ "@firebase/storage-compat": "0.3.14",
+ "@firebase/util": "1.10.2",
+ "@firebase/vertexai": "1.0.1"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "license": "ISC",
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
+ "node": "6.* || 8.* || >= 10.*"
}
},
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "node_modules/ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- },
- "node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "dev": true
- },
- "node_modules/is-core-module": {
- "version": "2.15.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz",
- "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
- "dev": true,
- "dependencies": {
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "node_modules/http-parser-js": {
+ "version": "0.5.8",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz",
+ "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==",
+ "license": "MIT"
},
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
+ "node_modules/idb": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz",
+ "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==",
+ "license": "ISC"
},
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
+ "node_modules/lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
+ "license": "MIT"
+ },
+ "node_modules/long": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
+ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/papaparse": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.4.1.tgz",
+ "integrity": "sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==",
+ "license": "MIT"
+ },
+ "node_modules/protobufjs": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz",
+ "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==",
+ "hasInstallScript": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/node": ">=13.7.0",
+ "long": "^5.0.0"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-plain-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-plain-object": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true
- },
- "node_modules/json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "dev": true
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true
- },
- "node_modules/keyv": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
- "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
- "dev": true,
- "dependencies": {
- "json-buffer": "3.0.1"
+ "node": ">=12.0.0"
}
},
- "node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true,
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/known-css-properties": {
- "version": "0.29.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz",
- "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==",
- "dev": true
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
},
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "license": "MIT",
"dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
},
"engines": {
- "node": ">= 0.8.0"
+ "node": ">=8"
}
},
- "node_modules/lines-and-columns": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true
- },
- "node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "license": "MIT",
"dependencies": {
- "p-locate": "^5.0.0"
+ "ansi-regex": "^5.0.1"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=8"
}
},
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
- "node_modules/lodash.truncate": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
- "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
- "dev": true
+ "node_modules/undici-types": {
+ "version": "6.19.8",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
+ "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
+ "license": "MIT"
},
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
+ "node_modules/websocket-driver": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
+ "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
+ "license": "Apache-2.0",
"dependencies": {
- "yallist": "^4.0.0"
+ "http-parser-js": ">=0.5.1",
+ "safe-buffer": ">=5.1.0",
+ "websocket-extensions": ">=0.1.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=0.8.0"
}
},
- "node_modules/map-obj": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
- "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
- "dev": true,
+ "node_modules/websocket-extensions": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
+ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
+ "license": "Apache-2.0",
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=0.8.0"
}
},
- "node_modules/mathml-tag-names": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
- "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
- "dev": true,
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/mdn-data": {
- "version": "2.0.30",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
- "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
- "dev": true
- },
- "node_modules/meow": {
- "version": "10.1.5",
- "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz",
- "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==",
- "dev": true,
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "license": "MIT",
"dependencies": {
- "@types/minimist": "^1.2.2",
- "camelcase-keys": "^7.0.0",
- "decamelize": "^5.0.0",
- "decamelize-keys": "^1.1.0",
- "hard-rejection": "^2.1.0",
- "minimist-options": "4.1.0",
- "normalize-package-data": "^3.0.2",
- "read-pkg-up": "^8.0.0",
- "redent": "^4.0.0",
- "trim-newlines": "^4.0.2",
- "type-fest": "^1.2.2",
- "yargs-parser": "^20.2.9"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/meow/node_modules/type-fest": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
- "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
- "dev": true,
"engines": {
"node": ">=10"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "license": "ISC",
"engines": {
- "node": ">= 8"
+ "node": ">=10"
}
},
- "node_modules/micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "dev": true,
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "license": "MIT",
"dependencies": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
},
"engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/min-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
- "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
- "dev": true,
- "engines": {
- "node": ">=4"
+ "node": ">=12"
}
},
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "license": "ISC",
"engines": {
- "node": "*"
+ "node": ">=12"
}
- },
- "node_modules/minimist-options": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
- "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
- "dev": true,
- "dependencies": {
- "arrify": "^1.0.1",
- "is-plain-obj": "^1.1.0",
- "kind-of": "^6.0.3"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
- },
- "node_modules/nanoid": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
- "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
- },
- "node_modules/normalize-package-data": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
- "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
- "dev": true,
- "dependencies": {
- "hosted-git-info": "^4.0.1",
- "is-core-module": "^2.5.0",
- "semver": "^7.3.4",
- "validate-npm-package-license": "^3.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/optionator": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
- "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
- "dev": true,
- "dependencies": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.5"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/picocolors": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.47",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
- "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "nanoid": "^3.3.7",
- "picocolors": "^1.1.0",
- "source-map-js": "^1.2.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-resolve-nested-selector": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz",
- "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==",
- "dev": true
- },
- "node_modules/postcss-safe-parser": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz",
- "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==",
- "dev": true,
- "engines": {
- "node": ">=12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.3.3"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
- "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
- "dev": true,
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
- },
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/punycode": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/read-pkg": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz",
- "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==",
- "dev": true,
- "dependencies": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^3.0.2",
- "parse-json": "^5.2.0",
- "type-fest": "^1.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/read-pkg-up": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz",
- "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==",
- "dev": true,
- "dependencies": {
- "find-up": "^5.0.0",
- "read-pkg": "^6.0.0",
- "type-fest": "^1.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/read-pkg-up/node_modules/type-fest": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
- "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/read-pkg/node_modules/type-fest": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
- "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/redent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz",
- "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==",
- "dev": true,
- "dependencies": {
- "indent-string": "^5.0.0",
- "strip-indent": "^4.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/signal-exit": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
- "dev": true,
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/slice-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/spdx-correct": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
- "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
- "dev": true,
- "dependencies": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/spdx-exceptions": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
- "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
- "dev": true
- },
- "node_modules/spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "dev": true,
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/spdx-license-ids": {
- "version": "3.0.20",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz",
- "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==",
- "dev": true
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz",
- "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==",
- "dev": true,
- "dependencies": {
- "min-indent": "^1.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/style-search": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
- "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==",
- "dev": true
- },
- "node_modules/stylelint": {
- "version": "15.11.0",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz",
- "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==",
- "dev": true,
- "dependencies": {
- "@csstools/css-parser-algorithms": "^2.3.1",
- "@csstools/css-tokenizer": "^2.2.0",
- "@csstools/media-query-list-parser": "^2.1.4",
- "@csstools/selector-specificity": "^3.0.0",
- "balanced-match": "^2.0.0",
- "colord": "^2.9.3",
- "cosmiconfig": "^8.2.0",
- "css-functions-list": "^3.2.1",
- "css-tree": "^2.3.1",
- "debug": "^4.3.4",
- "fast-glob": "^3.3.1",
- "fastest-levenshtein": "^1.0.16",
- "file-entry-cache": "^7.0.0",
- "global-modules": "^2.0.0",
- "globby": "^11.1.0",
- "globjoin": "^0.1.4",
- "html-tags": "^3.3.1",
- "ignore": "^5.2.4",
- "import-lazy": "^4.0.0",
- "imurmurhash": "^0.1.4",
- "is-plain-object": "^5.0.0",
- "known-css-properties": "^0.29.0",
- "mathml-tag-names": "^2.1.3",
- "meow": "^10.1.5",
- "micromatch": "^4.0.5",
- "normalize-path": "^3.0.0",
- "picocolors": "^1.0.0",
- "postcss": "^8.4.28",
- "postcss-resolve-nested-selector": "^0.1.1",
- "postcss-safe-parser": "^6.0.0",
- "postcss-selector-parser": "^6.0.13",
- "postcss-value-parser": "^4.2.0",
- "resolve-from": "^5.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "style-search": "^0.1.0",
- "supports-hyperlinks": "^3.0.0",
- "svg-tags": "^1.0.0",
- "table": "^6.8.1",
- "write-file-atomic": "^5.0.1"
- },
- "bin": {
- "stylelint": "bin/stylelint.mjs"
- },
- "engines": {
- "node": "^14.13.1 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/stylelint"
- }
- },
- "node_modules/stylelint-config-recommended": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz",
- "integrity": "sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==",
- "dev": true,
- "engines": {
- "node": "^14.13.1 || >=16.0.0"
- },
- "peerDependencies": {
- "stylelint": "^15.10.0"
- }
- },
- "node_modules/stylelint-config-standard": {
- "version": "34.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz",
- "integrity": "sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==",
- "dev": true,
- "dependencies": {
- "stylelint-config-recommended": "^13.0.0"
- },
- "engines": {
- "node": "^14.13.1 || >=16.0.0"
- },
- "peerDependencies": {
- "stylelint": "^15.10.0"
- }
- },
- "node_modules/stylelint/node_modules/balanced-match": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
- "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
- "dev": true
- },
- "node_modules/stylelint/node_modules/file-entry-cache": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.2.tgz",
- "integrity": "sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==",
- "dev": true,
- "dependencies": {
- "flat-cache": "^3.2.0"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/stylelint/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-hyperlinks": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.1.0.tgz",
- "integrity": "sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.0"
- },
- "engines": {
- "node": ">=14.18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/svg-tags": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
- "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
- "dev": true
- },
- "node_modules/table": {
- "version": "6.8.2",
- "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz",
- "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==",
- "dev": true,
- "dependencies": {
- "ajv": "^8.0.1",
- "lodash.truncate": "^4.4.2",
- "slice-ansi": "^4.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/table/node_modules/ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/table/node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
- },
- "node_modules/text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/trim-newlines": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz",
- "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true
- },
- "node_modules/validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "dev": true,
- "dependencies": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
- "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
- },
- "node_modules/write-file-atomic": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
- "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
- "dev": true,
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "signal-exit": "^4.0.1"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "node_modules/yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- }
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.26.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.0.tgz",
- "integrity": "sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.25.9",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
- "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
- "dev": true
- },
- "@csstools/css-parser-algorithms": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz",
- "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==",
- "dev": true,
- "requires": {}
- },
- "@csstools/css-tokenizer": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz",
- "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==",
- "dev": true
- },
- "@csstools/media-query-list-parser": {
- "version": "2.1.13",
- "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz",
- "integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==",
- "dev": true,
- "requires": {}
- },
- "@csstools/selector-specificity": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz",
- "integrity": "sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==",
- "dev": true,
- "requires": {}
- },
- "@eslint-community/eslint-utils": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
- "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^3.4.3"
- }
- },
- "@eslint-community/regexpp": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.0.tgz",
- "integrity": "sha512-gh7PdNombP8ftL8TinYC8Xd7WEypB8EKV4PI2h0eMzndKjPCXuo2zUiZtD2Hu+MSPt02Ty2MdS788ADl9ai1rA==",
- "dev": true
- },
- "@eslint/eslintrc": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
- "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
- "dev": true,
- "requires": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- }
- },
- "@eslint/js": {
- "version": "8.57.1",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
- "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
- "dev": true
- },
- "@humanwhocodes/config-array": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
- "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
- "dev": true,
- "requires": {
- "@humanwhocodes/object-schema": "^2.0.3",
- "debug": "^4.3.1",
- "minimatch": "^3.0.5"
- }
- },
- "@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true
- },
- "@humanwhocodes/object-schema": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
- "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
- "dev": true
- },
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true
- },
- "@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@types/minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
- "dev": true
- },
- "@types/normalize-package-data": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
- "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
- "dev": true
- },
- "@ungap/structured-clone": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
- "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
- "dev": true
- },
- "acorn": {
- "version": "8.14.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
- "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
- "dev": true
- },
- "acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "requires": {}
- },
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true
- },
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
- "dev": true
- },
- "astral-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
- "dev": true
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dev": true,
- "requires": {
- "fill-range": "^7.1.1"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true
- },
- "camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true
- },
- "camelcase-keys": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz",
- "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==",
- "dev": true,
- "requires": {
- "camelcase": "^6.3.0",
- "map-obj": "^4.1.0",
- "quick-lru": "^5.1.1",
- "type-fest": "^1.2.1"
- },
- "dependencies": {
- "type-fest": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
- "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
- "dev": true
- }
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "colord": {
- "version": "2.9.3",
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
- "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
- },
- "cosmiconfig": {
- "version": "8.3.6",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
- "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
- "dev": true,
- "requires": {
- "import-fresh": "^3.3.0",
- "js-yaml": "^4.1.0",
- "parse-json": "^5.2.0",
- "path-type": "^4.0.0"
- }
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "css-functions-list": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz",
- "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==",
- "dev": true
- },
- "css-tree": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
- "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
- "dev": true,
- "requires": {
- "mdn-data": "2.0.30",
- "source-map-js": "^1.0.1"
- }
- },
- "cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true
- },
- "debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.3"
- }
- },
- "decamelize": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz",
- "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==",
- "dev": true
- },
- "decamelize-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
- "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
- "dev": true,
- "requires": {
- "decamelize": "^1.1.0",
- "map-obj": "^1.0.0"
- },
- "dependencies": {
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
- "dev": true
- },
- "map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
- "dev": true
- }
- }
- },
- "deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
- },
- "eslint": {
- "version": "8.57.1",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
- "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
- "dev": true,
- "requires": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.1",
- "@humanwhocodes/config-array": "^0.13.0",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
- "ajv": "^6.12.4",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.2",
- "eslint-visitor-keys": "^3.4.3",
- "espree": "^9.6.1",
- "esquery": "^1.4.2",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.19.0",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
- }
- },
- "eslint-config-google": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz",
- "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==",
- "dev": true,
- "requires": {}
- },
- "eslint-scope": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
- "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- }
- },
- "eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true
- },
- "espree": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
- "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
- "dev": true,
- "requires": {
- "acorn": "^8.9.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
- }
- },
- "esquery": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
- "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
- "dev": true,
- "requires": {
- "estraverse": "^5.1.0"
- }
- },
- "esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "requires": {
- "estraverse": "^5.2.0"
- }
- },
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "fast-glob": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
- "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
- },
- "fast-uri": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz",
- "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==",
- "dev": true
- },
- "fastest-levenshtein": {
- "version": "1.0.16",
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
- "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
- "dev": true
- },
- "fastq": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
- "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
- "dev": true,
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
- "requires": {
- "flat-cache": "^3.0.4"
- }
- },
- "fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "flat-cache": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
- "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
- "dev": true,
- "requires": {
- "flatted": "^3.2.9",
- "keyv": "^4.5.3",
- "rimraf": "^3.0.2"
- }
- },
- "flatted": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
- "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
- "dev": true
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
- },
- "function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "dev": true
- },
- "glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.3"
- }
- },
- "global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "dev": true,
- "requires": {
- "global-prefix": "^3.0.0"
- }
- },
- "global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "dev": true,
- "requires": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- },
- "dependencies": {
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "globals": {
- "version": "13.24.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
- "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
- "dev": true,
- "requires": {
- "type-fest": "^0.20.2"
- }
- },
- "globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- }
- },
- "globjoin": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
- "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==",
- "dev": true
- },
- "graphemer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
- "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true
- },
- "hard-rejection": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
- "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.2"
- }
- },
- "hosted-git-info": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
- "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "html-tags": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz",
- "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
- "dev": true
- },
- "ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true
- },
- "import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "import-lazy": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
- "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
- "dev": true
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true
- },
- "indent-string": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
- "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "dev": true
- },
- "is-core-module": {
- "version": "2.15.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz",
- "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
- "dev": true,
- "requires": {
- "hasown": "^2.0.2"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true
- },
- "is-plain-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
- "dev": true
- },
- "is-plain-object": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true
- },
- "json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true
- },
- "keyv": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
- "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
- "dev": true,
- "requires": {
- "json-buffer": "3.0.1"
- }
- },
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true
- },
- "known-css-properties": {
- "version": "0.29.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz",
- "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==",
- "dev": true
- },
- "levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "requires": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- }
- },
- "lines-and-columns": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true
- },
- "locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
- "lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "lodash.truncate": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
- "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
- "dev": true
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "map-obj": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
- "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
- "dev": true
- },
- "mathml-tag-names": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
- "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
- "dev": true
- },
- "mdn-data": {
- "version": "2.0.30",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
- "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
- "dev": true
- },
- "meow": {
- "version": "10.1.5",
- "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz",
- "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==",
- "dev": true,
- "requires": {
- "@types/minimist": "^1.2.2",
- "camelcase-keys": "^7.0.0",
- "decamelize": "^5.0.0",
- "decamelize-keys": "^1.1.0",
- "hard-rejection": "^2.1.0",
- "minimist-options": "4.1.0",
- "normalize-package-data": "^3.0.2",
- "read-pkg-up": "^8.0.0",
- "redent": "^4.0.0",
- "trim-newlines": "^4.0.2",
- "type-fest": "^1.2.2",
- "yargs-parser": "^20.2.9"
- },
- "dependencies": {
- "type-fest": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
- "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
- "dev": true
- }
- }
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "dev": true,
- "requires": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- }
- },
- "min-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
- "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
- "dev": true
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist-options": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
- "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
- "dev": true,
- "requires": {
- "arrify": "^1.0.1",
- "is-plain-obj": "^1.1.0",
- "kind-of": "^6.0.3"
- }
- },
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
- },
- "nanoid": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
- "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
- "dev": true
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
- },
- "normalize-package-data": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
- "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
- "dev": true,
- "requires": {
- "hosted-git-info": "^4.0.1",
- "is-core-module": "^2.5.0",
- "semver": "^7.3.4",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "optionator": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
- "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
- "dev": true,
- "requires": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.5"
- }
- },
- "p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "requires": {
- "yocto-queue": "^0.1.0"
- }
- },
- "p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "requires": {
- "p-limit": "^3.0.2"
- }
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true
- },
- "picocolors": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true
- },
- "postcss": {
- "version": "8.4.47",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
- "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
- "dev": true,
- "requires": {
- "nanoid": "^3.3.7",
- "picocolors": "^1.1.0",
- "source-map-js": "^1.2.1"
- }
- },
- "postcss-resolve-nested-selector": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz",
- "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==",
- "dev": true
- },
- "postcss-safe-parser": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz",
- "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==",
- "dev": true,
- "requires": {}
- },
- "postcss-selector-parser": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
- "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
- "dev": true,
- "requires": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- }
- },
- "postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
- },
- "prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true
- },
- "punycode": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
- "dev": true
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true
- },
- "quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
- "dev": true
- },
- "read-pkg": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz",
- "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==",
- "dev": true,
- "requires": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^3.0.2",
- "parse-json": "^5.2.0",
- "type-fest": "^1.0.1"
- },
- "dependencies": {
- "type-fest": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
- "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
- "dev": true
- }
- }
- },
- "read-pkg-up": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz",
- "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==",
- "dev": true,
- "requires": {
- "find-up": "^5.0.0",
- "read-pkg": "^6.0.0",
- "type-fest": "^1.0.1"
- },
- "dependencies": {
- "type-fest": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
- "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
- "dev": true
- }
- }
- },
- "redent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz",
- "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==",
- "dev": true,
- "requires": {
- "indent-string": "^5.0.0",
- "strip-indent": "^4.0.0"
- }
- },
- "require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
- "dev": true
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "signal-exit": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
- "dev": true
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
- "slice-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- }
- },
- "source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "dev": true
- },
- "spdx-correct": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
- "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
- "dev": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
- "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
- "dev": true
- },
- "spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "dev": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.20",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz",
- "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz",
- "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==",
- "dev": true,
- "requires": {
- "min-indent": "^1.0.1"
- }
- },
- "strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true
- },
- "style-search": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
- "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==",
- "dev": true
- },
- "stylelint": {
- "version": "15.11.0",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz",
- "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==",
- "dev": true,
- "requires": {
- "@csstools/css-parser-algorithms": "^2.3.1",
- "@csstools/css-tokenizer": "^2.2.0",
- "@csstools/media-query-list-parser": "^2.1.4",
- "@csstools/selector-specificity": "^3.0.0",
- "balanced-match": "^2.0.0",
- "colord": "^2.9.3",
- "cosmiconfig": "^8.2.0",
- "css-functions-list": "^3.2.1",
- "css-tree": "^2.3.1",
- "debug": "^4.3.4",
- "fast-glob": "^3.3.1",
- "fastest-levenshtein": "^1.0.16",
- "file-entry-cache": "^7.0.0",
- "global-modules": "^2.0.0",
- "globby": "^11.1.0",
- "globjoin": "^0.1.4",
- "html-tags": "^3.3.1",
- "ignore": "^5.2.4",
- "import-lazy": "^4.0.0",
- "imurmurhash": "^0.1.4",
- "is-plain-object": "^5.0.0",
- "known-css-properties": "^0.29.0",
- "mathml-tag-names": "^2.1.3",
- "meow": "^10.1.5",
- "micromatch": "^4.0.5",
- "normalize-path": "^3.0.0",
- "picocolors": "^1.0.0",
- "postcss": "^8.4.28",
- "postcss-resolve-nested-selector": "^0.1.1",
- "postcss-safe-parser": "^6.0.0",
- "postcss-selector-parser": "^6.0.13",
- "postcss-value-parser": "^4.2.0",
- "resolve-from": "^5.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "style-search": "^0.1.0",
- "supports-hyperlinks": "^3.0.0",
- "svg-tags": "^1.0.0",
- "table": "^6.8.1",
- "write-file-atomic": "^5.0.1"
- },
- "dependencies": {
- "balanced-match": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
- "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
- "dev": true
- },
- "file-entry-cache": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.2.tgz",
- "integrity": "sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==",
- "dev": true,
- "requires": {
- "flat-cache": "^3.2.0"
- }
- },
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true
- }
- }
- },
- "stylelint-config-recommended": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz",
- "integrity": "sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==",
- "dev": true,
- "requires": {}
- },
- "stylelint-config-standard": {
- "version": "34.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz",
- "integrity": "sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==",
- "dev": true,
- "requires": {
- "stylelint-config-recommended": "^13.0.0"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "supports-hyperlinks": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.1.0.tgz",
- "integrity": "sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.0"
- }
- },
- "svg-tags": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
- "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
- "dev": true
- },
- "table": {
- "version": "6.8.2",
- "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz",
- "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==",
- "dev": true,
- "requires": {
- "ajv": "^8.0.1",
- "lodash.truncate": "^4.4.2",
- "slice-ansi": "^4.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- },
- "dependencies": {
- "ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
- }
- },
- "json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
- }
- }
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "trim-newlines": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz",
- "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==",
- "dev": true
- },
- "type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "requires": {
- "prelude-ls": "^1.2.1"
- }
- },
- "type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "dev": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "word-wrap": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
- "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
- "dev": true
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
- },
- "write-file-atomic": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
- "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "signal-exit": "^4.0.1"
- }
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "dev": true
- },
- "yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true
}
}
}
diff --git a/package.json b/package.json
index 72a1821..9e49403 100644
--- a/package.json
+++ b/package.json
@@ -1,20 +1,6 @@
{
- "name": "dashboard-project",
- "version": "1.0.0",
- "description": "",
- "main": "index.js",
- "type": "module",
- "directories": {},
- "scripts": {
- "css-lint": "stylelint --color \"**/*.css\"",
- "js-lint": "eslint --color **/*.js"
- },
- "author": "",
- "license": "ISC",
- "devDependencies": {
- "eslint": "^8.48.0",
- "eslint-config-google": "^0.14.0",
- "stylelint": "^15.10.3",
- "stylelint-config-standard": "^34.0.0"
+ "dependencies": {
+ "firebase": "^11.0.2",
+ "papaparse": "^5.4.1"
}
}