@opentripplanner/vehicle-rental-overlay 5.0.1 → 6.0.1-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/esm/index.js +66 -46
- package/esm/index.js.map +1 -1
- package/lib/index.d.ts +9 -7
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +65 -44
- package/lib/index.js.map +1 -1
- package/package.json +6 -6
- package/src/VehicleRentalOverlay.story.tsx +17 -10
- package/src/index.tsx +122 -89
- package/tsconfig.tsbuildinfo +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
# Vehicle Rental Overlay
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
## Upgrade to OTP2 types
|
|
4
|
+
|
|
5
|
+
Version 5.0.1 is the final version to support OTP1 types for the `stations` prop of `VehicleRentalOverlay`. Starting with version 6.0.0, the `stations` prop will be replaced with `entities`, with a type of `VehicleRentalStation[]`. This updated type can be found in the `@opentripplanner/types/otp2` package.
|
package/esm/index.js
CHANGED
|
@@ -10,11 +10,16 @@ import { BaseBikeRentalIcon, StationMarker } from "./styled";
|
|
|
10
10
|
|
|
11
11
|
// TODO: Make configurable?
|
|
12
12
|
var DETAILED_MARKER_CUTOFF = 16;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (
|
|
13
|
+
function entityIsStation(entity) {
|
|
14
|
+
return "availableVehicles" in entity;
|
|
15
|
+
}
|
|
16
|
+
var getColorForEntity = function getColorForEntity(entity) {
|
|
17
|
+
if (entityIsStation(entity)) {
|
|
18
|
+
if (entity.availableVehicles && entity.availableVehicles.total > 0) return "#f00";
|
|
19
|
+
} else {
|
|
20
|
+
if (entity.vehicleType.formFactor.startsWith("SCOOTER")) return "#f5a729";
|
|
21
|
+
if (entity.vehicleType.formFactor === "BICYCLE") return "#009cde";
|
|
22
|
+
}
|
|
18
23
|
return "gray";
|
|
19
24
|
};
|
|
20
25
|
/**
|
|
@@ -25,11 +30,11 @@ var getColorForStation = function getColorForStation(v) {
|
|
|
25
30
|
var VehicleRentalOverlay = function VehicleRentalOverlay(_ref) {
|
|
26
31
|
var companies = _ref.companies,
|
|
27
32
|
configCompanies = _ref.configCompanies,
|
|
33
|
+
entities = _ref.entities,
|
|
28
34
|
getStationName = _ref.getStationName,
|
|
29
35
|
id = _ref.id,
|
|
30
36
|
refreshVehicles = _ref.refreshVehicles,
|
|
31
37
|
_setLocation = _ref.setLocation,
|
|
32
|
-
stations = _ref.stations,
|
|
33
38
|
visible = _ref.visible;
|
|
34
39
|
var _useMap = useMap(),
|
|
35
40
|
map = _useMap.current;
|
|
@@ -38,7 +43,7 @@ var VehicleRentalOverlay = function VehicleRentalOverlay(_ref) {
|
|
|
38
43
|
zoom = _useState2[0],
|
|
39
44
|
setZoom = _useState2[1];
|
|
40
45
|
var layerId = "rental-vehicles-".concat(id);
|
|
41
|
-
var _useState3 = useState(
|
|
46
|
+
var _useState3 = useState(),
|
|
42
47
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
43
48
|
clickedVehicle = _useState4[0],
|
|
44
49
|
setClickedVehicle = _useState4[1];
|
|
@@ -51,51 +56,66 @@ var VehicleRentalOverlay = function VehicleRentalOverlay(_ref) {
|
|
|
51
56
|
setInterval(refreshVehicles, 30000);
|
|
52
57
|
}, [refreshVehicles]);
|
|
53
58
|
useEffect(function () {
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
59
|
+
var mouseEnterFunc = function mouseEnterFunc() {
|
|
60
|
+
map.getCanvas().style.cursor = "pointer";
|
|
61
|
+
};
|
|
62
|
+
var mouseLeaveFunc = function mouseLeaveFunc() {
|
|
63
|
+
map.getCanvas().style.cursor = "";
|
|
64
|
+
};
|
|
65
|
+
var clickFunc = function clickFunc(event) {
|
|
66
|
+
var _event$features;
|
|
67
|
+
var p = (_event$features = event.features) === null || _event$features === void 0 ? void 0 : _event$features[0].properties;
|
|
68
|
+
setClickedVehicle(_objectSpread(_objectSpread({}, p), {}, {
|
|
69
|
+
// the properties field of the GeoJSON Feature object serializes these
|
|
70
|
+
// two objects into JSON strings, so we need to parse them back into objects
|
|
71
|
+
availableSpaces: JSON.parse(p === null || p === void 0 ? void 0 : p.availableSpaces),
|
|
72
|
+
availableVehicles: JSON.parse(p === null || p === void 0 ? void 0 : p.availableVehicles)
|
|
73
|
+
}));
|
|
74
|
+
};
|
|
75
|
+
var zoomFunc = function zoomFunc(e) {
|
|
68
76
|
// Avoid too many re-renders by only updating state if we are a whole number value different
|
|
69
77
|
var newZoom = e.viewState.zoom;
|
|
70
78
|
if (Math.floor(zoom / 2) !== Math.floor(newZoom / 2)) {
|
|
71
79
|
setZoom(newZoom);
|
|
72
80
|
}
|
|
73
|
-
}
|
|
81
|
+
};
|
|
82
|
+
map === null || map === void 0 || map.on("mouseenter", layerId, mouseEnterFunc);
|
|
83
|
+
map === null || map === void 0 || map.on("mouseleave", layerId, mouseLeaveFunc);
|
|
84
|
+
map === null || map === void 0 || map.on("click", layerId, clickFunc);
|
|
85
|
+
map === null || map === void 0 || map.on("zoom", zoomFunc);
|
|
86
|
+
return function () {
|
|
87
|
+
map === null || map === void 0 || map.off("mouseenter", layerId, mouseEnterFunc);
|
|
88
|
+
map === null || map === void 0 || map.off("mouseleave", layerId, mouseLeaveFunc);
|
|
89
|
+
map === null || map === void 0 || map.off("click", layerId, clickFunc);
|
|
90
|
+
map === null || map === void 0 || map.off("zoom", zoomFunc);
|
|
91
|
+
};
|
|
74
92
|
}, [map]);
|
|
75
93
|
|
|
76
94
|
// Don't render if no map or no stops are defined.
|
|
77
|
-
if (visible === false || !
|
|
95
|
+
if (visible === false || !entities || entities.length === 0) {
|
|
78
96
|
// Null can't be returned here -- react-map-gl dislikes null values as children
|
|
79
97
|
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
80
98
|
}
|
|
81
99
|
var vehiclesGeoJSON = {
|
|
82
100
|
type: "FeatureCollection",
|
|
83
|
-
features:
|
|
101
|
+
features: entities.filter(function (entity) {
|
|
102
|
+
return !!entity;
|
|
103
|
+
}).filter(function (entity) {
|
|
84
104
|
return (
|
|
85
105
|
// Include specified companies only if companies is specified and network info is available
|
|
86
|
-
!companies || !
|
|
106
|
+
!companies || !entity.rentalNetwork.networkId || companies.includes(entity.rentalNetwork.networkId)
|
|
87
107
|
);
|
|
88
|
-
}).map(function (
|
|
108
|
+
}).map(function (entity) {
|
|
89
109
|
return {
|
|
90
110
|
type: "Feature",
|
|
91
111
|
geometry: {
|
|
92
112
|
type: "Point",
|
|
93
|
-
coordinates: [
|
|
113
|
+
coordinates: [entity.lon, entity.lat]
|
|
94
114
|
},
|
|
95
|
-
properties: _objectSpread(_objectSpread({},
|
|
96
|
-
networks:
|
|
97
|
-
"stroke-width":
|
|
98
|
-
color:
|
|
115
|
+
properties: _objectSpread(_objectSpread({}, entity), {}, {
|
|
116
|
+
networks: entity.rentalNetwork.networkId,
|
|
117
|
+
"stroke-width": entityIsStation(entity) ? 1 : 2,
|
|
118
|
+
color: getColorForEntity(entity)
|
|
99
119
|
})
|
|
100
120
|
};
|
|
101
121
|
})
|
|
@@ -112,13 +132,15 @@ var VehicleRentalOverlay = function VehicleRentalOverlay(_ref) {
|
|
|
112
132
|
"circle-stroke-width": ["get", "stroke-width"]
|
|
113
133
|
},
|
|
114
134
|
type: "circle"
|
|
115
|
-
})), zoom >= DETAILED_MARKER_CUTOFF &&
|
|
135
|
+
})), zoom >= DETAILED_MARKER_CUTOFF && entities.filter(function (entity) {
|
|
136
|
+
return !!entity;
|
|
137
|
+
}).map(function (entity) {
|
|
116
138
|
return /*#__PURE__*/React.createElement(MarkerWithPopup, {
|
|
117
|
-
key:
|
|
139
|
+
key: entity.id,
|
|
118
140
|
popupContents: /*#__PURE__*/React.createElement(StationPopup, {
|
|
119
141
|
configCompanies: configCompanies,
|
|
120
142
|
setLocation: function setLocation(location) {
|
|
121
|
-
setClickedVehicle(
|
|
143
|
+
setClickedVehicle(undefined);
|
|
122
144
|
_setLocation(location);
|
|
123
145
|
},
|
|
124
146
|
getEntityName:
|
|
@@ -126,21 +148,21 @@ var VehicleRentalOverlay = function VehicleRentalOverlay(_ref) {
|
|
|
126
148
|
getStationName && function (s, cc) {
|
|
127
149
|
return getStationName(cc, s);
|
|
128
150
|
},
|
|
129
|
-
entity:
|
|
151
|
+
entity: entity
|
|
130
152
|
}),
|
|
131
|
-
position: [
|
|
132
|
-
},
|
|
133
|
-
percent: (
|
|
153
|
+
position: [entity.lat, entity.lon]
|
|
154
|
+
}, entityIsStation(entity) && entity.availableSpaces !== undefined && entity.availableVehicles !== undefined && entity.availableVehicles.total > 0 ? /*#__PURE__*/React.createElement(BaseBikeRentalIcon, {
|
|
155
|
+
percent: (entity === null || entity === void 0 ? void 0 : entity.availableVehicles.total) / ((entity === null || entity === void 0 ? void 0 : entity.availableVehicles.total) + (entity === null || entity === void 0 ? void 0 : entity.availableSpaces.total))
|
|
134
156
|
}) : /*#__PURE__*/React.createElement(StationMarker, {
|
|
135
157
|
width: 12,
|
|
136
|
-
color:
|
|
158
|
+
color: getColorForEntity(entity)
|
|
137
159
|
}));
|
|
138
160
|
}), clickedVehicle && /*#__PURE__*/React.createElement(Popup, {
|
|
139
|
-
latitude: clickedVehicle.
|
|
140
|
-
longitude: clickedVehicle.
|
|
161
|
+
latitude: clickedVehicle.lat,
|
|
162
|
+
longitude: clickedVehicle.lon,
|
|
141
163
|
maxWidth: "100%",
|
|
142
164
|
onClose: function onClose() {
|
|
143
|
-
setClickedVehicle(
|
|
165
|
+
setClickedVehicle(undefined);
|
|
144
166
|
}
|
|
145
167
|
}, /*#__PURE__*/React.createElement(StationPopup, {
|
|
146
168
|
configCompanies: configCompanies,
|
|
@@ -150,12 +172,10 @@ var VehicleRentalOverlay = function VehicleRentalOverlay(_ref) {
|
|
|
150
172
|
return getStationName(cc, s);
|
|
151
173
|
},
|
|
152
174
|
setLocation: function setLocation(location) {
|
|
153
|
-
setClickedVehicle(
|
|
175
|
+
setClickedVehicle(undefined);
|
|
154
176
|
_setLocation(location);
|
|
155
177
|
},
|
|
156
|
-
entity:
|
|
157
|
-
networks: JSON.parse(clickedVehicle.networks)
|
|
158
|
-
})
|
|
178
|
+
entity: clickedVehicle
|
|
159
179
|
})));
|
|
160
180
|
};
|
|
161
181
|
export default VehicleRentalOverlay;
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["MarkerWithPopup","Popup","React","useEffect","useState","Layer","Source","useMap","StationPopup","BaseBikeRentalIcon","StationMarker","DETAILED_MARKER_CUTOFF","getColorForStation","v","isFloatingCar","isFloatingVehicle","bikesAvailable","undefined","isFloatingBike","VehicleRentalOverlay","_ref","companies","configCompanies","getStationName","id","refreshVehicles","setLocation","stations","visible","_useMap","map","current","_useState","getZoom","_useState2","_slicedToArray","zoom","setZoom","layerId","concat","_useState3","_useState4","clickedVehicle","setClickedVehicle","setInterval","VEHICLE_LAYERS","forEach","stopLayer","on","getCanvas","style","cursor","event","_event$features","features","properties","e","newZoom","viewState","Math","floor","length","createElement","Fragment","vehiclesGeoJSON","type","filter","vehicle","networks","includes","geometry","coordinates","x","y","_objectSpread","JSON","stringify","color","data","paint","station","key","popupContents","location","getEntityName","s","cc","entity","position","spacesAvailable","percent","width","latitude","longitude","maxWidth","onClose","parse"],"sources":["../src/index.tsx"],"sourcesContent":["import { MarkerWithPopup, Popup } from \"@opentripplanner/base-map\";\nimport {\n Company,\n ConfiguredCompany,\n MapLocationActionArg,\n Station\n} from \"@opentripplanner/types\";\nimport React, { useEffect, useState } from \"react\";\nimport {\n Layer,\n Source,\n useMap,\n ViewStateChangeEvent\n} from \"react-map-gl/maplibre\";\n\nimport StationPopup from \"@opentripplanner/map-popup\";\nimport { BaseBikeRentalIcon, StationMarker } from \"./styled\";\n\n// TODO: Make configurable?\nconst DETAILED_MARKER_CUTOFF = 16;\n\nconst getColorForStation = (v: Station) => {\n if (v.isFloatingCar) return \"#009cde\";\n if (v.isFloatingVehicle) return \"#f5a729\";\n // TODO: nicer color to match transitive\n if (v.bikesAvailable !== undefined || v.isFloatingBike) return \"#f00\";\n return \"gray\";\n};\n\ntype Props = {\n /**\n * A list of companies that are applicable to just this instance of the\n * overlay.\n */\n companies?: string[];\n /**\n * The entire companies config array.\n */\n configCompanies: ConfiguredCompany[];\n /**\n * An id, used to make this layer uniquely identifiable\n */\n id: string;\n /**\n * An optional custom function to create a string name of a particular vehicle\n * rental station. This function takes two arguments of the configCompanies\n * prop and a vehicle rental station. The function must return a string.\n */\n getStationName?: (configCompanies: Company[], station: Station) => string;\n /**\n * If specified, a function that will be triggered every 30 seconds whenever this layer is\n * visible.\n */\n refreshVehicles?: () => void;\n /**\n * A callback for when a user clicks on setting this stop as either the from\n * or to location of a new search.\n *\n * This will be dispatched with the following argument:\n *\n * ```js\n * {\n * location: {\n * lat: number,\n * lon: number,\n * name: string\n * },\n * locationType: \"from\" or \"to\"\n * }\n * ```\n */\n setLocation?: (arg: MapLocationActionArg) => void;\n /**\n * A list of the vehicle rental stations specific to this overlay instance.\n */\n stations: Station[];\n /**\n * Whether the overlay is currently visible.\n */\n visible?: boolean;\n /**\n * TODO: Add props for overriding symbols?\n */\n};\n\n/**\n * This vehicle rental overlay can be used to render vehicle rentals of various\n * types. This layer can be configured to show different styles of markers at\n * different zoom levels.\n */\nconst VehicleRentalOverlay = ({\n companies,\n configCompanies,\n getStationName,\n id,\n refreshVehicles,\n setLocation,\n stations,\n visible\n}: Props): JSX.Element => {\n const { current: map } = useMap();\n const [zoom, setZoom] = useState(map?.getZoom());\n\n const layerId = `rental-vehicles-${id}`;\n const [clickedVehicle, setClickedVehicle] = useState(null);\n\n useEffect(() => {\n // TODO: Make 30s configurable?\n if (!refreshVehicles || typeof refreshVehicles !== \"function\") {\n return;\n }\n\n refreshVehicles();\n setInterval(refreshVehicles, 30_000);\n }, [refreshVehicles]);\n\n useEffect(() => {\n const VEHICLE_LAYERS = [layerId];\n VEHICLE_LAYERS.forEach(stopLayer => {\n map?.on(\"mouseenter\", stopLayer, () => {\n map.getCanvas().style.cursor = \"pointer\";\n });\n map?.on(\"mouseleave\", stopLayer, () => {\n map.getCanvas().style.cursor = \"\";\n });\n map?.on(\"click\", stopLayer, event => {\n setClickedVehicle(event.features?.[0].properties);\n });\n });\n map.on(\"zoom\", (e: ViewStateChangeEvent) => {\n // Avoid too many re-renders by only updating state if we are a whole number value different\n const { zoom: newZoom } = e.viewState;\n if (Math.floor(zoom / 2) !== Math.floor(newZoom / 2)) {\n setZoom(newZoom);\n }\n });\n }, [map]);\n\n // Don't render if no map or no stops are defined.\n if (visible === false || !stations || stations.length === 0) {\n // Null can't be returned here -- react-map-gl dislikes null values as children\n return <></>;\n }\n\n const vehiclesGeoJSON: GeoJSON.FeatureCollection = {\n type: \"FeatureCollection\",\n features: stations\n .filter(\n vehicle =>\n // Include specified companies only if companies is specified and network info is available\n !companies ||\n !vehicle.networks ||\n companies.includes(vehicle.networks[0])\n )\n .map(vehicle => ({\n type: \"Feature\",\n geometry: { type: \"Point\", coordinates: [vehicle.x, vehicle.y] },\n properties: {\n ...vehicle,\n networks: JSON.stringify(vehicle.networks),\n \"stroke-width\":\n vehicle.isFloatingBike || vehicle.isFloatingVehicle ? 1 : 2,\n color: getColorForStation(vehicle)\n }\n }))\n };\n\n return (\n <>\n {zoom < DETAILED_MARKER_CUTOFF && (\n <Source type=\"geojson\" data={vehiclesGeoJSON}>\n <Layer\n id={layerId}\n paint={{\n \"circle-color\": [\"get\", \"color\"],\n \"circle-opacity\": 0.9,\n \"circle-stroke-color\": \"#333\",\n \"circle-stroke-width\": [\"get\", \"stroke-width\"]\n }}\n type=\"circle\"\n />\n {/* this is where we add the symbols layer. add a second layer that gets swapped in and out dynamically */}\n </Source>\n )}\n {zoom >= DETAILED_MARKER_CUTOFF &&\n stations.map(station => (\n <MarkerWithPopup\n key={station.id}\n popupContents={\n <StationPopup\n configCompanies={configCompanies}\n setLocation={location => {\n setClickedVehicle(null);\n setLocation(location);\n }}\n getEntityName={\n // @ts-expect-error no stop support. Avoid a breaking change\n getStationName && ((s, cc) => getStationName(cc, s))\n }\n entity={station}\n />\n }\n position={[station.y, station.x]}\n >\n {station.bikesAvailable !== undefined &&\n !station.isFloatingBike &&\n !station.isFloatingVehicle &&\n station.spacesAvailable !== undefined ? (\n <BaseBikeRentalIcon\n percent={\n station?.bikesAvailable /\n (station?.bikesAvailable + station?.spacesAvailable)\n }\n />\n ) : (\n <StationMarker width={12} color={getColorForStation(station)} />\n )}\n </MarkerWithPopup>\n ))}\n {clickedVehicle && (\n <Popup\n latitude={clickedVehicle.y}\n longitude={clickedVehicle.x}\n maxWidth=\"100%\"\n onClose={() => {\n setClickedVehicle(null);\n }}\n >\n <StationPopup\n configCompanies={configCompanies}\n getEntityName={\n // @ts-expect-error no stop support. Avoid a breaking change\n getStationName && ((s, cc) => getStationName(cc, s))\n }\n setLocation={location => {\n setClickedVehicle(null);\n setLocation(location);\n }}\n entity={{\n ...clickedVehicle,\n networks: JSON.parse(clickedVehicle.networks)\n }}\n />\n </Popup>\n )}\n </>\n );\n};\nexport default VehicleRentalOverlay;\nexport { StationPopup };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["MarkerWithPopup","Popup","React","useEffect","useState","Layer","Source","useMap","StationPopup","BaseBikeRentalIcon","StationMarker","DETAILED_MARKER_CUTOFF","entityIsStation","entity","getColorForEntity","availableVehicles","total","vehicleType","formFactor","startsWith","VehicleRentalOverlay","_ref","companies","configCompanies","entities","getStationName","id","refreshVehicles","setLocation","visible","_useMap","map","current","_useState","getZoom","_useState2","_slicedToArray","zoom","setZoom","layerId","concat","_useState3","_useState4","clickedVehicle","setClickedVehicle","setInterval","mouseEnterFunc","getCanvas","style","cursor","mouseLeaveFunc","clickFunc","event","_event$features","p","features","properties","_objectSpread","availableSpaces","JSON","parse","zoomFunc","e","newZoom","viewState","Math","floor","on","off","length","createElement","Fragment","vehiclesGeoJSON","type","filter","rentalNetwork","networkId","includes","geometry","coordinates","lon","lat","networks","color","data","paint","key","popupContents","location","undefined","getEntityName","s","cc","position","percent","width","latitude","longitude","maxWidth","onClose"],"sources":["../src/index.tsx"],"sourcesContent":["import { MarkerWithPopup, Popup } from \"@opentripplanner/base-map\";\nimport {\n Company,\n ConfiguredCompany,\n MapLocationActionArg\n} from \"@opentripplanner/types\";\nimport {\n RentalVehicle,\n VehicleRentalStation\n} from \"@opentripplanner/types/otp2\";\nimport { Geometry } from \"geojson\";\nimport React, { useEffect, useState } from \"react\";\nimport { Layer, Source, useMap } from \"react-map-gl/maplibre\";\n\nimport StationPopup from \"@opentripplanner/map-popup\";\nimport { BaseBikeRentalIcon, StationMarker } from \"./styled\";\n\n// TODO: Make configurable?\nconst DETAILED_MARKER_CUTOFF = 16;\n\nfunction entityIsStation(\n entity: VehicleRentalStation | RentalVehicle\n): entity is VehicleRentalStation {\n return \"availableVehicles\" in entity;\n}\n\nconst getColorForEntity = (entity: VehicleRentalStation | RentalVehicle) => {\n if (entityIsStation(entity)) {\n if (entity.availableVehicles && entity.availableVehicles.total > 0)\n return \"#f00\";\n } else {\n if (entity.vehicleType.formFactor.startsWith(\"SCOOTER\")) return \"#f5a729\";\n if (entity.vehicleType.formFactor === \"BICYCLE\") return \"#009cde\";\n }\n return \"gray\";\n};\n\ntype Props = {\n /**\n * A list of companies that are applicable to just this instance of the\n * overlay.\n */\n companies?: string[];\n /**\n * The entire companies config array.\n */\n configCompanies: ConfiguredCompany[];\n /**\n * The entities to be represented in the overlay. They can be a combination of VehicleRentalStation type\n * (for stationary stations) and RentalVehicle type (for floating vehicles)\n */\n entities?: (VehicleRentalStation | RentalVehicle)[];\n /**\n * An id, used to make this layer uniquely identifiable\n */\n id: string;\n /**\n * An optional custom function to create a string name of a particular vehicle\n * rental station. This function takes two arguments of the configCompanies\n * prop and a vehicle rental station. The function must return a string.\n */\n getStationName?: (\n configCompanies: Company[],\n station: VehicleRentalStation\n ) => string;\n /**\n * If specified, a function that will be triggered every 30 seconds whenever this layer is\n * visible.\n */\n refreshVehicles?: () => void;\n /**\n * A callback for when a user clicks on setting this stop as either the from\n * or to location of a new search.\n *\n * This will be dispatched with the following argument:\n *\n * ```js\n * {\n * location: {\n * lat: number,\n * lon: number,\n * name: string\n * },\n * locationType: \"from\" or \"to\"\n * }\n * ```\n */\n setLocation?: (arg: MapLocationActionArg) => void;\n /**\n * Whether the overlay is currently visible.\n */\n visible?: boolean;\n /**\n * TODO: Add props for overriding symbols?\n */\n};\n\n/**\n * This vehicle rental overlay can be used to render vehicle rentals of various\n * types. This layer can be configured to show different styles of markers at\n * different zoom levels.\n */\nconst VehicleRentalOverlay = ({\n companies,\n configCompanies,\n entities,\n getStationName,\n id,\n refreshVehicles,\n setLocation,\n visible\n}: Props): JSX.Element => {\n const { current: map } = useMap();\n const [zoom, setZoom] = useState(map?.getZoom());\n\n const layerId = `rental-vehicles-${id}`;\n const [clickedVehicle, setClickedVehicle] = useState<\n RentalVehicle | VehicleRentalStation | undefined\n >();\n\n useEffect(() => {\n // TODO: Make 30s configurable?\n if (!refreshVehicles || typeof refreshVehicles !== \"function\") {\n return;\n }\n\n refreshVehicles();\n setInterval(refreshVehicles, 30_000);\n }, [refreshVehicles]);\n\n useEffect(() => {\n const mouseEnterFunc = () => {\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeaveFunc = () => {\n map.getCanvas().style.cursor = \"\";\n };\n const clickFunc = event => {\n const p = event.features?.[0].properties;\n setClickedVehicle({\n ...p,\n // the properties field of the GeoJSON Feature object serializes these\n // two objects into JSON strings, so we need to parse them back into objects\n availableSpaces: JSON.parse(p?.availableSpaces),\n availableVehicles: JSON.parse(p?.availableVehicles)\n } as RentalVehicle | VehicleRentalStation);\n };\n const zoomFunc = e => {\n // Avoid too many re-renders by only updating state if we are a whole number value different\n const { zoom: newZoom } = e.viewState;\n if (Math.floor(zoom / 2) !== Math.floor(newZoom / 2)) {\n setZoom(newZoom);\n }\n };\n\n map?.on(\"mouseenter\", layerId, mouseEnterFunc);\n map?.on(\"mouseleave\", layerId, mouseLeaveFunc);\n map?.on(\"click\", layerId, clickFunc);\n map?.on(\"zoom\", zoomFunc);\n\n return () => {\n map?.off(\"mouseenter\", layerId, mouseEnterFunc);\n map?.off(\"mouseleave\", layerId, mouseLeaveFunc);\n map?.off(\"click\", layerId, clickFunc);\n map?.off(\"zoom\", zoomFunc);\n };\n }, [map]);\n\n // Don't render if no map or no stops are defined.\n if (visible === false || !entities || entities.length === 0) {\n // Null can't be returned here -- react-map-gl dislikes null values as children\n return <></>;\n }\n\n const vehiclesGeoJSON: GeoJSON.FeatureCollection<\n Geometry,\n VehicleRentalStation | RentalVehicle\n > = {\n type: \"FeatureCollection\",\n features: entities\n .filter(entity => !!entity)\n .filter(\n entity =>\n // Include specified companies only if companies is specified and network info is available\n !companies ||\n !entity.rentalNetwork.networkId ||\n companies.includes(entity.rentalNetwork.networkId)\n )\n .map(entity => ({\n type: \"Feature\",\n geometry: { type: \"Point\", coordinates: [entity.lon, entity.lat] },\n properties: {\n ...entity,\n networks: entity.rentalNetwork.networkId,\n \"stroke-width\": entityIsStation(entity) ? 1 : 2,\n color: getColorForEntity(entity)\n }\n }))\n };\n\n return (\n <>\n {zoom < DETAILED_MARKER_CUTOFF && (\n <Source type=\"geojson\" data={vehiclesGeoJSON}>\n <Layer\n id={layerId}\n paint={{\n \"circle-color\": [\"get\", \"color\"],\n \"circle-opacity\": 0.9,\n \"circle-stroke-color\": \"#333\",\n \"circle-stroke-width\": [\"get\", \"stroke-width\"]\n }}\n type=\"circle\"\n />\n {/* this is where we add the symbols layer. add a second layer that gets swapped in and out dynamically */}\n </Source>\n )}\n {zoom >= DETAILED_MARKER_CUTOFF &&\n entities\n .filter(entity => !!entity)\n .map(entity => (\n <MarkerWithPopup\n key={entity.id}\n popupContents={\n <StationPopup\n configCompanies={configCompanies}\n setLocation={location => {\n setClickedVehicle(undefined);\n setLocation(location);\n }}\n getEntityName={\n // @ts-expect-error no stop support. Avoid a breaking change\n getStationName && ((s, cc) => getStationName(cc, s))\n }\n entity={entity}\n />\n }\n position={[entity.lat, entity.lon]}\n >\n {entityIsStation(entity) &&\n entity.availableSpaces !== undefined &&\n entity.availableVehicles !== undefined &&\n entity.availableVehicles.total > 0 ? (\n <BaseBikeRentalIcon\n percent={\n entity?.availableVehicles.total /\n (entity?.availableVehicles.total +\n entity?.availableSpaces.total)\n }\n />\n ) : (\n <StationMarker width={12} color={getColorForEntity(entity)} />\n )}\n </MarkerWithPopup>\n ))}\n {clickedVehicle && (\n <Popup\n latitude={clickedVehicle.lat}\n longitude={clickedVehicle.lon}\n maxWidth=\"100%\"\n onClose={() => {\n setClickedVehicle(undefined);\n }}\n >\n <StationPopup\n configCompanies={configCompanies}\n getEntityName={\n // @ts-expect-error no stop support. Avoid a breaking change\n getStationName && ((s, cc) => getStationName(cc, s))\n }\n setLocation={location => {\n setClickedVehicle(undefined);\n setLocation(location);\n }}\n entity={clickedVehicle}\n />\n </Popup>\n )}\n </>\n );\n};\nexport default VehicleRentalOverlay;\nexport { StationPopup };\n"],"mappings":"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","ignoreList":[]}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { Company, ConfiguredCompany, MapLocationActionArg
|
|
2
|
+
import { Company, ConfiguredCompany, MapLocationActionArg } from "@opentripplanner/types";
|
|
3
|
+
import { RentalVehicle, VehicleRentalStation } from "@opentripplanner/types/otp2";
|
|
3
4
|
import StationPopup from "@opentripplanner/map-popup";
|
|
4
5
|
type Props = {
|
|
5
6
|
/**
|
|
@@ -11,6 +12,11 @@ type Props = {
|
|
|
11
12
|
* The entire companies config array.
|
|
12
13
|
*/
|
|
13
14
|
configCompanies: ConfiguredCompany[];
|
|
15
|
+
/**
|
|
16
|
+
* The entities to be represented in the overlay. They can be a combination of VehicleRentalStation type
|
|
17
|
+
* (for stationary stations) and RentalVehicle type (for floating vehicles)
|
|
18
|
+
*/
|
|
19
|
+
entities?: (VehicleRentalStation | RentalVehicle)[];
|
|
14
20
|
/**
|
|
15
21
|
* An id, used to make this layer uniquely identifiable
|
|
16
22
|
*/
|
|
@@ -20,7 +26,7 @@ type Props = {
|
|
|
20
26
|
* rental station. This function takes two arguments of the configCompanies
|
|
21
27
|
* prop and a vehicle rental station. The function must return a string.
|
|
22
28
|
*/
|
|
23
|
-
getStationName?: (configCompanies: Company[], station:
|
|
29
|
+
getStationName?: (configCompanies: Company[], station: VehicleRentalStation) => string;
|
|
24
30
|
/**
|
|
25
31
|
* If specified, a function that will be triggered every 30 seconds whenever this layer is
|
|
26
32
|
* visible.
|
|
@@ -44,10 +50,6 @@ type Props = {
|
|
|
44
50
|
* ```
|
|
45
51
|
*/
|
|
46
52
|
setLocation?: (arg: MapLocationActionArg) => void;
|
|
47
|
-
/**
|
|
48
|
-
* A list of the vehicle rental stations specific to this overlay instance.
|
|
49
|
-
*/
|
|
50
|
-
stations: Station[];
|
|
51
53
|
/**
|
|
52
54
|
* Whether the overlay is currently visible.
|
|
53
55
|
*/
|
|
@@ -58,7 +60,7 @@ type Props = {
|
|
|
58
60
|
* types. This layer can be configured to show different styles of markers at
|
|
59
61
|
* different zoom levels.
|
|
60
62
|
*/
|
|
61
|
-
declare const VehicleRentalOverlay: ({ companies, configCompanies, getStationName, id, refreshVehicles, setLocation,
|
|
63
|
+
declare const VehicleRentalOverlay: ({ companies, configCompanies, entities, getStationName, id, refreshVehicles, setLocation, visible }: Props) => JSX.Element;
|
|
62
64
|
export default VehicleRentalOverlay;
|
|
63
65
|
export { StationPopup };
|
|
64
66
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,YAAY,MAAM,4BAA4B,CAAC;AAuBtD,KAAK,KAAK,GAAG;IACX;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;OAEG;IACH,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,oBAAoB,GAAG,aAAa,CAAC,EAAE,CAAC;IACpD;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,cAAc,CAAC,EAAE,CACf,eAAe,EAAE,OAAO,EAAE,EAC1B,OAAO,EAAE,oBAAoB,KAC1B,MAAM,CAAC;IACZ;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAClD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAInB,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,oBAAoB,wGASvB,KAAK,KAAG,WAyKV,CAAC;AACF,eAAe,oBAAoB,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -46,14 +46,20 @@ exports.StationPopup = map_popup_1.default;
|
|
|
46
46
|
var styled_1 = require("./styled");
|
|
47
47
|
// TODO: Make configurable?
|
|
48
48
|
var DETAILED_MARKER_CUTOFF = 16;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
function entityIsStation(entity) {
|
|
50
|
+
return "availableVehicles" in entity;
|
|
51
|
+
}
|
|
52
|
+
var getColorForEntity = function (entity) {
|
|
53
|
+
if (entityIsStation(entity)) {
|
|
54
|
+
if (entity.availableVehicles && entity.availableVehicles.total > 0)
|
|
55
|
+
return "#f00";
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
if (entity.vehicleType.formFactor.startsWith("SCOOTER"))
|
|
59
|
+
return "#f5a729";
|
|
60
|
+
if (entity.vehicleType.formFactor === "BICYCLE")
|
|
61
|
+
return "#009cde";
|
|
62
|
+
}
|
|
57
63
|
return "gray";
|
|
58
64
|
};
|
|
59
65
|
/**
|
|
@@ -62,11 +68,11 @@ var getColorForStation = function (v) {
|
|
|
62
68
|
* different zoom levels.
|
|
63
69
|
*/
|
|
64
70
|
var VehicleRentalOverlay = function (_a) {
|
|
65
|
-
var companies = _a.companies, configCompanies = _a.configCompanies, getStationName = _a.getStationName, id = _a.id, refreshVehicles = _a.refreshVehicles, setLocation = _a.setLocation,
|
|
71
|
+
var companies = _a.companies, configCompanies = _a.configCompanies, entities = _a.entities, getStationName = _a.getStationName, id = _a.id, refreshVehicles = _a.refreshVehicles, setLocation = _a.setLocation, visible = _a.visible;
|
|
66
72
|
var map = (0, maplibre_1.useMap)().current;
|
|
67
73
|
var _b = (0, react_1.useState)(map === null || map === void 0 ? void 0 : map.getZoom()), zoom = _b[0], setZoom = _b[1];
|
|
68
74
|
var layerId = "rental-vehicles-".concat(id);
|
|
69
|
-
var _c = (0, react_1.useState)(
|
|
75
|
+
var _c = (0, react_1.useState)(), clickedVehicle = _c[0], setClickedVehicle = _c[1];
|
|
70
76
|
(0, react_1.useEffect)(function () {
|
|
71
77
|
// TODO: Make 30s configurable?
|
|
72
78
|
if (!refreshVehicles || typeof refreshVehicles !== "function") {
|
|
@@ -76,45 +82,57 @@ var VehicleRentalOverlay = function (_a) {
|
|
|
76
82
|
setInterval(refreshVehicles, 30000);
|
|
77
83
|
}, [refreshVehicles]);
|
|
78
84
|
(0, react_1.useEffect)(function () {
|
|
79
|
-
var
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
85
|
+
var mouseEnterFunc = function () {
|
|
86
|
+
map.getCanvas().style.cursor = "pointer";
|
|
87
|
+
};
|
|
88
|
+
var mouseLeaveFunc = function () {
|
|
89
|
+
map.getCanvas().style.cursor = "";
|
|
90
|
+
};
|
|
91
|
+
var clickFunc = function (event) {
|
|
92
|
+
var _a;
|
|
93
|
+
var p = (_a = event.features) === null || _a === void 0 ? void 0 : _a[0].properties;
|
|
94
|
+
setClickedVehicle(__assign(__assign({}, p), {
|
|
95
|
+
// the properties field of the GeoJSON Feature object serializes these
|
|
96
|
+
// two objects into JSON strings, so we need to parse them back into objects
|
|
97
|
+
availableSpaces: JSON.parse(p === null || p === void 0 ? void 0 : p.availableSpaces), availableVehicles: JSON.parse(p === null || p === void 0 ? void 0 : p.availableVehicles) }));
|
|
98
|
+
};
|
|
99
|
+
var zoomFunc = function (e) {
|
|
93
100
|
// Avoid too many re-renders by only updating state if we are a whole number value different
|
|
94
101
|
var newZoom = e.viewState.zoom;
|
|
95
102
|
if (Math.floor(zoom / 2) !== Math.floor(newZoom / 2)) {
|
|
96
103
|
setZoom(newZoom);
|
|
97
104
|
}
|
|
98
|
-
}
|
|
105
|
+
};
|
|
106
|
+
map === null || map === void 0 ? void 0 : map.on("mouseenter", layerId, mouseEnterFunc);
|
|
107
|
+
map === null || map === void 0 ? void 0 : map.on("mouseleave", layerId, mouseLeaveFunc);
|
|
108
|
+
map === null || map === void 0 ? void 0 : map.on("click", layerId, clickFunc);
|
|
109
|
+
map === null || map === void 0 ? void 0 : map.on("zoom", zoomFunc);
|
|
110
|
+
return function () {
|
|
111
|
+
map === null || map === void 0 ? void 0 : map.off("mouseenter", layerId, mouseEnterFunc);
|
|
112
|
+
map === null || map === void 0 ? void 0 : map.off("mouseleave", layerId, mouseLeaveFunc);
|
|
113
|
+
map === null || map === void 0 ? void 0 : map.off("click", layerId, clickFunc);
|
|
114
|
+
map === null || map === void 0 ? void 0 : map.off("zoom", zoomFunc);
|
|
115
|
+
};
|
|
99
116
|
}, [map]);
|
|
100
117
|
// Don't render if no map or no stops are defined.
|
|
101
|
-
if (visible === false || !
|
|
118
|
+
if (visible === false || !entities || entities.length === 0) {
|
|
102
119
|
// Null can't be returned here -- react-map-gl dislikes null values as children
|
|
103
120
|
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
104
121
|
}
|
|
105
122
|
var vehiclesGeoJSON = {
|
|
106
123
|
type: "FeatureCollection",
|
|
107
|
-
features:
|
|
108
|
-
.filter(function (
|
|
124
|
+
features: entities
|
|
125
|
+
.filter(function (entity) { return !!entity; })
|
|
126
|
+
.filter(function (entity) {
|
|
109
127
|
// Include specified companies only if companies is specified and network info is available
|
|
110
128
|
return !companies ||
|
|
111
|
-
!
|
|
112
|
-
companies.includes(
|
|
129
|
+
!entity.rentalNetwork.networkId ||
|
|
130
|
+
companies.includes(entity.rentalNetwork.networkId);
|
|
113
131
|
})
|
|
114
|
-
.map(function (
|
|
132
|
+
.map(function (entity) { return ({
|
|
115
133
|
type: "Feature",
|
|
116
|
-
geometry: { type: "Point", coordinates: [
|
|
117
|
-
properties: __assign(__assign({},
|
|
134
|
+
geometry: { type: "Point", coordinates: [entity.lon, entity.lat] },
|
|
135
|
+
properties: __assign(__assign({}, entity), { networks: entity.rentalNetwork.networkId, "stroke-width": entityIsStation(entity) ? 1 : 2, color: getColorForEntity(entity) })
|
|
118
136
|
}); })
|
|
119
137
|
};
|
|
120
138
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
@@ -126,25 +144,28 @@ var VehicleRentalOverlay = function (_a) {
|
|
|
126
144
|
"circle-stroke-width": ["get", "stroke-width"]
|
|
127
145
|
}, type: "circle" }))),
|
|
128
146
|
zoom >= DETAILED_MARKER_CUTOFF &&
|
|
129
|
-
|
|
130
|
-
|
|
147
|
+
entities
|
|
148
|
+
.filter(function (entity) { return !!entity; })
|
|
149
|
+
.map(function (entity) { return (react_1.default.createElement(base_map_1.MarkerWithPopup, { key: entity.id, popupContents: react_1.default.createElement(map_popup_1.default, { configCompanies: configCompanies, setLocation: function (location) {
|
|
150
|
+
setClickedVehicle(undefined);
|
|
131
151
|
setLocation(location);
|
|
132
152
|
}, getEntityName:
|
|
133
153
|
// @ts-expect-error no stop support. Avoid a breaking change
|
|
134
|
-
getStationName && (function (s, cc) { return getStationName(cc, s); }), entity:
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
((
|
|
139
|
-
|
|
140
|
-
|
|
154
|
+
getStationName && (function (s, cc) { return getStationName(cc, s); }), entity: entity }), position: [entity.lat, entity.lon] }, entityIsStation(entity) &&
|
|
155
|
+
entity.availableSpaces !== undefined &&
|
|
156
|
+
entity.availableVehicles !== undefined &&
|
|
157
|
+
entity.availableVehicles.total > 0 ? (react_1.default.createElement(styled_1.BaseBikeRentalIcon, { percent: (entity === null || entity === void 0 ? void 0 : entity.availableVehicles.total) /
|
|
158
|
+
((entity === null || entity === void 0 ? void 0 : entity.availableVehicles.total) +
|
|
159
|
+
(entity === null || entity === void 0 ? void 0 : entity.availableSpaces.total)) })) : (react_1.default.createElement(styled_1.StationMarker, { width: 12, color: getColorForEntity(entity) })))); }),
|
|
160
|
+
clickedVehicle && (react_1.default.createElement(base_map_1.Popup, { latitude: clickedVehicle.lat, longitude: clickedVehicle.lon, maxWidth: "100%", onClose: function () {
|
|
161
|
+
setClickedVehicle(undefined);
|
|
141
162
|
} },
|
|
142
163
|
react_1.default.createElement(map_popup_1.default, { configCompanies: configCompanies, getEntityName:
|
|
143
164
|
// @ts-expect-error no stop support. Avoid a breaking change
|
|
144
165
|
getStationName && (function (s, cc) { return getStationName(cc, s); }), setLocation: function (location) {
|
|
145
|
-
setClickedVehicle(
|
|
166
|
+
setClickedVehicle(undefined);
|
|
146
167
|
setLocation(location);
|
|
147
|
-
}, entity:
|
|
168
|
+
}, entity: clickedVehicle })))));
|
|
148
169
|
};
|
|
149
170
|
exports.default = VehicleRentalOverlay;
|
|
150
171
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAmE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opentripplanner/vehicle-rental-overlay",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.1-alpha.1",
|
|
4
4
|
"description": "A map overlay to show vehicle rentals from a specific company",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
"@styled-icons/fa-solid": "^10.34.0",
|
|
19
19
|
"flat": "^5.0.2",
|
|
20
20
|
"lodash.memoize": "^4.1.2",
|
|
21
|
-
"@opentripplanner/base-map": "6.0.
|
|
22
|
-
"@opentripplanner/
|
|
23
|
-
"@opentripplanner/
|
|
24
|
-
"@opentripplanner/map-popup": "
|
|
21
|
+
"@opentripplanner/base-map": "6.0.1-alpha.1",
|
|
22
|
+
"@opentripplanner/from-to-location-picker": "4.0.2-alpha.1",
|
|
23
|
+
"@opentripplanner/core-utils": "15.0.0-alpha.1",
|
|
24
|
+
"@opentripplanner/map-popup": "8.1.0-alpha.1"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@opentripplanner/types": "
|
|
27
|
+
"@opentripplanner/types": "9.0.0-alpha.1"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"react": "^18.2.0",
|
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
import React, { ReactNode } from "react";
|
|
3
3
|
import { action } from "storybook/actions";
|
|
4
4
|
|
|
5
|
-
import { Company
|
|
5
|
+
import { Company } from "@opentripplanner/types";
|
|
6
|
+
import {
|
|
7
|
+
RentalVehicle,
|
|
8
|
+
VehicleRentalStation
|
|
9
|
+
} from "@opentripplanner/types/otp2";
|
|
6
10
|
import bikeRentalStations from "../__mocks__/bike-rental-stations.json";
|
|
7
11
|
import carRentalStations from "../__mocks__/car-rental-stations.json";
|
|
8
12
|
import eScooterStations from "../__mocks__/e-scooter-rental-stations.json";
|
|
@@ -38,27 +42,30 @@ const INITIAL_ZOOM = 13;
|
|
|
38
42
|
|
|
39
43
|
type StoryProps = {
|
|
40
44
|
companies: string[];
|
|
41
|
-
getStationName?: (
|
|
45
|
+
getStationName?: (
|
|
46
|
+
configCompanies: Company[],
|
|
47
|
+
station: VehicleRentalStation
|
|
48
|
+
) => string;
|
|
42
49
|
refreshVehicles: () => void;
|
|
43
|
-
|
|
50
|
+
entities: (VehicleRentalStation | RentalVehicle)[];
|
|
44
51
|
visible?: boolean;
|
|
45
52
|
};
|
|
46
53
|
|
|
47
54
|
const ZoomControlledMapWithVehicleRentalOverlay = ({
|
|
48
55
|
companies,
|
|
56
|
+
entities,
|
|
49
57
|
getStationName,
|
|
50
58
|
refreshVehicles,
|
|
51
|
-
stations,
|
|
52
59
|
visible
|
|
53
60
|
}: StoryProps) => (
|
|
54
61
|
<VehicleRentalOverlay
|
|
55
62
|
companies={companies}
|
|
56
63
|
configCompanies={configCompanies}
|
|
64
|
+
entities={entities}
|
|
57
65
|
getStationName={getStationName}
|
|
58
66
|
id="test"
|
|
59
67
|
refreshVehicles={refreshVehicles}
|
|
60
68
|
setLocation={setLocation}
|
|
61
|
-
stations={stations}
|
|
62
69
|
visible={visible}
|
|
63
70
|
/>
|
|
64
71
|
);
|
|
@@ -77,7 +84,7 @@ export const RentalBicycles = () => (
|
|
|
77
84
|
<ZoomControlledMapWithVehicleRentalOverlay
|
|
78
85
|
companies={["BIKETOWN"]}
|
|
79
86
|
refreshVehicles={action("refresh bicycles")}
|
|
80
|
-
|
|
87
|
+
entities={bikeRentalStations}
|
|
81
88
|
/>
|
|
82
89
|
);
|
|
83
90
|
|
|
@@ -87,7 +94,7 @@ export const RentalBicyclesVisibilityControlledByKnob = {
|
|
|
87
94
|
<ZoomControlledMapWithVehicleRentalOverlay
|
|
88
95
|
companies={["BIKETOWN"]}
|
|
89
96
|
refreshVehicles={action("refresh bicycles")}
|
|
90
|
-
|
|
97
|
+
entities={bikeRentalStations}
|
|
91
98
|
visible={visible}
|
|
92
99
|
/>
|
|
93
100
|
);
|
|
@@ -100,7 +107,7 @@ export const RentalCars = () => (
|
|
|
100
107
|
<ZoomControlledMapWithVehicleRentalOverlay
|
|
101
108
|
companies={["CAR2GO"]}
|
|
102
109
|
refreshVehicles={action("refresh cars")}
|
|
103
|
-
|
|
110
|
+
entities={carRentalStations}
|
|
104
111
|
/>
|
|
105
112
|
);
|
|
106
113
|
|
|
@@ -108,7 +115,7 @@ export const RentalEScooters = () => (
|
|
|
108
115
|
<ZoomControlledMapWithVehicleRentalOverlay
|
|
109
116
|
companies={["SHARED"]}
|
|
110
117
|
refreshVehicles={action("refresh E-scooters")}
|
|
111
|
-
|
|
118
|
+
entities={eScooterStations}
|
|
112
119
|
/>
|
|
113
120
|
);
|
|
114
121
|
|
|
@@ -117,6 +124,6 @@ export const RentalEScootersWithCustomNaming = () => (
|
|
|
117
124
|
companies={["SHARED"]}
|
|
118
125
|
getStationName={customStationName}
|
|
119
126
|
refreshVehicles={action("refresh E-scooters")}
|
|
120
|
-
|
|
127
|
+
entities={eScooterStations}
|
|
121
128
|
/>
|
|
122
129
|
);
|
package/src/index.tsx
CHANGED
|
@@ -2,16 +2,15 @@ import { MarkerWithPopup, Popup } from "@opentripplanner/base-map";
|
|
|
2
2
|
import {
|
|
3
3
|
Company,
|
|
4
4
|
ConfiguredCompany,
|
|
5
|
-
MapLocationActionArg
|
|
6
|
-
Station
|
|
5
|
+
MapLocationActionArg
|
|
7
6
|
} from "@opentripplanner/types";
|
|
8
|
-
import React, { useEffect, useState } from "react";
|
|
9
7
|
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} from "react
|
|
8
|
+
RentalVehicle,
|
|
9
|
+
VehicleRentalStation
|
|
10
|
+
} from "@opentripplanner/types/otp2";
|
|
11
|
+
import { Geometry } from "geojson";
|
|
12
|
+
import React, { useEffect, useState } from "react";
|
|
13
|
+
import { Layer, Source, useMap } from "react-map-gl/maplibre";
|
|
15
14
|
|
|
16
15
|
import StationPopup from "@opentripplanner/map-popup";
|
|
17
16
|
import { BaseBikeRentalIcon, StationMarker } from "./styled";
|
|
@@ -19,11 +18,20 @@ import { BaseBikeRentalIcon, StationMarker } from "./styled";
|
|
|
19
18
|
// TODO: Make configurable?
|
|
20
19
|
const DETAILED_MARKER_CUTOFF = 16;
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
function entityIsStation(
|
|
22
|
+
entity: VehicleRentalStation | RentalVehicle
|
|
23
|
+
): entity is VehicleRentalStation {
|
|
24
|
+
return "availableVehicles" in entity;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const getColorForEntity = (entity: VehicleRentalStation | RentalVehicle) => {
|
|
28
|
+
if (entityIsStation(entity)) {
|
|
29
|
+
if (entity.availableVehicles && entity.availableVehicles.total > 0)
|
|
30
|
+
return "#f00";
|
|
31
|
+
} else {
|
|
32
|
+
if (entity.vehicleType.formFactor.startsWith("SCOOTER")) return "#f5a729";
|
|
33
|
+
if (entity.vehicleType.formFactor === "BICYCLE") return "#009cde";
|
|
34
|
+
}
|
|
27
35
|
return "gray";
|
|
28
36
|
};
|
|
29
37
|
|
|
@@ -37,6 +45,11 @@ type Props = {
|
|
|
37
45
|
* The entire companies config array.
|
|
38
46
|
*/
|
|
39
47
|
configCompanies: ConfiguredCompany[];
|
|
48
|
+
/**
|
|
49
|
+
* The entities to be represented in the overlay. They can be a combination of VehicleRentalStation type
|
|
50
|
+
* (for stationary stations) and RentalVehicle type (for floating vehicles)
|
|
51
|
+
*/
|
|
52
|
+
entities?: (VehicleRentalStation | RentalVehicle)[];
|
|
40
53
|
/**
|
|
41
54
|
* An id, used to make this layer uniquely identifiable
|
|
42
55
|
*/
|
|
@@ -46,7 +59,10 @@ type Props = {
|
|
|
46
59
|
* rental station. This function takes two arguments of the configCompanies
|
|
47
60
|
* prop and a vehicle rental station. The function must return a string.
|
|
48
61
|
*/
|
|
49
|
-
getStationName?: (
|
|
62
|
+
getStationName?: (
|
|
63
|
+
configCompanies: Company[],
|
|
64
|
+
station: VehicleRentalStation
|
|
65
|
+
) => string;
|
|
50
66
|
/**
|
|
51
67
|
* If specified, a function that will be triggered every 30 seconds whenever this layer is
|
|
52
68
|
* visible.
|
|
@@ -70,10 +86,6 @@ type Props = {
|
|
|
70
86
|
* ```
|
|
71
87
|
*/
|
|
72
88
|
setLocation?: (arg: MapLocationActionArg) => void;
|
|
73
|
-
/**
|
|
74
|
-
* A list of the vehicle rental stations specific to this overlay instance.
|
|
75
|
-
*/
|
|
76
|
-
stations: Station[];
|
|
77
89
|
/**
|
|
78
90
|
* Whether the overlay is currently visible.
|
|
79
91
|
*/
|
|
@@ -91,18 +103,20 @@ type Props = {
|
|
|
91
103
|
const VehicleRentalOverlay = ({
|
|
92
104
|
companies,
|
|
93
105
|
configCompanies,
|
|
106
|
+
entities,
|
|
94
107
|
getStationName,
|
|
95
108
|
id,
|
|
96
109
|
refreshVehicles,
|
|
97
110
|
setLocation,
|
|
98
|
-
stations,
|
|
99
111
|
visible
|
|
100
112
|
}: Props): JSX.Element => {
|
|
101
113
|
const { current: map } = useMap();
|
|
102
114
|
const [zoom, setZoom] = useState(map?.getZoom());
|
|
103
115
|
|
|
104
116
|
const layerId = `rental-vehicles-${id}`;
|
|
105
|
-
const [clickedVehicle, setClickedVehicle] = useState
|
|
117
|
+
const [clickedVehicle, setClickedVehicle] = useState<
|
|
118
|
+
RentalVehicle | VehicleRentalStation | undefined
|
|
119
|
+
>();
|
|
106
120
|
|
|
107
121
|
useEffect(() => {
|
|
108
122
|
// TODO: Make 30s configurable?
|
|
@@ -115,52 +129,71 @@ const VehicleRentalOverlay = ({
|
|
|
115
129
|
}, [refreshVehicles]);
|
|
116
130
|
|
|
117
131
|
useEffect(() => {
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
132
|
+
const mouseEnterFunc = () => {
|
|
133
|
+
map.getCanvas().style.cursor = "pointer";
|
|
134
|
+
};
|
|
135
|
+
const mouseLeaveFunc = () => {
|
|
136
|
+
map.getCanvas().style.cursor = "";
|
|
137
|
+
};
|
|
138
|
+
const clickFunc = event => {
|
|
139
|
+
const p = event.features?.[0].properties;
|
|
140
|
+
setClickedVehicle({
|
|
141
|
+
...p,
|
|
142
|
+
// the properties field of the GeoJSON Feature object serializes these
|
|
143
|
+
// two objects into JSON strings, so we need to parse them back into objects
|
|
144
|
+
availableSpaces: JSON.parse(p?.availableSpaces),
|
|
145
|
+
availableVehicles: JSON.parse(p?.availableVehicles)
|
|
146
|
+
} as RentalVehicle | VehicleRentalStation);
|
|
147
|
+
};
|
|
148
|
+
const zoomFunc = e => {
|
|
131
149
|
// Avoid too many re-renders by only updating state if we are a whole number value different
|
|
132
150
|
const { zoom: newZoom } = e.viewState;
|
|
133
151
|
if (Math.floor(zoom / 2) !== Math.floor(newZoom / 2)) {
|
|
134
152
|
setZoom(newZoom);
|
|
135
153
|
}
|
|
136
|
-
}
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
map?.on("mouseenter", layerId, mouseEnterFunc);
|
|
157
|
+
map?.on("mouseleave", layerId, mouseLeaveFunc);
|
|
158
|
+
map?.on("click", layerId, clickFunc);
|
|
159
|
+
map?.on("zoom", zoomFunc);
|
|
160
|
+
|
|
161
|
+
return () => {
|
|
162
|
+
map?.off("mouseenter", layerId, mouseEnterFunc);
|
|
163
|
+
map?.off("mouseleave", layerId, mouseLeaveFunc);
|
|
164
|
+
map?.off("click", layerId, clickFunc);
|
|
165
|
+
map?.off("zoom", zoomFunc);
|
|
166
|
+
};
|
|
137
167
|
}, [map]);
|
|
138
168
|
|
|
139
169
|
// Don't render if no map or no stops are defined.
|
|
140
|
-
if (visible === false || !
|
|
170
|
+
if (visible === false || !entities || entities.length === 0) {
|
|
141
171
|
// Null can't be returned here -- react-map-gl dislikes null values as children
|
|
142
172
|
return <></>;
|
|
143
173
|
}
|
|
144
174
|
|
|
145
|
-
const vehiclesGeoJSON: GeoJSON.FeatureCollection
|
|
175
|
+
const vehiclesGeoJSON: GeoJSON.FeatureCollection<
|
|
176
|
+
Geometry,
|
|
177
|
+
VehicleRentalStation | RentalVehicle
|
|
178
|
+
> = {
|
|
146
179
|
type: "FeatureCollection",
|
|
147
|
-
features:
|
|
180
|
+
features: entities
|
|
181
|
+
.filter(entity => !!entity)
|
|
148
182
|
.filter(
|
|
149
|
-
|
|
183
|
+
entity =>
|
|
150
184
|
// Include specified companies only if companies is specified and network info is available
|
|
151
185
|
!companies ||
|
|
152
|
-
!
|
|
153
|
-
companies.includes(
|
|
186
|
+
!entity.rentalNetwork.networkId ||
|
|
187
|
+
companies.includes(entity.rentalNetwork.networkId)
|
|
154
188
|
)
|
|
155
|
-
.map(
|
|
189
|
+
.map(entity => ({
|
|
156
190
|
type: "Feature",
|
|
157
|
-
geometry: { type: "Point", coordinates: [
|
|
191
|
+
geometry: { type: "Point", coordinates: [entity.lon, entity.lat] },
|
|
158
192
|
properties: {
|
|
159
|
-
...
|
|
160
|
-
networks:
|
|
161
|
-
"stroke-width":
|
|
162
|
-
|
|
163
|
-
color: getColorForStation(vehicle)
|
|
193
|
+
...entity,
|
|
194
|
+
networks: entity.rentalNetwork.networkId,
|
|
195
|
+
"stroke-width": entityIsStation(entity) ? 1 : 2,
|
|
196
|
+
color: getColorForEntity(entity)
|
|
164
197
|
}
|
|
165
198
|
}))
|
|
166
199
|
};
|
|
@@ -183,47 +216,50 @@ const VehicleRentalOverlay = ({
|
|
|
183
216
|
</Source>
|
|
184
217
|
)}
|
|
185
218
|
{zoom >= DETAILED_MARKER_CUTOFF &&
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
setLocation
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
219
|
+
entities
|
|
220
|
+
.filter(entity => !!entity)
|
|
221
|
+
.map(entity => (
|
|
222
|
+
<MarkerWithPopup
|
|
223
|
+
key={entity.id}
|
|
224
|
+
popupContents={
|
|
225
|
+
<StationPopup
|
|
226
|
+
configCompanies={configCompanies}
|
|
227
|
+
setLocation={location => {
|
|
228
|
+
setClickedVehicle(undefined);
|
|
229
|
+
setLocation(location);
|
|
230
|
+
}}
|
|
231
|
+
getEntityName={
|
|
232
|
+
// @ts-expect-error no stop support. Avoid a breaking change
|
|
233
|
+
getStationName && ((s, cc) => getStationName(cc, s))
|
|
234
|
+
}
|
|
235
|
+
entity={entity}
|
|
236
|
+
/>
|
|
237
|
+
}
|
|
238
|
+
position={[entity.lat, entity.lon]}
|
|
239
|
+
>
|
|
240
|
+
{entityIsStation(entity) &&
|
|
241
|
+
entity.availableSpaces !== undefined &&
|
|
242
|
+
entity.availableVehicles !== undefined &&
|
|
243
|
+
entity.availableVehicles.total > 0 ? (
|
|
244
|
+
<BaseBikeRentalIcon
|
|
245
|
+
percent={
|
|
246
|
+
entity?.availableVehicles.total /
|
|
247
|
+
(entity?.availableVehicles.total +
|
|
248
|
+
entity?.availableSpaces.total)
|
|
249
|
+
}
|
|
250
|
+
/>
|
|
251
|
+
) : (
|
|
252
|
+
<StationMarker width={12} color={getColorForEntity(entity)} />
|
|
253
|
+
)}
|
|
254
|
+
</MarkerWithPopup>
|
|
255
|
+
))}
|
|
220
256
|
{clickedVehicle && (
|
|
221
257
|
<Popup
|
|
222
|
-
latitude={clickedVehicle.
|
|
223
|
-
longitude={clickedVehicle.
|
|
258
|
+
latitude={clickedVehicle.lat}
|
|
259
|
+
longitude={clickedVehicle.lon}
|
|
224
260
|
maxWidth="100%"
|
|
225
261
|
onClose={() => {
|
|
226
|
-
setClickedVehicle(
|
|
262
|
+
setClickedVehicle(undefined);
|
|
227
263
|
}}
|
|
228
264
|
>
|
|
229
265
|
<StationPopup
|
|
@@ -233,13 +269,10 @@ const VehicleRentalOverlay = ({
|
|
|
233
269
|
getStationName && ((s, cc) => getStationName(cc, s))
|
|
234
270
|
}
|
|
235
271
|
setLocation={location => {
|
|
236
|
-
setClickedVehicle(
|
|
272
|
+
setClickedVehicle(undefined);
|
|
237
273
|
setLocation(location);
|
|
238
274
|
}}
|
|
239
|
-
entity={
|
|
240
|
-
...clickedVehicle,
|
|
241
|
-
networks: JSON.parse(clickedVehicle.networks)
|
|
242
|
-
}}
|
|
275
|
+
entity={clickedVehicle}
|
|
243
276
|
/>
|
|
244
277
|
</Popup>
|
|
245
278
|
)}
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.d.ts","../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@types/react/ts5.0/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/react/ts5.0/index.d.ts","../../node_modules/@types/mapbox__point-geometry/index.d.ts","../../node_modules/@mapbox/tiny-sdf/index.d.ts","../../node_modules/@types/pbf/index.d.ts","../../node_modules/@types/geojson/index.d.ts","../../node_modules/@types/mapbox__vector-tile/index.d.ts","../../node_modules/@maplibre/maplibre-gl-style-spec/dist/index.d.ts","../../node_modules/@types/geojson-vt/index.d.ts","../../node_modules/gl-matrix/index.d.ts","../../node_modules/kdbush/index.d.ts","../../node_modules/potpack/index.d.ts","../../node_modules/@types/supercluster/index.d.ts","../../node_modules/maplibre-gl/dist/maplibre-gl.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/types/common.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/types/style-spec.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/types/lib.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/types/events.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/maplibre/maplibre.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/maplibre/create-ref.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/utils/set-globals.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/map.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/marker.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/popup.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/attribution-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/fullscreen-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/geolocate-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/navigation-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/scale-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/terrain-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/logo-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/source.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/layer.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/use-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/use-map.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/index.d.ts","../../node_modules/react-map-gl/dist/maplibre.d.ts","../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../node_modules/@types/styled-components/index.d.ts","../base-map/lib/styled.d.ts","../base-map/lib/util.d.ts","../base-map/lib/MarkerWithPopup.d.ts","../base-map/lib/index.d.ts","../../node_modules/@formatjs/ecma402-abstract/CanonicalizeLocaleList.d.ts","../../node_modules/@formatjs/ecma402-abstract/CanonicalizeTimeZoneName.d.ts","../../node_modules/@formatjs/ecma402-abstract/CoerceOptionsToObject.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetNumberOption.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetOption.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetOptionsObject.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetStringOrBooleanOption.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsSanctionedSimpleUnitIdentifier.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsValidTimeZoneName.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsWellFormedCurrencyCode.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsWellFormedUnitIdentifier.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/core.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/plural-rules.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/number.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ApplyUnsignedRoundingMode.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/CollapseNumberRange.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ComputeExponent.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ComputeExponentForMagnitude.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/CurrencyDigits.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/format_to_parts.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatApproximately.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericRange.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericRangeToParts.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericToParts.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericToString.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/GetUnsignedRoundingMode.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/InitializeNumberFormat.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/PartitionNumberPattern.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/PartitionNumberRangePattern.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/SetNumberFormatDigitOptions.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/SetNumberFormatUnitOptions.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ToRawFixed.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ToRawPrecision.d.ts","../../node_modules/@formatjs/ecma402-abstract/PartitionPattern.d.ts","../../node_modules/@formatjs/ecma402-abstract/SupportedLocales.d.ts","../../node_modules/@formatjs/ecma402-abstract/utils.d.ts","../../node_modules/@formatjs/ecma402-abstract/262.d.ts","../../node_modules/@formatjs/ecma402-abstract/data.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/date-time.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/displaynames.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/list.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/relative-time.d.ts","../../node_modules/@formatjs/ecma402-abstract/index.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/node_modules/@formatjs/icu-skeleton-parser/date-time.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/node_modules/@formatjs/icu-skeleton-parser/number.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/node_modules/@formatjs/icu-skeleton-parser/index.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/types.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/error.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/parser.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/index.d.ts","../../node_modules/@formatjs/intl-displaynames/index.d.ts","../../node_modules/@formatjs/intl-listformat/index.d.ts","../../node_modules/intl-messageformat/src/formatters.d.ts","../../node_modules/intl-messageformat/src/core.d.ts","../../node_modules/intl-messageformat/src/error.d.ts","../../node_modules/intl-messageformat/index.d.ts","../../node_modules/@formatjs/intl/src/error.d.ts","../../node_modules/@formatjs/intl/src/utils.d.ts","../../node_modules/@formatjs/intl/src/types.d.ts","../../node_modules/@formatjs/intl/src/message.d.ts","../../node_modules/@formatjs/intl/src/dateTime.d.ts","../../node_modules/@formatjs/intl/src/displayName.d.ts","../../node_modules/@formatjs/intl/src/list.d.ts","../../node_modules/@formatjs/intl/src/plural.d.ts","../../node_modules/@formatjs/intl/src/relativeTime.d.ts","../../node_modules/@formatjs/intl/src/number.d.ts","../../node_modules/@formatjs/intl/src/create-intl.d.ts","../../node_modules/@formatjs/intl/index.d.ts","../../node_modules/react-intl/src/utils.d.ts","../../node_modules/react-intl/src/types.d.ts","../../node_modules/react-intl/src/components/injectIntl.d.ts","../../node_modules/react-intl/src/components/useIntl.d.ts","../../node_modules/react-intl/src/components/provider.d.ts","../../node_modules/react-intl/src/components/createIntl.d.ts","../../node_modules/react-intl/src/components/relative.d.ts","../../node_modules/react-intl/src/components/plural.d.ts","../../node_modules/react-intl/src/components/message.d.ts","../../node_modules/react-intl/src/components/dateTimeRange.d.ts","../../node_modules/react-intl/src/components/createFormattedComponent.d.ts","../../node_modules/react-intl/index.d.ts","../../node_modules/@styled-icons/styled-icon/index.d.ts","../types/lib/deprecated.d.ts","../types/lib/index.d.ts","../map-popup/lib/util.d.ts","../map-popup/lib/index.d.ts","../../node_modules/@styled-icons/fa-solid/MapMarkerAlt/MapMarkerAlt.d.ts","./src/styled.ts","./src/index.tsx","../../node_modules/@types/aria-query/index.d.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/deep-eql/index.d.ts","../../node_modules/@types/chai/index.d.ts","../../node_modules/@types/cookie/index.d.ts","../../node_modules/@types/doctrine/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/flat/index.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostic_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/util/types.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/ts3.6/base.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/base.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/fs-extra/index.d.ts","../../node_modules/@types/glob/node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/json-stable-stringify/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/junit-report-builder/index.d.ts","../../node_modules/@types/mdx/types.d.ts","../../node_modules/@types/mdx/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/statuses/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/unist/index.d.ts","../../node_modules/@types/vfile/node_modules/@types/unist/index.d.ts","../../node_modules/vfile-message/lib/index.d.ts","../../node_modules/vfile-message/index.d.ts","../../node_modules/@types/vfile/index.d.ts","../../node_modules/@types/wait-on/index.d.ts","../../node_modules/@types/ws/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":["2dc8c927c9c162a773c6bb3cdc4f3286c23f10eedc67414028f9cb5951610f60",{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"36a2e4c9a67439aca5f91bb304611d5ae6e20d420503e96c230cf8fcdc948d94","affectsGlobalScope":true},"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","ed6b820c54de95b2510bb673490d61c7f2187f532a339d8d04981645a918961f",{"version":"759efc21a5ff1954e060fa54ddb4a739132b090a43ef9ee6fd63c7838bb07743","affectsGlobalScope":true},"ae4cda96b058f20db053c1f57e51257d1cffff9c0880326d2b8129ade5363402","bc8b2489bf29fa17cf4e7d5a4447daa456d7caf61455f50aafc34f1f3b915727","12115a2a03125cb3f600e80e7f43ef57f71a2951bb6e60695fb00ac8e12b27f3","d30e67059f5c545c5f8f0cc328a36d2e03b8c4a091b4301bc1d6afb2b1491a3a","02f7c65c690af708e9da6b09698c86d34b6b39a05acd8288a079859d920aea9f","15cd42c991de935a1c27255259f1510d65e269bbf442b46290405fccfac7e6b9","37550007de426cbbb418582008deae1a508935eaebbd4d41e22805ad3b485ad4","6b729c3274f6d4738fe470109bcb08b09ef98a6b356c01da3ca8dc0996b4458b","4dbf094f9d643b74e516779a802d9c5debd2929fb875ccfbc608d61afba064e4","828ea2cf5792eba68ebd41d6dd17ac67d31622b7889965210f8fa50a6eb29eba","e3913b35c221b4468658743d6496b83323c895f8e5b566c48d8844c01bf24738","fddc63640fde952128533546ae74554c939f442d2444acca02092123359985da","6b58befa886506f252c9ad95f4ebe98f60a1a450df61bb1bedfd4d9906aec860","36434890d6b5a8e9f855e98cac94466cfa20234bf85e3ddd362974b0e27cb483","8860efd63845e803145954bc4075492597211691025425ab472beb474c700a9d","b17815f8aea293ed376c1eca722b101feb92f6cbd4279d67773c42ae2fbf4577","1b03adc06975a746acf8110899fe2913b1b02e6a3171925235969ba5c1b3ee18","f2132116de8cba14e651b4c1969da78d09dc5df34b82ff48bc3da3433af52757","c0e656085898760b50a016b4c9164525793f183692b54243531bcf025679d2a8","252426bab92917b3856b401d66f598c501a56b333461a247b8147fccb7d6a00c","055c1bb2a6959dfc4d68dcc77b60efeb36ff33f5c92bba7c4a32defa24342d00","214658ab628b97feea91b502d4c80ca9db967d96c333bf9bbe95170573713301","63cf4f7d0203f14599fb073c3c23629a8673b23121d740f67f29055b5bcfea84","a4391410087fbf885789a53b5c8f3f82632d37657c2a6f97016e9108dfba1afd","d6bfa8ad8882343c85cdf4412f5c8f9520a2fe93705c5c7018944f7f1324a386","91f0a8a985bc17b8a6d810c7f44c52c763753825f4a060543a9bc74e37f9e20a","f2e9f87f7e8214d35777ab815d79746fc81a02a5437a8c540ce3603736bde411","024bcf6f9df0694d3a2af9c14b790e4f9ebc333b8669e93dca97f6a6c36943ce","a44c8f4b131110336fcbe5b0b0eae8611d4853f4a435c493456caf9b5d59a8a1","2a384b586ea99e91b5a77f42ec220907c6b7ef601b0f5099c3bce536502a1729","70ace4d4db6dfa1fc6957204063a8f7cc65b92e8f30b8f0e51f3caf8e3d0f880","d99dc8d21c594488cb596d58a57ceb2c2536ccd9147e4c1df22fa2fa19360a8b","49b2773f7280655250e197718bf71feb7364163997ab5a47f23406cd558401c9","5c9110dbe0529c1dc691fdb7f8bc34f22f1f4be15338e69c36b8322731e8c883","13c3a6f8331bf248134563a703f6abbf9e51269657dc17d587cf269a0e3ec740","a7ca2a9e61286d74bc37fe64e5dcd7da04607f7f5432f7c651b47b573fc76cef",{"version":"cfb95dbcdee02402fb9373c62ec4ba735b5479e5d879f39e7c23fe1d58186e31","affectsGlobalScope":true},"be2be3f19b8e69e495b04d45d4d5bbfb2190fe6a505bd07a8870357f092485c1","a2fcd8d08ff6c404a6b3f9559296a0851c21a24a84896ffce7e64ec7b0839351","e674daba20d22ed76b226c7f7a310caca3c76644ebc17a7fcacb50a4062d0461","21c0391321d08d829ccc886ddbb17160f87971ef98136a1b423c4ccb9ed0cdad","5553ec84902a9280bd308cc08f89ac269358e32d1abcc7affce7afa97c0bdf10","b3b5aca751100320745c8bfd826202aed7d753d336448ce2265b9470dfa8a298","5fa35c6051059d5ed57cbda5479b593cec15d5405229542042bd583c1e680fb4","7df3932c1b8816845e1774538c4e921e196d396b3419e2e18bc973079b4064a3","c8a7131a27d7892f009ab03d78dc113582f819c429af2064280bec83c2e7c599","19629032a378771a07e93c0ab8253b92cb83e786446f1c0aed01d8f9b96a3fb6","fd4b51f120103d53cc03eea9d98d6a1c7e6c07f04847c0658ec925ceeb7667aa","58c888d748e2ff881fd982418b1300c48a70ccce7cbb19a4cde96803568442aa","e2ce339ecc8f65810eda93bb801eb9278f616b653f5974135908df2c30acc5ae","234058398306e26bc917e6efba8fb26c9d9f2cfdfbaa17abfcb11138847de081","b3ff9aff54c18834bce9690184e69fd44fd5d57273a98a47fbf518b68cc4ec60","3dc40ead9c5ac3f164af434069561d6c660e64f77c71ab6ad405c5edc0724a94","d5fb34e3200ce13445c603012c0dfbd116317f8d5fef294e11f49d00a859a3d0","e99f9d98cce8c8da7aa758082e85cd1e70d8dd532fde81c6785e84c8cf5fdad2","2b9b9439e14a149725fb30e18f3f7e8ad26a0d9d73e19bd910ce5e8f21ad2bd5","06f11be517a9c2e289816cff4bac1d9d9ac3c97466742d63000c84ae1e985bfc","809408517138da4f6ec9fbcdcb2b9b54b97aa424edf0280aa02c45e9f3c189b1","8792e694ead2744ed55a58278d7be72c8f888105191e141581c104c4fb5db6ef","83dc862cd9b7b1a929bcc03e9bbc8690cebc7e29b1edfa263f6fd11b737f19df","63b8ffbc6d2e991814513c1804ecdb1c36377181e5c73fc2878fe0c8e8a251e5","796eb04b5d7cb757528f82c9dcf577dce94e52e3f0e85fb52660e5d90f901747","88bef19ad6180f851cbdc83e7b66d174776684ac241d744414b5f6001a54af88","2bb1f2558cfb924e36078a20c49dacdfeab742577ef0b13b42235481528db214","7106fee62156a05165e304aab553e3b00efa41fb3b051ad49e6523c5be19f9b4","e14b87f5261ec377a0d228c2e517069c9324059b83412e3b506029c239ca25aa","8b3de2f727cfd97055765350c2e4d50ea322cabb517ff7aa3fa0ad74aab4826e","b3e584a57553f573aa01b34bf0d08c4dfefb2b9ede471c70d85207131f0f742f","7682cb36c583dae007ccd22801ba4d15753400fa311b49e69946980550c3e952","0b9507754d974bcf9812c30e585b21953561f093692e2955334c93334e612919","6fb23beb59f1f5c8dc97bfc012d5edac81ffca1c1b83a91381b4e130e7ce24f3","46410e3c36bc44cfcb49fdc9790a7c3364f19d34e886a29ee99cec122a15d660","8d715bbe7ec487a5342ec26eef35edb55b8bd8cd9d274579f261b0b8fde1f5b2","db94113d7370b57e8055ca948d33cff465aa0501cace6eff5e3680c649273486","b4d286a3c858e8fb00c4f5da6928a09cb6f8143aa35f15c96354ab07b6f78508","c7e7d48913bfa205453911f699307e7ce630deb3c3e68326377bc2ba20abb1f9","8eddfcd5cb5733f02253c99d43a2a5bbdc4d0e3b9049e217550daf65e7f87673","a895000984a09ea36eaa5c0ff99a19bc0fb9ecf9cf6fa9e2124d484e8190ee7d","50c0c2b5e76e48e1168355e3622ca22e939c09867e3deb9b7a260d5f4e8d890c","66491ea35e30cc8c11169e5580aef31e30fdf20b39bc22e0847c2c7994e2071b","35680fb7f25a165e31e93ea22d106220db4450b1270a135b73f731b66b3d4539","5865007a5331be0842d8f0aace163deda0a0672e95389fe6f87b61988478a626","dddc865f251a4993b9e23494a9ae0fb58997e0941b1ec774490a272d5a0b29bd","ca74f50c5248846439c8cc6004732cf317a79f2a0bc620eed48325d47cf0884e","69055f4f0b1b2df9f0ca89231075c0578975518543100582dd37adb956ad6135","c3f85a0f71b64d78e7dfb27a12d10b0cd621745f40752b8e9fa61a7099d4290e","0b4b2424b5d19bbac7e7ad9366419746fff0f70001c1867b04440d0031b26991","1e9bcdcb2ee81b6155cb057d50574a5aeb77f22ee850d5feb9a999f81de866c6","4fd695c068c325f2eb6effd7a2ed607d04f4ed24b1f7cc006b8325b3eb5bd595","c18fb9b8d4a7f41ae537512368ec9028d50b17e33e26c99f864912824b6e8c30","4848996aa26a40d53c0c716fb90135a20002c3be2404cf3efe593bc57980c9b2","c83d0532a6b98692f7b813e47bf947234b7c08ff71aa79c9fceca0bc25f384a0","4cc69dd73cd6d15a3e29d7b70d8d260a00730520b794877bdc413dcb1426ba51",{"version":"9b923be7ef4337bbddbd1713b13cf81da9a955034bdf657bb9e60a8fc9b20ac5","affectsGlobalScope":true},"527668d62da5909154a74b74a7a9ae59c41ab4a70da76c2f476765308efafb0f","e2974b2b0a7ba6384f5f3338d2a6a70170c3002112d6e05ce593d966100bf232","cc3738598b5fe875e341f701824403b3cac48c50472c72423d3e236b610fa977","e61390bd34b952574db348b6b399710dc706c1829b29b3d78a3dc52835b73db2","fa907e289e14db7411c016ea26f920e55bb0f553083c869c95324f1a35bc1698",{"version":"f3d4832946cc7db227be5aeede016cde5e707acd0651c5772f60b7f862069f67","affectsGlobalScope":true},"3470144710c64f8282734aa427b82ff1c3b03547fab690d68c697e70715517e2","636f98efa207c4dd7d01e1698a1976f9e89bd5ed8c7ed925bffe709a53187141","152e72f7d7a91292c7282afbe88c86405476d74158a0b5da92e89aa6bfc43ba8","770da6922f57bcb7eb60e2ec7faead09f4124255d4d1cbf1746c786902a57600","ab4bc5a436210dfcfae18313f921deb927adb887e4d13a9c3a9f9af45c0915a2","5a87de34be3b62ad64863f14717aafb27b46eb884389980bff94319c64e216bf","5df7093c87d02065631fb161bb2d9ad12fd1ef18c0900d1cb6148f8fc4ba2059","110d5c25cd9c93f8730abbb46957c7ead0db75a518fc4649d90737f1b40edcc3","4ea44a1033eda5507f03095ec653729a8eb0265b76a22bde944fe75df37a6e32","b0c76b189a761339dd02fdb46d82a65ab915bb8851648fb43ce3666f41aedc26","e93d0e421acdb5882ae8cb0f15d72c78a6b6dacb3cac7cb1f91fb6033888f7a7",{"version":"35d438eefa0cd19aa5540e1d58a82184fcbe2aa6c9b776b1bacdee9b2f9f92b9","affectsGlobalScope":true},"a4dbbdf9491458ba5e0fec7227bade5a29e5b798672f855f24416351dfc5f66e","de8fd2788531d14db839cef97c79d27fedc408d118a4f9d9eb097a223c0d7f8e","45029fec2f3cf2bbb76c65203c8dca7067cb38150edb6e581cfc5cdd1056d3e6","fa330f5cd204e82da20e36c14114a990ad780034d9ff75362a7291d6246047ac","6a29950763865b4648f98ebbeb3ba5bc2d73a97b4c2b7e0da2a14a1eda921f31","d79508e876a427a5d2ab558259b6acf76cfc487670c2df78500fcfda65e82f55","2a3dd4f552ced304c2cecaef5cc13e5e18e7180cc9f56f1c58606b8631000a54","19569a1aaa42c0225c80c21de7e1e21d73571a85ff1e11fbf20efe540adfdd82","310c010fccf6731220b9222f7cea907449332eadb96e794c1f82ffe87fb3da0f","aeefb8cfc3e4a7541b67cc5c97ea2eed6c63099efe60d759521ca2353e3fa46f","057ecff22fc137b73b0d58a1330ab11d6cbb99ddda46aaf3ec2c95dbf6335002","a345bda565ea393eb9f9172acfdd75ec6b19d3860f9ca727f6ed9ea939b076db","c9c754f5bda6de9830962343dd5f147f900abb7629d64da77845430902c4e46d","8a785004ab3369c4667476892028413d8df6c95d5686951c5bfdeee1e40748db","6cb04fc9b712ac80f0335152d94bbe40ef582d77de95ccb565febf6d6983e10e",{"version":"a1a48647b173dc4b7c7c585079051565e467ae4f9068fb0b7d49ce01806c1f49","signature":"c9f756c893f5e6a27442e40934f589976ad07e2ec037960dd42e53766d6edb4f"},{"version":"a9c8565deeb1c3d0a331d5c59c14160a0cae4d328ada71554fda096fd041ef3b","signature":"6ecfa765875098b7b7c2ea122996f797c3c4e3c4b1282607e2367118e3c4cd9a"},"ae77d81a5541a8abb938a0efedf9ac4bea36fb3a24cc28cfa11c598863aba571","7468ce3ef8243a51ee69aeb3b050f01f34c1e84cd4766fedd1b3594c03e30bbe","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","82e5a50e17833a10eb091923b7e429dc846d42f1c6161eb6beeb964288d98a15","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9e0cf651e8e2c5b9bebbabdff2f7c6f8cedd91b1d9afcc0a854cdff053a88f1b","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99",{"version":"c8905dbea83f3220676a669366cd8c1acef56af4d9d72a8b2241b1d044bb4302","affectsGlobalScope":true},"1748c03e7a7d118f7f6648c709507971eb0d416f489958492c5ae625de445184","6382638cfd6a8f05ac8277689de17ba4cd46f8aacefd254a993a53fde9ddc797","151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","738d6242ee5ebcada2f55ec63f16c0128c2324124df9d4280bf5af6ce5e3d30e","c7bdc99177a2a94d25fb13722adaaf5b3291bf70b4d1b27584ba189dd3889ba3",{"version":"d1c92b66c4105659fcad4eb76a1481f7311033e117d0678a1ec545e8ddb8d4c6","affectsGlobalScope":true},"e23424b97418eca3226fd24de079f1203eb70360622e4e093af2aff14d4be6ec","dee93c07b4df5e26010dc9ec4cdf4d6e4076bb4474d2a8371529217c8b2740a4","ed40f2f184db052dc8df62d1f199823c8bbccc487c0a2a7c54eeea0badcf4378","04eaa93bd75f937f9184dcb95a7983800c5770cf8ddd8ac0f3734dc02f5b20ef",{"version":"c8155caf28fc7b0a564156a5df28ad8a844a3bd32d331d148d8f3ce88025c870","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","dfc747ab8dd5f623055a4c26fd35e8cceca869fd3f1cf09701c941ca3679665a","c9f5f2920ff61d7158417b8440d5181ddc34a3dfef811a5677dd8a9fb91471e9","5cc0a492da3602510b8f5ed1852b1e0390002780d8758fbc8c0cd023ca7085f8","ec7dafafe751a5121f8f1c80201ebe7e7238c47e6329280a73c4d1ca4bb7fa28","64debeb10e4b7ae4ec9e89bfb4e04c6101ab98c3cc806d14e5488607cfec2753",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"a5782d6cea81fe43d2db7ed41e789458c933ab3ab60602f7b5b14c4da3370496","affectsGlobalScope":true},"f258ba66915f0196ec344bc53afe1888240bbcc855ebd151b6cc072275533319","6194335ee3353f7226ba31f31d6301d0c6be87228419c0a08976ccd9d4f1213e","3ac12a54cfaa84683506db8d4cf779135a271d9f0ec18930cf53e61fbeea0c5d","cf3d3b087d1a8a3355eec47d206162c75e912315b9b5c1cd49fda93e948fb80a","36f316c066c4a72dd6f19fec49a074f935744fc9ccbe75c87ebc07fb2feb9062","42176966283d3835c34278b9b5c0f470d484c0c0c6a55c20a2c916a1ce69b6e8","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","ec70fd6f8a9a83f850dab2960a6789e93d5b034b354a16814cad5daabf62a360","e2236264a811ed1d09a2487a433e8f5216ae62378cf233954ae220cf886f6717","3ec1e108d587a5661ec790db607f482605ba9f3830e118ce578e3ffa3c42e22b","100b3bb9d39d2b1b5340f1bf45a52e94ef1692b45232b4ba00fac5c3cc56d331",{"version":"04fe7e7d8008887943260af1fde2bfd4877e0dc57bf634e0f0b2f3d1794dfd11","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","992c6f6be16c0a1d2eec13ece33adeea2c747ba27fcd078353a8f4bb5b4fea58","2597718d91e306949d89e285bf34c44192014ef541c3bd7cbb825c022749e974","a6b0abdb67d63ebe964ba5fee31bc3daf10c12eecd46b24d778426010c04c67e","ac4801ebc2355ba32329070123b1cd15891bf71b41dcaf9e75b4744832126a59","fd2298fba0640e7295e7bd545e2dfbfcccbb00c27019e501c87965a02bbdebf6","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","71ddd49185b68f27bfac127ef5d22cb2672c278e53e5370d9020ef50ca9c377d","b1ea7a6eaa7608e0e0529aebd323b526a79c6c05a4e519ae5c779675004dcdf1","9fcb033a6208485d8f3fadde31eb5cbcaf99149cff3e40c0dc53ebc6d0dff4e9","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","dcc6910d95a3625fd2b0487fda055988e46ab46c357a1b3618c27b4a8dd739c9","f4149f1aa299474c7040a35fe8f8ac2ad078cc1b190415adc1fff3ed52d490ea","3730099ed008776216268a97771de31753ef71e0a7d0ec650f588cba2a06ce44","8d649dbc429d7139a1d9a14ea2bf8af1dc089e0a879447539587463d4b6c248c","60c9e27816ec8ac8df7240598bb086e95b47edfb454c5cbf4003c812e0ed6e39","e361aecf17fc4034b4c122a1564471cdcd22ef3a51407803cb5a5fc020c04d02","4926467de88a92a4fc9971d8c6f21b91eca1c0e7fc2a46cc4638ab9440c73875",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"fc0ae4a8ad3c762b96f9d2c3700cb879a373458cb0bf3175478e3b4f85f7ef2f","fabbec378e1ddd86fcf2662e716c2b8318acedb664ee3a4cba6f9e8ee8269cf1","b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","efd55e8ca79171bf26c0d0e30221cb8ee1f5a31dd0c791ec4b2e886f42bab124","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","d6c7f76b8c7fecd5d75e3effd77a8593a13105e96c6dc09aaef4308fbb769560","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","54060f716fdbd7ac1008ac85256a400722332917837d1c0d6fdb7c9e8fa8b1cb","f8a6bb79327f4a6afc63d28624654522fc80f7536efa7a617ef48200b7a5f673","8e0733c50eaac49b4e84954106acc144ec1a8019922d6afcde3762523a3634af","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","5aca5a3bc07d2e16b6824a76c30378d6fb1b92e915d854315e1d1bd2d00974c9","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","1f4ae755492a669b317903a6b1664cb7af3fe0c3d1eec6447f4e95a80616d15a","03c258e060b7da220973f84b89615e4e9850e9b5d30b3a8e4840b3e3268ae8eb","89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","6d09838b65c3c780513878793fc394ae29b8595d9e4729246d14ce69abc71140","5c5d901a999dfe64746ef4244618ae0628ac8afdb07975e3d5ed66e33c767ed0","85d08536e6cd9787f82261674e7d566421a84d286679db1503432a6ccf9e9625","6f56706c6828d0299f46f8b1a79ecae0757b91b48e63baf6f0c5292d02037129","2667c74200427135a2ff0a5f4f7cb6044bf483318a5c30e5d9eccdbfe372a529","9a2eaab4e54953c6b2ba21f7ac4c2593859da03917011c10a2acd8864e38e7b2","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7"],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"jsx":2,"module":1,"noEmitOnError":false,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"target":1},"fileIdsList":[[167],[91],[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119],[89],[89,90],[89,91],[124],[124,126],[121,122],[120],[124,125],[120,123],[134,135,136,137,138,139,140,141,142,143,144],[136],[120,136],[129,136],[127,133,136],[120,127,128,129,133,134,135],[158],[36,73],[167,168,169,170,171],[167,169],[173],[194,230],[40],[193,194,230,232],[36],[235],[236],[242,244],[238,239],[238,239,240,241],[243],[37,39,40],[250,251],[228],[227,228],[182,187],[193,194,201,210],[183,193,201],[219],[187,194,202],[210,215],[190,193,201],[191],[190],[193],[193,195,210,218],[193,194,210],[201,210,218],[193,194,196,201,210,215,218],[196,210,215,218],[229],[218],[190,193,210],[203],[181],[217],[208,219,222],[193,211],[210],[213],[187,201],[179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[201],[207],[220],[182,187,193,195,204,210,218,222],[33,34,35],[34,36,72],[230,260,262],[215,230],[193,196,198,210,215,218,224,230],[266],[36,51],[36,51,52],[50,51],[36,48,51,53,54,55,70],[50],[36,50,51],[51,56],[36,54],[49,50,51,52,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69],[51,53],[49,50,51,52],[48],[48,49],[130,131,132],[127,130],[120,127],[37,38,41,42,43,44,45,46,47],[36,120,127,128,129,133,145,147,148,149,150,151,152,153,154,155,156],[36,129,145,147],[36,145,147],[36,120,145],[36,147],[36,133,145],[36,145],[147],[36,145,146],[36,133,147],[70],[261],[259],[36,71],[36,48,71,73,74,75,76],[36,48,71,73],[48,71],[36,160,161],[157,160],[36,157,158,159],[36,71,77,160,162,164],[73,163],[160,162],[73,158]],"referencedMap":[[169,1],[92,2],[94,2],[95,2],[98,2],[99,2],[100,2],[101,2],[102,2],[103,2],[104,2],[105,2],[106,2],[107,2],[108,2],[109,2],[110,2],[97,2],[120,3],[117,4],[118,4],[91,5],[90,6],[119,5],[125,7],[127,8],[123,9],[122,10],[126,11],[124,12],[128,10],[129,10],[145,13],[144,14],[138,15],[139,14],[134,14],[140,16],[137,17],[143,14],[141,15],[142,14],[136,18],[135,15],[163,19],[158,20],[172,21],[168,1],[170,22],[171,1],[174,23],[231,24],[43,25],[233,26],[234,24],[72,27],[236,28],[237,29],[245,30],[240,31],[242,32],[241,31],[244,33],[41,34],[251,35],[179,36],[229,37],[182,38],[183,39],[184,40],[185,41],[186,42],[187,43],[188,44],[190,45],[191,46],[192,47],[193,47],[194,48],[195,49],[196,50],[197,51],[198,52],[230,53],[199,47],[200,54],[201,55],[203,56],[204,57],[205,58],[208,47],[209,59],[210,60],[211,61],[213,47],[214,62],[215,63],[227,64],[217,65],[218,66],[219,67],[221,61],[223,68],[224,61],[36,69],[73,70],[47,25],[263,71],[264,72],[265,73],[267,74],[59,75],[60,75],[61,76],[67,77],[65,75],[56,78],[57,76],[62,75],[58,76],[63,75],[66,79],[64,80],[68,81],[69,82],[70,83],[54,84],[53,85],[49,86],[52,87],[51,86],[50,86],[133,88],[131,89],[130,90],[48,91],[157,92],[156,93],[151,94],[155,95],[148,96],[154,97],[153,98],[150,94],[152,95],[149,99],[147,100],[146,101],[71,102],[262,103],[261,104],[76,105],[77,106],[74,107],[75,108],[162,109],[161,110],[159,27],[160,111],[165,112],[164,113]],"exportedModulesMap":[[169,1],[92,2],[94,2],[95,2],[98,2],[99,2],[100,2],[101,2],[102,2],[103,2],[104,2],[105,2],[106,2],[107,2],[108,2],[109,2],[110,2],[97,2],[120,3],[117,4],[118,4],[91,5],[90,6],[119,5],[125,7],[127,8],[123,9],[122,10],[126,11],[124,12],[128,10],[129,10],[145,13],[144,14],[138,15],[139,14],[134,14],[140,16],[137,17],[143,14],[141,15],[142,14],[136,18],[135,15],[163,19],[158,20],[172,21],[168,1],[170,22],[171,1],[174,23],[231,24],[43,25],[233,26],[234,24],[72,27],[236,28],[237,29],[245,30],[240,31],[242,32],[241,31],[244,33],[41,34],[251,35],[179,36],[229,37],[182,38],[183,39],[184,40],[185,41],[186,42],[187,43],[188,44],[190,45],[191,46],[192,47],[193,47],[194,48],[195,49],[196,50],[197,51],[198,52],[230,53],[199,47],[200,54],[201,55],[203,56],[204,57],[205,58],[208,47],[209,59],[210,60],[211,61],[213,47],[214,62],[215,63],[227,64],[217,65],[218,66],[219,67],[221,61],[223,68],[224,61],[36,69],[73,70],[47,25],[263,71],[264,72],[265,73],[267,74],[59,75],[60,75],[61,76],[67,77],[65,75],[56,78],[57,76],[62,75],[58,76],[63,75],[66,79],[64,80],[68,81],[69,82],[70,83],[54,84],[53,85],[49,86],[52,87],[51,86],[50,86],[133,88],[131,89],[130,90],[48,91],[157,92],[156,93],[151,94],[155,95],[148,96],[154,97],[153,98],[150,94],[152,95],[149,99],[147,100],[146,101],[71,102],[262,103],[261,104],[76,105],[77,106],[74,107],[75,108],[162,109],[161,110],[159,27],[160,111],[165,114],[164,115]],"semanticDiagnosticsPerFile":[169,167,114,78,79,80,81,82,83,84,85,86,87,88,92,93,94,95,96,98,99,100,101,102,103,104,105,106,107,108,109,110,97,111,112,115,120,89,116,117,118,91,90,119,113,125,127,121,123,122,126,124,128,129,145,144,138,139,134,140,137,143,141,142,136,135,38,42,163,158,166,172,168,170,171,174,175,173,176,177,178,231,43,40,233,232,234,72,235,236,237,245,238,240,242,241,239,244,243,246,247,248,249,37,41,251,250,252,253,228,179,181,229,182,183,184,185,186,187,188,189,190,191,192,193,194,195,180,225,196,197,198,230,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,227,217,218,219,220,221,222,226,223,224,254,39,35,33,36,255,256,257,73,47,258,259,263,260,264,265,266,267,59,60,61,67,65,56,57,62,58,63,66,64,68,69,70,54,53,49,52,51,50,55,34,44,133,131,132,130,45,48,46,157,156,151,155,148,154,153,150,152,149,147,146,71,1,7,11,10,3,12,13,14,15,16,17,18,19,4,5,23,20,21,22,24,25,26,6,27,28,29,30,31,2,32,9,8,262,261,76,77,74,75,162,161,159,160,165,164],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"4.9.5"}
|
|
1
|
+
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.d.ts","../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@types/react/ts5.0/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/react/ts5.0/index.d.ts","../../node_modules/@types/mapbox__point-geometry/index.d.ts","../../node_modules/@mapbox/tiny-sdf/index.d.ts","../../node_modules/@types/pbf/index.d.ts","../../node_modules/@types/geojson/index.d.ts","../../node_modules/@types/mapbox__vector-tile/index.d.ts","../../node_modules/@maplibre/maplibre-gl-style-spec/dist/index.d.ts","../../node_modules/@types/geojson-vt/index.d.ts","../../node_modules/gl-matrix/index.d.ts","../../node_modules/kdbush/index.d.ts","../../node_modules/potpack/index.d.ts","../../node_modules/@types/supercluster/index.d.ts","../../node_modules/maplibre-gl/dist/maplibre-gl.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/types/common.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/types/style-spec.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/types/lib.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/types/events.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/maplibre/maplibre.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/maplibre/create-ref.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/utils/set-globals.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/map.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/marker.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/popup.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/attribution-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/fullscreen-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/geolocate-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/navigation-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/scale-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/terrain-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/logo-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/source.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/layer.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/use-control.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/components/use-map.d.ts","../../node_modules/@vis.gl/react-maplibre/dist/index.d.ts","../../node_modules/react-map-gl/dist/maplibre.d.ts","../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../node_modules/@types/styled-components/index.d.ts","../base-map/lib/styled.d.ts","../base-map/lib/util.d.ts","../base-map/lib/MarkerWithPopup.d.ts","../base-map/lib/index.d.ts","../../node_modules/@formatjs/ecma402-abstract/CanonicalizeLocaleList.d.ts","../../node_modules/@formatjs/ecma402-abstract/CanonicalizeTimeZoneName.d.ts","../../node_modules/@formatjs/ecma402-abstract/CoerceOptionsToObject.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetNumberOption.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetOption.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetOptionsObject.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetStringOrBooleanOption.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsSanctionedSimpleUnitIdentifier.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsValidTimeZoneName.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsWellFormedCurrencyCode.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsWellFormedUnitIdentifier.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/core.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/plural-rules.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/number.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ApplyUnsignedRoundingMode.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/CollapseNumberRange.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ComputeExponent.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ComputeExponentForMagnitude.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/CurrencyDigits.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/format_to_parts.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatApproximately.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericRange.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericRangeToParts.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericToParts.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericToString.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/GetUnsignedRoundingMode.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/InitializeNumberFormat.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/PartitionNumberPattern.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/PartitionNumberRangePattern.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/SetNumberFormatDigitOptions.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/SetNumberFormatUnitOptions.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ToRawFixed.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ToRawPrecision.d.ts","../../node_modules/@formatjs/ecma402-abstract/PartitionPattern.d.ts","../../node_modules/@formatjs/ecma402-abstract/SupportedLocales.d.ts","../../node_modules/@formatjs/ecma402-abstract/utils.d.ts","../../node_modules/@formatjs/ecma402-abstract/262.d.ts","../../node_modules/@formatjs/ecma402-abstract/data.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/date-time.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/displaynames.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/list.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/relative-time.d.ts","../../node_modules/@formatjs/ecma402-abstract/index.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/node_modules/@formatjs/icu-skeleton-parser/date-time.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/node_modules/@formatjs/icu-skeleton-parser/number.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/node_modules/@formatjs/icu-skeleton-parser/index.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/types.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/error.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/parser.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/index.d.ts","../../node_modules/@formatjs/intl-displaynames/index.d.ts","../../node_modules/@formatjs/intl-listformat/index.d.ts","../../node_modules/intl-messageformat/src/formatters.d.ts","../../node_modules/intl-messageformat/src/core.d.ts","../../node_modules/intl-messageformat/src/error.d.ts","../../node_modules/intl-messageformat/index.d.ts","../../node_modules/@formatjs/intl/src/error.d.ts","../../node_modules/@formatjs/intl/src/utils.d.ts","../../node_modules/@formatjs/intl/src/types.d.ts","../../node_modules/@formatjs/intl/src/message.d.ts","../../node_modules/@formatjs/intl/src/dateTime.d.ts","../../node_modules/@formatjs/intl/src/displayName.d.ts","../../node_modules/@formatjs/intl/src/list.d.ts","../../node_modules/@formatjs/intl/src/plural.d.ts","../../node_modules/@formatjs/intl/src/relativeTime.d.ts","../../node_modules/@formatjs/intl/src/number.d.ts","../../node_modules/@formatjs/intl/src/create-intl.d.ts","../../node_modules/@formatjs/intl/index.d.ts","../../node_modules/react-intl/src/utils.d.ts","../../node_modules/react-intl/src/types.d.ts","../../node_modules/react-intl/src/components/injectIntl.d.ts","../../node_modules/react-intl/src/components/useIntl.d.ts","../../node_modules/react-intl/src/components/provider.d.ts","../../node_modules/react-intl/src/components/createIntl.d.ts","../../node_modules/react-intl/src/components/relative.d.ts","../../node_modules/react-intl/src/components/plural.d.ts","../../node_modules/react-intl/src/components/message.d.ts","../../node_modules/react-intl/src/components/dateTimeRange.d.ts","../../node_modules/react-intl/src/components/createFormattedComponent.d.ts","../../node_modules/react-intl/index.d.ts","../../node_modules/@styled-icons/styled-icon/index.d.ts","../types/lib/deprecated.d.ts","../types/lib/index.d.ts","../types/lib/otp2/rentalVehicleTypes.d.ts","../types/lib/otp2/index.d.ts","../map-popup/lib/util.d.ts","../map-popup/lib/index.d.ts","../../node_modules/@styled-icons/fa-solid/MapMarkerAlt/MapMarkerAlt.d.ts","./src/styled.ts","./src/index.tsx","../../node_modules/@types/aria-query/index.d.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/deep-eql/index.d.ts","../../node_modules/@types/chai/index.d.ts","../../node_modules/@types/cookie/index.d.ts","../../node_modules/@types/doctrine/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/flat/index.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostic_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/util/types.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/ts3.6/base.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/base.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/fs-extra/index.d.ts","../../node_modules/@types/glob/node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/json-stable-stringify/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/junit-report-builder/index.d.ts","../../node_modules/@types/mdx/types.d.ts","../../node_modules/@types/mdx/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/statuses/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/unist/index.d.ts","../../node_modules/@types/vfile/node_modules/@types/unist/index.d.ts","../../node_modules/vfile-message/lib/index.d.ts","../../node_modules/vfile-message/index.d.ts","../../node_modules/@types/vfile/index.d.ts","../../node_modules/@types/wait-on/index.d.ts","../../node_modules/@types/ws/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":["2dc8c927c9c162a773c6bb3cdc4f3286c23f10eedc67414028f9cb5951610f60",{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"36a2e4c9a67439aca5f91bb304611d5ae6e20d420503e96c230cf8fcdc948d94","affectsGlobalScope":true},"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","ed6b820c54de95b2510bb673490d61c7f2187f532a339d8d04981645a918961f",{"version":"759efc21a5ff1954e060fa54ddb4a739132b090a43ef9ee6fd63c7838bb07743","affectsGlobalScope":true},"ae4cda96b058f20db053c1f57e51257d1cffff9c0880326d2b8129ade5363402","bc8b2489bf29fa17cf4e7d5a4447daa456d7caf61455f50aafc34f1f3b915727","12115a2a03125cb3f600e80e7f43ef57f71a2951bb6e60695fb00ac8e12b27f3","d30e67059f5c545c5f8f0cc328a36d2e03b8c4a091b4301bc1d6afb2b1491a3a","02f7c65c690af708e9da6b09698c86d34b6b39a05acd8288a079859d920aea9f","15cd42c991de935a1c27255259f1510d65e269bbf442b46290405fccfac7e6b9","37550007de426cbbb418582008deae1a508935eaebbd4d41e22805ad3b485ad4","6b729c3274f6d4738fe470109bcb08b09ef98a6b356c01da3ca8dc0996b4458b","4dbf094f9d643b74e516779a802d9c5debd2929fb875ccfbc608d61afba064e4","828ea2cf5792eba68ebd41d6dd17ac67d31622b7889965210f8fa50a6eb29eba","e3913b35c221b4468658743d6496b83323c895f8e5b566c48d8844c01bf24738","fddc63640fde952128533546ae74554c939f442d2444acca02092123359985da","6b58befa886506f252c9ad95f4ebe98f60a1a450df61bb1bedfd4d9906aec860","36434890d6b5a8e9f855e98cac94466cfa20234bf85e3ddd362974b0e27cb483","8860efd63845e803145954bc4075492597211691025425ab472beb474c700a9d","b17815f8aea293ed376c1eca722b101feb92f6cbd4279d67773c42ae2fbf4577","1b03adc06975a746acf8110899fe2913b1b02e6a3171925235969ba5c1b3ee18","f2132116de8cba14e651b4c1969da78d09dc5df34b82ff48bc3da3433af52757","c0e656085898760b50a016b4c9164525793f183692b54243531bcf025679d2a8","252426bab92917b3856b401d66f598c501a56b333461a247b8147fccb7d6a00c","055c1bb2a6959dfc4d68dcc77b60efeb36ff33f5c92bba7c4a32defa24342d00","214658ab628b97feea91b502d4c80ca9db967d96c333bf9bbe95170573713301","63cf4f7d0203f14599fb073c3c23629a8673b23121d740f67f29055b5bcfea84","a4391410087fbf885789a53b5c8f3f82632d37657c2a6f97016e9108dfba1afd","d6bfa8ad8882343c85cdf4412f5c8f9520a2fe93705c5c7018944f7f1324a386","91f0a8a985bc17b8a6d810c7f44c52c763753825f4a060543a9bc74e37f9e20a","f2e9f87f7e8214d35777ab815d79746fc81a02a5437a8c540ce3603736bde411","024bcf6f9df0694d3a2af9c14b790e4f9ebc333b8669e93dca97f6a6c36943ce","a44c8f4b131110336fcbe5b0b0eae8611d4853f4a435c493456caf9b5d59a8a1","2a384b586ea99e91b5a77f42ec220907c6b7ef601b0f5099c3bce536502a1729","70ace4d4db6dfa1fc6957204063a8f7cc65b92e8f30b8f0e51f3caf8e3d0f880","d99dc8d21c594488cb596d58a57ceb2c2536ccd9147e4c1df22fa2fa19360a8b","49b2773f7280655250e197718bf71feb7364163997ab5a47f23406cd558401c9","5c9110dbe0529c1dc691fdb7f8bc34f22f1f4be15338e69c36b8322731e8c883","13c3a6f8331bf248134563a703f6abbf9e51269657dc17d587cf269a0e3ec740","a7ca2a9e61286d74bc37fe64e5dcd7da04607f7f5432f7c651b47b573fc76cef",{"version":"cfb95dbcdee02402fb9373c62ec4ba735b5479e5d879f39e7c23fe1d58186e31","affectsGlobalScope":true},"be2be3f19b8e69e495b04d45d4d5bbfb2190fe6a505bd07a8870357f092485c1","a2fcd8d08ff6c404a6b3f9559296a0851c21a24a84896ffce7e64ec7b0839351","e674daba20d22ed76b226c7f7a310caca3c76644ebc17a7fcacb50a4062d0461","21c0391321d08d829ccc886ddbb17160f87971ef98136a1b423c4ccb9ed0cdad","5553ec84902a9280bd308cc08f89ac269358e32d1abcc7affce7afa97c0bdf10","b3b5aca751100320745c8bfd826202aed7d753d336448ce2265b9470dfa8a298","5fa35c6051059d5ed57cbda5479b593cec15d5405229542042bd583c1e680fb4","7df3932c1b8816845e1774538c4e921e196d396b3419e2e18bc973079b4064a3","c8a7131a27d7892f009ab03d78dc113582f819c429af2064280bec83c2e7c599","19629032a378771a07e93c0ab8253b92cb83e786446f1c0aed01d8f9b96a3fb6","fd4b51f120103d53cc03eea9d98d6a1c7e6c07f04847c0658ec925ceeb7667aa","58c888d748e2ff881fd982418b1300c48a70ccce7cbb19a4cde96803568442aa","e2ce339ecc8f65810eda93bb801eb9278f616b653f5974135908df2c30acc5ae","234058398306e26bc917e6efba8fb26c9d9f2cfdfbaa17abfcb11138847de081","b3ff9aff54c18834bce9690184e69fd44fd5d57273a98a47fbf518b68cc4ec60","3dc40ead9c5ac3f164af434069561d6c660e64f77c71ab6ad405c5edc0724a94","d5fb34e3200ce13445c603012c0dfbd116317f8d5fef294e11f49d00a859a3d0","e99f9d98cce8c8da7aa758082e85cd1e70d8dd532fde81c6785e84c8cf5fdad2","2b9b9439e14a149725fb30e18f3f7e8ad26a0d9d73e19bd910ce5e8f21ad2bd5","06f11be517a9c2e289816cff4bac1d9d9ac3c97466742d63000c84ae1e985bfc","809408517138da4f6ec9fbcdcb2b9b54b97aa424edf0280aa02c45e9f3c189b1","8792e694ead2744ed55a58278d7be72c8f888105191e141581c104c4fb5db6ef","83dc862cd9b7b1a929bcc03e9bbc8690cebc7e29b1edfa263f6fd11b737f19df","63b8ffbc6d2e991814513c1804ecdb1c36377181e5c73fc2878fe0c8e8a251e5","796eb04b5d7cb757528f82c9dcf577dce94e52e3f0e85fb52660e5d90f901747","88bef19ad6180f851cbdc83e7b66d174776684ac241d744414b5f6001a54af88","2bb1f2558cfb924e36078a20c49dacdfeab742577ef0b13b42235481528db214","7106fee62156a05165e304aab553e3b00efa41fb3b051ad49e6523c5be19f9b4","e14b87f5261ec377a0d228c2e517069c9324059b83412e3b506029c239ca25aa","8b3de2f727cfd97055765350c2e4d50ea322cabb517ff7aa3fa0ad74aab4826e","b3e584a57553f573aa01b34bf0d08c4dfefb2b9ede471c70d85207131f0f742f","7682cb36c583dae007ccd22801ba4d15753400fa311b49e69946980550c3e952","0b9507754d974bcf9812c30e585b21953561f093692e2955334c93334e612919","6fb23beb59f1f5c8dc97bfc012d5edac81ffca1c1b83a91381b4e130e7ce24f3","46410e3c36bc44cfcb49fdc9790a7c3364f19d34e886a29ee99cec122a15d660","8d715bbe7ec487a5342ec26eef35edb55b8bd8cd9d274579f261b0b8fde1f5b2","db94113d7370b57e8055ca948d33cff465aa0501cace6eff5e3680c649273486","b4d286a3c858e8fb00c4f5da6928a09cb6f8143aa35f15c96354ab07b6f78508","c7e7d48913bfa205453911f699307e7ce630deb3c3e68326377bc2ba20abb1f9","8eddfcd5cb5733f02253c99d43a2a5bbdc4d0e3b9049e217550daf65e7f87673","a895000984a09ea36eaa5c0ff99a19bc0fb9ecf9cf6fa9e2124d484e8190ee7d","50c0c2b5e76e48e1168355e3622ca22e939c09867e3deb9b7a260d5f4e8d890c","66491ea35e30cc8c11169e5580aef31e30fdf20b39bc22e0847c2c7994e2071b","35680fb7f25a165e31e93ea22d106220db4450b1270a135b73f731b66b3d4539","5865007a5331be0842d8f0aace163deda0a0672e95389fe6f87b61988478a626","dddc865f251a4993b9e23494a9ae0fb58997e0941b1ec774490a272d5a0b29bd","ca74f50c5248846439c8cc6004732cf317a79f2a0bc620eed48325d47cf0884e","69055f4f0b1b2df9f0ca89231075c0578975518543100582dd37adb956ad6135","c3f85a0f71b64d78e7dfb27a12d10b0cd621745f40752b8e9fa61a7099d4290e","0b4b2424b5d19bbac7e7ad9366419746fff0f70001c1867b04440d0031b26991","1e9bcdcb2ee81b6155cb057d50574a5aeb77f22ee850d5feb9a999f81de866c6","4fd695c068c325f2eb6effd7a2ed607d04f4ed24b1f7cc006b8325b3eb5bd595","c18fb9b8d4a7f41ae537512368ec9028d50b17e33e26c99f864912824b6e8c30","4848996aa26a40d53c0c716fb90135a20002c3be2404cf3efe593bc57980c9b2","c83d0532a6b98692f7b813e47bf947234b7c08ff71aa79c9fceca0bc25f384a0","4cc69dd73cd6d15a3e29d7b70d8d260a00730520b794877bdc413dcb1426ba51",{"version":"9b923be7ef4337bbddbd1713b13cf81da9a955034bdf657bb9e60a8fc9b20ac5","affectsGlobalScope":true},"527668d62da5909154a74b74a7a9ae59c41ab4a70da76c2f476765308efafb0f","e2974b2b0a7ba6384f5f3338d2a6a70170c3002112d6e05ce593d966100bf232","cc3738598b5fe875e341f701824403b3cac48c50472c72423d3e236b610fa977","e61390bd34b952574db348b6b399710dc706c1829b29b3d78a3dc52835b73db2","fa907e289e14db7411c016ea26f920e55bb0f553083c869c95324f1a35bc1698",{"version":"f3d4832946cc7db227be5aeede016cde5e707acd0651c5772f60b7f862069f67","affectsGlobalScope":true},"3470144710c64f8282734aa427b82ff1c3b03547fab690d68c697e70715517e2","636f98efa207c4dd7d01e1698a1976f9e89bd5ed8c7ed925bffe709a53187141","152e72f7d7a91292c7282afbe88c86405476d74158a0b5da92e89aa6bfc43ba8","770da6922f57bcb7eb60e2ec7faead09f4124255d4d1cbf1746c786902a57600","ab4bc5a436210dfcfae18313f921deb927adb887e4d13a9c3a9f9af45c0915a2","5a87de34be3b62ad64863f14717aafb27b46eb884389980bff94319c64e216bf","5df7093c87d02065631fb161bb2d9ad12fd1ef18c0900d1cb6148f8fc4ba2059","110d5c25cd9c93f8730abbb46957c7ead0db75a518fc4649d90737f1b40edcc3","4ea44a1033eda5507f03095ec653729a8eb0265b76a22bde944fe75df37a6e32","b0c76b189a761339dd02fdb46d82a65ab915bb8851648fb43ce3666f41aedc26","e93d0e421acdb5882ae8cb0f15d72c78a6b6dacb3cac7cb1f91fb6033888f7a7",{"version":"35d438eefa0cd19aa5540e1d58a82184fcbe2aa6c9b776b1bacdee9b2f9f92b9","affectsGlobalScope":true},"a4dbbdf9491458ba5e0fec7227bade5a29e5b798672f855f24416351dfc5f66e","de8fd2788531d14db839cef97c79d27fedc408d118a4f9d9eb097a223c0d7f8e","45029fec2f3cf2bbb76c65203c8dca7067cb38150edb6e581cfc5cdd1056d3e6","fa330f5cd204e82da20e36c14114a990ad780034d9ff75362a7291d6246047ac","6a29950763865b4648f98ebbeb3ba5bc2d73a97b4c2b7e0da2a14a1eda921f31","d79508e876a427a5d2ab558259b6acf76cfc487670c2df78500fcfda65e82f55","2a3dd4f552ced304c2cecaef5cc13e5e18e7180cc9f56f1c58606b8631000a54","19569a1aaa42c0225c80c21de7e1e21d73571a85ff1e11fbf20efe540adfdd82","310c010fccf6731220b9222f7cea907449332eadb96e794c1f82ffe87fb3da0f","aeefb8cfc3e4a7541b67cc5c97ea2eed6c63099efe60d759521ca2353e3fa46f","057ecff22fc137b73b0d58a1330ab11d6cbb99ddda46aaf3ec2c95dbf6335002","954153e5649958e213369de1bcda967caa15b03a87900ee68d50b38731c0157d","cb8675de773feac9c2aa74e980daa9838611a0e54cf60e8900d638e83c01f23e","7edb022e4f06bfeb730f28f9865f15e2f788af01822338f807d5776574e453ac","2043c1d6096c0880f5fa3e8e8e16878e27925229125068d424b6579de6f9f385","e827175d44a57ca6a5263296006eb687ff7651e165f1b3d081f879455cefbc4e","6cb04fc9b712ac80f0335152d94bbe40ef582d77de95ccb565febf6d6983e10e",{"version":"a1a48647b173dc4b7c7c585079051565e467ae4f9068fb0b7d49ce01806c1f49","signature":"c9f756c893f5e6a27442e40934f589976ad07e2ec037960dd42e53766d6edb4f"},{"version":"372c02303615b388643fc57833e3677f048cc2df89f95df33f1f2af5a7cb9611","signature":"3a09fcec410aacff65f0555c4dc5966eb9ed32bfd39cd0c13338397cd55b0610"},"ae77d81a5541a8abb938a0efedf9ac4bea36fb3a24cc28cfa11c598863aba571","7468ce3ef8243a51ee69aeb3b050f01f34c1e84cd4766fedd1b3594c03e30bbe","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","82e5a50e17833a10eb091923b7e429dc846d42f1c6161eb6beeb964288d98a15","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9e0cf651e8e2c5b9bebbabdff2f7c6f8cedd91b1d9afcc0a854cdff053a88f1b","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99",{"version":"c8905dbea83f3220676a669366cd8c1acef56af4d9d72a8b2241b1d044bb4302","affectsGlobalScope":true},"1748c03e7a7d118f7f6648c709507971eb0d416f489958492c5ae625de445184","6382638cfd6a8f05ac8277689de17ba4cd46f8aacefd254a993a53fde9ddc797","151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","738d6242ee5ebcada2f55ec63f16c0128c2324124df9d4280bf5af6ce5e3d30e","c7bdc99177a2a94d25fb13722adaaf5b3291bf70b4d1b27584ba189dd3889ba3",{"version":"d1c92b66c4105659fcad4eb76a1481f7311033e117d0678a1ec545e8ddb8d4c6","affectsGlobalScope":true},"e23424b97418eca3226fd24de079f1203eb70360622e4e093af2aff14d4be6ec","dee93c07b4df5e26010dc9ec4cdf4d6e4076bb4474d2a8371529217c8b2740a4","ed40f2f184db052dc8df62d1f199823c8bbccc487c0a2a7c54eeea0badcf4378","04eaa93bd75f937f9184dcb95a7983800c5770cf8ddd8ac0f3734dc02f5b20ef",{"version":"c8155caf28fc7b0a564156a5df28ad8a844a3bd32d331d148d8f3ce88025c870","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","dfc747ab8dd5f623055a4c26fd35e8cceca869fd3f1cf09701c941ca3679665a","c9f5f2920ff61d7158417b8440d5181ddc34a3dfef811a5677dd8a9fb91471e9","5cc0a492da3602510b8f5ed1852b1e0390002780d8758fbc8c0cd023ca7085f8","ec7dafafe751a5121f8f1c80201ebe7e7238c47e6329280a73c4d1ca4bb7fa28","64debeb10e4b7ae4ec9e89bfb4e04c6101ab98c3cc806d14e5488607cfec2753",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"a5782d6cea81fe43d2db7ed41e789458c933ab3ab60602f7b5b14c4da3370496","affectsGlobalScope":true},"f258ba66915f0196ec344bc53afe1888240bbcc855ebd151b6cc072275533319","6194335ee3353f7226ba31f31d6301d0c6be87228419c0a08976ccd9d4f1213e","3ac12a54cfaa84683506db8d4cf779135a271d9f0ec18930cf53e61fbeea0c5d","cf3d3b087d1a8a3355eec47d206162c75e912315b9b5c1cd49fda93e948fb80a","36f316c066c4a72dd6f19fec49a074f935744fc9ccbe75c87ebc07fb2feb9062","42176966283d3835c34278b9b5c0f470d484c0c0c6a55c20a2c916a1ce69b6e8","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","ec70fd6f8a9a83f850dab2960a6789e93d5b034b354a16814cad5daabf62a360","e2236264a811ed1d09a2487a433e8f5216ae62378cf233954ae220cf886f6717","3ec1e108d587a5661ec790db607f482605ba9f3830e118ce578e3ffa3c42e22b","100b3bb9d39d2b1b5340f1bf45a52e94ef1692b45232b4ba00fac5c3cc56d331",{"version":"04fe7e7d8008887943260af1fde2bfd4877e0dc57bf634e0f0b2f3d1794dfd11","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","992c6f6be16c0a1d2eec13ece33adeea2c747ba27fcd078353a8f4bb5b4fea58","2597718d91e306949d89e285bf34c44192014ef541c3bd7cbb825c022749e974","a6b0abdb67d63ebe964ba5fee31bc3daf10c12eecd46b24d778426010c04c67e","ac4801ebc2355ba32329070123b1cd15891bf71b41dcaf9e75b4744832126a59","fd2298fba0640e7295e7bd545e2dfbfcccbb00c27019e501c87965a02bbdebf6","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","71ddd49185b68f27bfac127ef5d22cb2672c278e53e5370d9020ef50ca9c377d","b1ea7a6eaa7608e0e0529aebd323b526a79c6c05a4e519ae5c779675004dcdf1","9fcb033a6208485d8f3fadde31eb5cbcaf99149cff3e40c0dc53ebc6d0dff4e9","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","dcc6910d95a3625fd2b0487fda055988e46ab46c357a1b3618c27b4a8dd739c9","f4149f1aa299474c7040a35fe8f8ac2ad078cc1b190415adc1fff3ed52d490ea","3730099ed008776216268a97771de31753ef71e0a7d0ec650f588cba2a06ce44","8d649dbc429d7139a1d9a14ea2bf8af1dc089e0a879447539587463d4b6c248c","60c9e27816ec8ac8df7240598bb086e95b47edfb454c5cbf4003c812e0ed6e39","e361aecf17fc4034b4c122a1564471cdcd22ef3a51407803cb5a5fc020c04d02","4926467de88a92a4fc9971d8c6f21b91eca1c0e7fc2a46cc4638ab9440c73875",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"fc0ae4a8ad3c762b96f9d2c3700cb879a373458cb0bf3175478e3b4f85f7ef2f","fabbec378e1ddd86fcf2662e716c2b8318acedb664ee3a4cba6f9e8ee8269cf1","b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","efd55e8ca79171bf26c0d0e30221cb8ee1f5a31dd0c791ec4b2e886f42bab124","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","d6c7f76b8c7fecd5d75e3effd77a8593a13105e96c6dc09aaef4308fbb769560","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","54060f716fdbd7ac1008ac85256a400722332917837d1c0d6fdb7c9e8fa8b1cb","f8a6bb79327f4a6afc63d28624654522fc80f7536efa7a617ef48200b7a5f673","8e0733c50eaac49b4e84954106acc144ec1a8019922d6afcde3762523a3634af","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","5aca5a3bc07d2e16b6824a76c30378d6fb1b92e915d854315e1d1bd2d00974c9","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","1f4ae755492a669b317903a6b1664cb7af3fe0c3d1eec6447f4e95a80616d15a","03c258e060b7da220973f84b89615e4e9850e9b5d30b3a8e4840b3e3268ae8eb","89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","6d09838b65c3c780513878793fc394ae29b8595d9e4729246d14ce69abc71140","5c5d901a999dfe64746ef4244618ae0628ac8afdb07975e3d5ed66e33c767ed0","85d08536e6cd9787f82261674e7d566421a84d286679db1503432a6ccf9e9625","6f56706c6828d0299f46f8b1a79ecae0757b91b48e63baf6f0c5292d02037129","2667c74200427135a2ff0a5f4f7cb6044bf483318a5c30e5d9eccdbfe372a529","9a2eaab4e54953c6b2ba21f7ac4c2593859da03917011c10a2acd8864e38e7b2","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7"],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"jsx":2,"module":1,"noEmitOnError":false,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"target":1},"fileIdsList":[[169],[91],[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119],[89],[89,90],[89,91],[124],[124,126],[121,122],[120],[124,125],[120,123],[134,135,136,137,138,139,140,141,142,143,144],[136],[120,136],[129,136],[127,133,136],[120,127,128,129,133,134,135],[158],[36,73],[169,170,171,172,173],[169,171],[175],[196,232],[40],[195,196,232,234],[36],[237],[238],[244,246],[240,241],[240,241,242,243],[245],[37,39,40],[252,253],[230],[229,230],[184,189],[195,196,203,212],[185,195,203],[221],[189,196,204],[212,217],[192,195,203],[193],[192],[195],[195,197,212,220],[195,196,212],[203,212,220],[195,196,198,203,212,217,220],[198,212,217,220],[231],[220],[192,195,212],[205],[183],[219],[210,221,224],[195,213],[212],[215],[189,203],[181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228],[203],[209],[222],[184,189,195,197,206,212,220,224],[33,34,35],[34,36,72],[232,262,264],[217,232],[195,198,200,212,217,220,226,232],[268],[36,51],[36,51,52],[50,51],[36,48,51,53,54,55,70],[50],[36,50,51],[51,56],[36,54],[49,50,51,52,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69],[51,53],[49,50,51,52],[48],[48,49],[130,131,132],[127,130],[120,127],[37,38,41,42,43,44,45,46,47],[36,120,127,128,129,133,145,147,148,149,150,151,152,153,154,155,156],[36,129,145,147],[36,145,147],[36,120,145],[36,147],[36,133,145],[36,145],[147],[36,145,146],[36,133,147],[70],[263],[261],[36,71],[36,48,71,73,74,75,76],[36,48,71,73],[48,71],[36,160,162,163],[157,160,162],[36,157,158,159],[161],[36,40,71,77,160,162,164,166],[73,165],[160,162,164],[73,158]],"referencedMap":[[171,1],[92,2],[94,2],[95,2],[98,2],[99,2],[100,2],[101,2],[102,2],[103,2],[104,2],[105,2],[106,2],[107,2],[108,2],[109,2],[110,2],[97,2],[120,3],[117,4],[118,4],[91,5],[90,6],[119,5],[125,7],[127,8],[123,9],[122,10],[126,11],[124,12],[128,10],[129,10],[145,13],[144,14],[138,15],[139,14],[134,14],[140,16],[137,17],[143,14],[141,15],[142,14],[136,18],[135,15],[165,19],[158,20],[174,21],[170,1],[172,22],[173,1],[176,23],[233,24],[43,25],[235,26],[236,24],[72,27],[238,28],[239,29],[247,30],[242,31],[244,32],[243,31],[246,33],[41,34],[253,35],[181,36],[231,37],[184,38],[185,39],[186,40],[187,41],[188,42],[189,43],[190,44],[192,45],[193,46],[194,47],[195,47],[196,48],[197,49],[198,50],[199,51],[200,52],[232,53],[201,47],[202,54],[203,55],[205,56],[206,57],[207,58],[210,47],[211,59],[212,60],[213,61],[215,47],[216,62],[217,63],[229,64],[219,65],[220,66],[221,67],[223,61],[225,68],[226,61],[36,69],[73,70],[47,25],[265,71],[266,72],[267,73],[269,74],[59,75],[60,75],[61,76],[67,77],[65,75],[56,78],[57,76],[62,75],[58,76],[63,75],[66,79],[64,80],[68,81],[69,82],[70,83],[54,84],[53,85],[49,86],[52,87],[51,86],[50,86],[133,88],[131,89],[130,90],[48,91],[157,92],[156,93],[151,94],[155,95],[148,96],[154,97],[153,98],[150,94],[152,95],[149,99],[147,100],[146,101],[71,102],[264,103],[263,104],[76,105],[77,106],[74,107],[75,108],[164,109],[163,110],[159,27],[160,111],[162,112],[167,113],[166,114]],"exportedModulesMap":[[171,1],[92,2],[94,2],[95,2],[98,2],[99,2],[100,2],[101,2],[102,2],[103,2],[104,2],[105,2],[106,2],[107,2],[108,2],[109,2],[110,2],[97,2],[120,3],[117,4],[118,4],[91,5],[90,6],[119,5],[125,7],[127,8],[123,9],[122,10],[126,11],[124,12],[128,10],[129,10],[145,13],[144,14],[138,15],[139,14],[134,14],[140,16],[137,17],[143,14],[141,15],[142,14],[136,18],[135,15],[165,19],[158,20],[174,21],[170,1],[172,22],[173,1],[176,23],[233,24],[43,25],[235,26],[236,24],[72,27],[238,28],[239,29],[247,30],[242,31],[244,32],[243,31],[246,33],[41,34],[253,35],[181,36],[231,37],[184,38],[185,39],[186,40],[187,41],[188,42],[189,43],[190,44],[192,45],[193,46],[194,47],[195,47],[196,48],[197,49],[198,50],[199,51],[200,52],[232,53],[201,47],[202,54],[203,55],[205,56],[206,57],[207,58],[210,47],[211,59],[212,60],[213,61],[215,47],[216,62],[217,63],[229,64],[219,65],[220,66],[221,67],[223,61],[225,68],[226,61],[36,69],[73,70],[47,25],[265,71],[266,72],[267,73],[269,74],[59,75],[60,75],[61,76],[67,77],[65,75],[56,78],[57,76],[62,75],[58,76],[63,75],[66,79],[64,80],[68,81],[69,82],[70,83],[54,84],[53,85],[49,86],[52,87],[51,86],[50,86],[133,88],[131,89],[130,90],[48,91],[157,92],[156,93],[151,94],[155,95],[148,96],[154,97],[153,98],[150,94],[152,95],[149,99],[147,100],[146,101],[71,102],[264,103],[263,104],[76,105],[77,106],[74,107],[75,108],[164,109],[163,110],[159,27],[160,111],[162,112],[167,115],[166,116]],"semanticDiagnosticsPerFile":[171,169,114,78,79,80,81,82,83,84,85,86,87,88,92,93,94,95,96,98,99,100,101,102,103,104,105,106,107,108,109,110,97,111,112,115,120,89,116,117,118,91,90,119,113,125,127,121,123,122,126,124,128,129,145,144,138,139,134,140,137,143,141,142,136,135,38,42,165,158,168,174,170,172,173,176,177,175,178,179,180,233,43,40,235,234,236,72,237,238,239,247,240,242,244,243,241,246,245,248,249,250,251,37,41,253,252,254,255,230,181,183,231,184,185,186,187,188,189,190,191,192,193,194,195,196,197,182,227,198,199,200,232,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,229,219,220,221,222,223,224,228,225,226,256,39,35,33,36,257,258,259,73,47,260,261,265,262,266,267,268,269,59,60,61,67,65,56,57,62,58,63,66,64,68,69,70,54,53,49,52,51,50,55,34,44,133,131,132,130,45,48,46,157,156,151,155,148,154,153,150,152,149,147,146,71,1,7,11,10,3,12,13,14,15,16,17,18,19,4,5,23,20,21,22,24,25,26,6,27,28,29,30,31,2,32,9,8,264,263,76,77,74,75,164,163,159,160,162,161,167,166],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"4.9.5"}
|