@rise-maritime/keelson-js 0.5.3 → 0.6.0-alpha.202.dev.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.
Files changed (121) hide show
  1. package/dist/index.d.ts +524 -1
  2. package/dist/index.js +114 -5
  3. package/dist/index.test.js +57 -0
  4. package/dist/interfaces/AlarmAck.d.ts +62 -0
  5. package/dist/interfaces/AlarmAck.js +218 -0
  6. package/dist/interfaces/Configurable.d.ts +24 -18
  7. package/dist/interfaces/Configurable.js +24 -22
  8. package/dist/interfaces/Coordinate.d.ts +38 -0
  9. package/dist/interfaces/Coordinate.js +82 -0
  10. package/dist/interfaces/ErrorResponse.d.ts +1 -1
  11. package/dist/interfaces/ErrorResponse.js +1 -1
  12. package/dist/interfaces/MavlinkCommand.d.ts +24 -18
  13. package/dist/interfaces/MavlinkCommand.js +24 -22
  14. package/dist/interfaces/Mission.d.ts +128 -0
  15. package/dist/interfaces/Mission.js +800 -0
  16. package/dist/interfaces/NetworkPingPong.d.ts +16 -16
  17. package/dist/interfaces/NetworkPingPong.js +16 -16
  18. package/dist/interfaces/ReplayControl.d.ts +72 -30
  19. package/dist/interfaces/ReplayControl.js +72 -58
  20. package/dist/interfaces/Route.d.ts +640 -0
  21. package/dist/interfaces/Route.js +4180 -0
  22. package/dist/interfaces/RoutePlanner.d.ts +152 -0
  23. package/dist/interfaces/RoutePlanner.js +268 -0
  24. package/dist/interfaces/ScenarioCheckpoint.d.ts +154 -0
  25. package/dist/interfaces/ScenarioCheckpoint.js +694 -0
  26. package/dist/interfaces/ScenarioControl.d.ts +144 -0
  27. package/dist/interfaces/ScenarioControl.js +552 -0
  28. package/dist/interfaces/Severity.d.ts +22 -0
  29. package/dist/interfaces/Severity.js +72 -0
  30. package/dist/interfaces/SimulationControl.d.ts +69 -0
  31. package/dist/interfaces/SimulationControl.js +153 -0
  32. package/dist/interfaces/Subscriber.d.ts +24 -18
  33. package/dist/interfaces/Subscriber.js +24 -22
  34. package/dist/interfaces/VehicleCommon.d.ts +1 -32
  35. package/dist/interfaces/VehicleCommon.js +2 -74
  36. package/dist/interfaces/VehicleControl.d.ts +34 -28
  37. package/dist/interfaces/VehicleControl.js +34 -22
  38. package/dist/interfaces/VehicleGeofence.d.ts +26 -19
  39. package/dist/interfaces/VehicleGeofence.js +40 -37
  40. package/dist/interfaces/VehicleLifecycle.d.ts +32 -20
  41. package/dist/interfaces/VehicleLifecycle.js +32 -28
  42. package/dist/interfaces/VehicleMission.d.ts +42 -97
  43. package/dist/interfaces/VehicleMission.js +41 -696
  44. package/dist/interfaces/VehicleNavigation.d.ts +30 -24
  45. package/dist/interfaces/VehicleNavigation.js +30 -22
  46. package/dist/interfaces/VehicleParam.d.ts +48 -24
  47. package/dist/interfaces/VehicleParam.js +48 -40
  48. package/dist/interfaces/VehicleSimulatorControl.d.ts +57 -0
  49. package/dist/interfaces/VehicleSimulatorControl.js +155 -0
  50. package/dist/interfaces/WHEPProxy.d.ts +16 -16
  51. package/dist/interfaces/WHEPProxy.js +16 -16
  52. package/dist/interfaces/foxglove/GeoJSON.d.ts +27 -0
  53. package/dist/interfaces/foxglove/GeoJSON.js +65 -0
  54. package/dist/interfaces/foxglove/LocationFix.d.ts +49 -0
  55. package/dist/interfaces/foxglove/LocationFix.js +246 -0
  56. package/dist/interfaces/google/protobuf/any.d.ts +144 -0
  57. package/dist/interfaces/google/protobuf/any.js +107 -0
  58. package/dist/interfaces/google/protobuf/duration.d.ts +99 -0
  59. package/dist/interfaces/google/protobuf/duration.js +92 -0
  60. package/dist/interfaces/serviceRegistry.d.ts +520 -0
  61. package/dist/interfaces/serviceRegistry.js +40 -0
  62. package/dist/interfaces.json +19 -0
  63. package/dist/payloads/Alarm.d.ts +7 -12
  64. package/dist/payloads/Alarm.js +4 -54
  65. package/dist/payloads/ChecklistEvent.d.ts +152 -0
  66. package/dist/payloads/ChecklistEvent.js +524 -0
  67. package/dist/payloads/ChecklistEvidence.d.ts +79 -0
  68. package/dist/payloads/ChecklistEvidence.js +287 -0
  69. package/dist/payloads/ChecklistPresence.d.ts +68 -0
  70. package/dist/payloads/ChecklistPresence.js +286 -0
  71. package/dist/payloads/ChecklistProcedure.d.ts +81 -0
  72. package/dist/payloads/ChecklistProcedure.js +364 -0
  73. package/dist/payloads/ChecklistState.d.ts +178 -0
  74. package/dist/payloads/ChecklistState.js +838 -0
  75. package/dist/payloads/CommandAuthority.d.ts +82 -0
  76. package/dist/payloads/CommandAuthority.js +364 -0
  77. package/dist/payloads/Coordinate.d.ts +39 -0
  78. package/dist/payloads/Coordinate.js +85 -0
  79. package/dist/payloads/EntityHealth.d.ts +9 -0
  80. package/dist/payloads/EntityHealth.js +14 -0
  81. package/dist/payloads/Mission.d.ts +137 -0
  82. package/dist/payloads/Mission.js +826 -0
  83. package/dist/payloads/OperationalAuthority.d.ts +172 -5
  84. package/dist/payloads/OperationalAuthority.js +525 -6
  85. package/dist/payloads/Route.d.ts +662 -0
  86. package/dist/payloads/Route.js +4289 -0
  87. package/dist/payloads/RouteChangeEvent.d.ts +42 -0
  88. package/dist/payloads/RouteChangeEvent.js +223 -0
  89. package/dist/payloads/RouteEditAuthority.d.ts +87 -0
  90. package/dist/payloads/RouteEditAuthority.js +380 -0
  91. package/dist/payloads/RouteExecution.d.ts +64 -0
  92. package/dist/payloads/RouteExecution.js +310 -0
  93. package/dist/payloads/ScenarioStatus.d.ts +160 -0
  94. package/dist/payloads/ScenarioStatus.js +654 -0
  95. package/dist/payloads/Severity.d.ts +13 -6
  96. package/dist/payloads/Severity.js +30 -18
  97. package/dist/payloads/SimulationStatus.d.ts +3 -4
  98. package/dist/payloads/SimulationStatus.js +12 -18
  99. package/dist/payloads/TestObjectStatus.d.ts +154 -0
  100. package/dist/payloads/TestObjectStatus.js +580 -0
  101. package/dist/payloads/VesselType.d.ts +2 -1
  102. package/dist/payloads/VesselType.js +1 -1
  103. package/dist/payloads/Voyage.d.ts +154 -0
  104. package/dist/payloads/Voyage.js +866 -0
  105. package/dist/payloads/WarrantRecord.d.ts +168 -0
  106. package/dist/payloads/WarrantRecord.js +781 -0
  107. package/dist/payloads/foxglove/CompressedPointCloud.d.ts +37 -0
  108. package/dist/payloads/foxglove/CompressedPointCloud.js +185 -0
  109. package/dist/payloads/google/protobuf/any.d.ts +145 -0
  110. package/dist/payloads/google/protobuf/any.js +110 -0
  111. package/dist/payloads/google/protobuf/empty.d.ts +34 -0
  112. package/dist/payloads/google/protobuf/empty.js +50 -0
  113. package/dist/payloads/index.foxglove.d.ts +1 -0
  114. package/dist/payloads/index.foxglove.js +1 -0
  115. package/dist/payloads/index.google.protobuf.d.ts +2 -0
  116. package/dist/payloads/index.google.protobuf.js +2 -0
  117. package/dist/payloads/index.keelson.d.ts +17 -1
  118. package/dist/payloads/index.keelson.js +17 -1
  119. package/dist/qos.json +95 -0
  120. package/dist/subjects.json +38 -1
  121. package/package.json +2 -1
@@ -0,0 +1,4180 @@
1
+ "use strict";
2
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
+ // versions:
4
+ // protoc-gen-ts_proto v2.6.1
5
+ // protoc v6.30.2
6
+ // source: Route.proto
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.RouteIssue = exports.RouteChallenge = exports.HazardZone = exports.ActionPoint = exports.ActionPoints = exports.ScheduleElement = exports.Schedule = exports.Schedules = exports.Leg = exports.Waypoint = exports.DefaultWaypoint = exports.Waypoints = exports.RouteInfo = exports.Route = exports.Extensions_Entry_AttributesEntry = exports.Extensions_Entry = exports.Extensions = exports.CircleGeometry = exports.RouteRef = exports.schedule_OriginToJSON = exports.schedule_OriginFromJSON = exports.Schedule_Origin = exports.actionPointRequiredActionToJSON = exports.actionPointRequiredActionFromJSON = exports.ActionPointRequiredAction = exports.routeStatusToJSON = exports.routeStatusFromJSON = exports.RouteStatus = exports.geometryTypeToJSON = exports.geometryTypeFromJSON = exports.GeometryType = exports.colregTrafficIntensityToJSON = exports.colregTrafficIntensityFromJSON = exports.ColregTrafficIntensity = exports.colregSituationToJSON = exports.colregSituationFromJSON = exports.ColregSituation = exports.hazardZoneTypeToJSON = exports.hazardZoneTypeFromJSON = exports.HazardZoneType = exports.routeChallengeTypeToJSON = exports.routeChallengeTypeFromJSON = exports.RouteChallengeType = exports.operationalContextToJSON = exports.operationalContextFromJSON = exports.OperationalContext = exports.autonomyLevelToJSON = exports.autonomyLevelFromJSON = exports.AutonomyLevel = exports.protobufPackage = void 0;
9
+ exports.RouteStatusUpdate = exports.RouteSignature = exports.RouteSignatures = void 0;
10
+ /* eslint-disable */
11
+ const wire_1 = require("@bufbuild/protobuf/wire");
12
+ const Coordinate_1 = require("./Coordinate");
13
+ const Severity_1 = require("./Severity");
14
+ const GeoJSON_1 = require("./foxglove/GeoJSON");
15
+ const LocationFix_1 = require("./foxglove/LocationFix");
16
+ const any_1 = require("./google/protobuf/any");
17
+ const duration_1 = require("./google/protobuf/duration");
18
+ const timestamp_1 = require("./google/protobuf/timestamp");
19
+ exports.protobufPackage = "keelson";
20
+ /** Autonomy level the route is authored for. */
21
+ var AutonomyLevel;
22
+ (function (AutonomyLevel) {
23
+ AutonomyLevel[AutonomyLevel["AUTONOMY_LEVEL_UNSPECIFIED"] = 0] = "AUTONOMY_LEVEL_UNSPECIFIED";
24
+ AutonomyLevel[AutonomyLevel["AUTONOMY_LEVEL_MANUAL_ONLY"] = 1] = "AUTONOMY_LEVEL_MANUAL_ONLY";
25
+ AutonomyLevel[AutonomyLevel["AUTONOMY_LEVEL_REMOTE_CONTROLLED"] = 2] = "AUTONOMY_LEVEL_REMOTE_CONTROLLED";
26
+ AutonomyLevel[AutonomyLevel["AUTONOMY_LEVEL_AUTONOMOUS_SUPERVISED"] = 3] = "AUTONOMY_LEVEL_AUTONOMOUS_SUPERVISED";
27
+ AutonomyLevel[AutonomyLevel["AUTONOMY_LEVEL_AUTONOMOUS_UNSUPERVISED"] = 4] = "AUTONOMY_LEVEL_AUTONOMOUS_UNSUPERVISED";
28
+ AutonomyLevel[AutonomyLevel["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
29
+ })(AutonomyLevel || (exports.AutonomyLevel = AutonomyLevel = {}));
30
+ function autonomyLevelFromJSON(object) {
31
+ switch (object) {
32
+ case 0:
33
+ case "AUTONOMY_LEVEL_UNSPECIFIED":
34
+ return AutonomyLevel.AUTONOMY_LEVEL_UNSPECIFIED;
35
+ case 1:
36
+ case "AUTONOMY_LEVEL_MANUAL_ONLY":
37
+ return AutonomyLevel.AUTONOMY_LEVEL_MANUAL_ONLY;
38
+ case 2:
39
+ case "AUTONOMY_LEVEL_REMOTE_CONTROLLED":
40
+ return AutonomyLevel.AUTONOMY_LEVEL_REMOTE_CONTROLLED;
41
+ case 3:
42
+ case "AUTONOMY_LEVEL_AUTONOMOUS_SUPERVISED":
43
+ return AutonomyLevel.AUTONOMY_LEVEL_AUTONOMOUS_SUPERVISED;
44
+ case 4:
45
+ case "AUTONOMY_LEVEL_AUTONOMOUS_UNSUPERVISED":
46
+ return AutonomyLevel.AUTONOMY_LEVEL_AUTONOMOUS_UNSUPERVISED;
47
+ case -1:
48
+ case "UNRECOGNIZED":
49
+ default:
50
+ return AutonomyLevel.UNRECOGNIZED;
51
+ }
52
+ }
53
+ exports.autonomyLevelFromJSON = autonomyLevelFromJSON;
54
+ function autonomyLevelToJSON(object) {
55
+ switch (object) {
56
+ case AutonomyLevel.AUTONOMY_LEVEL_UNSPECIFIED:
57
+ return "AUTONOMY_LEVEL_UNSPECIFIED";
58
+ case AutonomyLevel.AUTONOMY_LEVEL_MANUAL_ONLY:
59
+ return "AUTONOMY_LEVEL_MANUAL_ONLY";
60
+ case AutonomyLevel.AUTONOMY_LEVEL_REMOTE_CONTROLLED:
61
+ return "AUTONOMY_LEVEL_REMOTE_CONTROLLED";
62
+ case AutonomyLevel.AUTONOMY_LEVEL_AUTONOMOUS_SUPERVISED:
63
+ return "AUTONOMY_LEVEL_AUTONOMOUS_SUPERVISED";
64
+ case AutonomyLevel.AUTONOMY_LEVEL_AUTONOMOUS_UNSUPERVISED:
65
+ return "AUTONOMY_LEVEL_AUTONOMOUS_UNSUPERVISED";
66
+ case AutonomyLevel.UNRECOGNIZED:
67
+ default:
68
+ return "UNRECOGNIZED";
69
+ }
70
+ }
71
+ exports.autonomyLevelToJSON = autonomyLevelToJSON;
72
+ /** Operational context for a leg or waypoint. */
73
+ var OperationalContext;
74
+ (function (OperationalContext) {
75
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_UNSPECIFIED"] = 0] = "OPERATIONAL_CONTEXT_UNSPECIFIED";
76
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_OPEN_SEA"] = 1] = "OPERATIONAL_CONTEXT_OPEN_SEA";
77
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_COASTAL"] = 2] = "OPERATIONAL_CONTEXT_COASTAL";
78
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_ARCHIPELAGO"] = 3] = "OPERATIONAL_CONTEXT_ARCHIPELAGO";
79
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_PORT_APPROACH"] = 4] = "OPERATIONAL_CONTEXT_PORT_APPROACH";
80
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_PORT_AREA"] = 5] = "OPERATIONAL_CONTEXT_PORT_AREA";
81
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_RIVER_WATERS"] = 6] = "OPERATIONAL_CONTEXT_RIVER_WATERS";
82
+ OperationalContext[OperationalContext["OPERATIONAL_CONTEXT_LOCK"] = 7] = "OPERATIONAL_CONTEXT_LOCK";
83
+ OperationalContext[OperationalContext["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
84
+ })(OperationalContext || (exports.OperationalContext = OperationalContext = {}));
85
+ function operationalContextFromJSON(object) {
86
+ switch (object) {
87
+ case 0:
88
+ case "OPERATIONAL_CONTEXT_UNSPECIFIED":
89
+ return OperationalContext.OPERATIONAL_CONTEXT_UNSPECIFIED;
90
+ case 1:
91
+ case "OPERATIONAL_CONTEXT_OPEN_SEA":
92
+ return OperationalContext.OPERATIONAL_CONTEXT_OPEN_SEA;
93
+ case 2:
94
+ case "OPERATIONAL_CONTEXT_COASTAL":
95
+ return OperationalContext.OPERATIONAL_CONTEXT_COASTAL;
96
+ case 3:
97
+ case "OPERATIONAL_CONTEXT_ARCHIPELAGO":
98
+ return OperationalContext.OPERATIONAL_CONTEXT_ARCHIPELAGO;
99
+ case 4:
100
+ case "OPERATIONAL_CONTEXT_PORT_APPROACH":
101
+ return OperationalContext.OPERATIONAL_CONTEXT_PORT_APPROACH;
102
+ case 5:
103
+ case "OPERATIONAL_CONTEXT_PORT_AREA":
104
+ return OperationalContext.OPERATIONAL_CONTEXT_PORT_AREA;
105
+ case 6:
106
+ case "OPERATIONAL_CONTEXT_RIVER_WATERS":
107
+ return OperationalContext.OPERATIONAL_CONTEXT_RIVER_WATERS;
108
+ case 7:
109
+ case "OPERATIONAL_CONTEXT_LOCK":
110
+ return OperationalContext.OPERATIONAL_CONTEXT_LOCK;
111
+ case -1:
112
+ case "UNRECOGNIZED":
113
+ default:
114
+ return OperationalContext.UNRECOGNIZED;
115
+ }
116
+ }
117
+ exports.operationalContextFromJSON = operationalContextFromJSON;
118
+ function operationalContextToJSON(object) {
119
+ switch (object) {
120
+ case OperationalContext.OPERATIONAL_CONTEXT_UNSPECIFIED:
121
+ return "OPERATIONAL_CONTEXT_UNSPECIFIED";
122
+ case OperationalContext.OPERATIONAL_CONTEXT_OPEN_SEA:
123
+ return "OPERATIONAL_CONTEXT_OPEN_SEA";
124
+ case OperationalContext.OPERATIONAL_CONTEXT_COASTAL:
125
+ return "OPERATIONAL_CONTEXT_COASTAL";
126
+ case OperationalContext.OPERATIONAL_CONTEXT_ARCHIPELAGO:
127
+ return "OPERATIONAL_CONTEXT_ARCHIPELAGO";
128
+ case OperationalContext.OPERATIONAL_CONTEXT_PORT_APPROACH:
129
+ return "OPERATIONAL_CONTEXT_PORT_APPROACH";
130
+ case OperationalContext.OPERATIONAL_CONTEXT_PORT_AREA:
131
+ return "OPERATIONAL_CONTEXT_PORT_AREA";
132
+ case OperationalContext.OPERATIONAL_CONTEXT_RIVER_WATERS:
133
+ return "OPERATIONAL_CONTEXT_RIVER_WATERS";
134
+ case OperationalContext.OPERATIONAL_CONTEXT_LOCK:
135
+ return "OPERATIONAL_CONTEXT_LOCK";
136
+ case OperationalContext.UNRECOGNIZED:
137
+ default:
138
+ return "UNRECOGNIZED";
139
+ }
140
+ }
141
+ exports.operationalContextToJSON = operationalContextToJSON;
142
+ /** Categorisation of route challenges (used in structured risk). */
143
+ var RouteChallengeType;
144
+ (function (RouteChallengeType) {
145
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_UNSPECIFIED"] = 0] = "ROUTE_CHALLENGE_TYPE_UNSPECIFIED";
146
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_SHALLOW_WATER"] = 1] = "ROUTE_CHALLENGE_TYPE_SHALLOW_WATER";
147
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_TRAFFIC_DENSITY"] = 2] = "ROUTE_CHALLENGE_TYPE_TRAFFIC_DENSITY";
148
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_WEATHER_HAZARD"] = 3] = "ROUTE_CHALLENGE_TYPE_WEATHER_HAZARD";
149
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_PIRACY_SECURITY"] = 4] = "ROUTE_CHALLENGE_TYPE_PIRACY_SECURITY";
150
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_REGULATORY_LIMIT"] = 5] = "ROUTE_CHALLENGE_TYPE_REGULATORY_LIMIT";
151
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_TECHNICAL_LIMIT"] = 6] = "ROUTE_CHALLENGE_TYPE_TECHNICAL_LIMIT";
152
+ RouteChallengeType[RouteChallengeType["ROUTE_CHALLENGE_TYPE_OTHER"] = 7] = "ROUTE_CHALLENGE_TYPE_OTHER";
153
+ RouteChallengeType[RouteChallengeType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
154
+ })(RouteChallengeType || (exports.RouteChallengeType = RouteChallengeType = {}));
155
+ function routeChallengeTypeFromJSON(object) {
156
+ switch (object) {
157
+ case 0:
158
+ case "ROUTE_CHALLENGE_TYPE_UNSPECIFIED":
159
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_UNSPECIFIED;
160
+ case 1:
161
+ case "ROUTE_CHALLENGE_TYPE_SHALLOW_WATER":
162
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_SHALLOW_WATER;
163
+ case 2:
164
+ case "ROUTE_CHALLENGE_TYPE_TRAFFIC_DENSITY":
165
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_TRAFFIC_DENSITY;
166
+ case 3:
167
+ case "ROUTE_CHALLENGE_TYPE_WEATHER_HAZARD":
168
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_WEATHER_HAZARD;
169
+ case 4:
170
+ case "ROUTE_CHALLENGE_TYPE_PIRACY_SECURITY":
171
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_PIRACY_SECURITY;
172
+ case 5:
173
+ case "ROUTE_CHALLENGE_TYPE_REGULATORY_LIMIT":
174
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_REGULATORY_LIMIT;
175
+ case 6:
176
+ case "ROUTE_CHALLENGE_TYPE_TECHNICAL_LIMIT":
177
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_TECHNICAL_LIMIT;
178
+ case 7:
179
+ case "ROUTE_CHALLENGE_TYPE_OTHER":
180
+ return RouteChallengeType.ROUTE_CHALLENGE_TYPE_OTHER;
181
+ case -1:
182
+ case "UNRECOGNIZED":
183
+ default:
184
+ return RouteChallengeType.UNRECOGNIZED;
185
+ }
186
+ }
187
+ exports.routeChallengeTypeFromJSON = routeChallengeTypeFromJSON;
188
+ function routeChallengeTypeToJSON(object) {
189
+ switch (object) {
190
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_UNSPECIFIED:
191
+ return "ROUTE_CHALLENGE_TYPE_UNSPECIFIED";
192
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_SHALLOW_WATER:
193
+ return "ROUTE_CHALLENGE_TYPE_SHALLOW_WATER";
194
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_TRAFFIC_DENSITY:
195
+ return "ROUTE_CHALLENGE_TYPE_TRAFFIC_DENSITY";
196
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_WEATHER_HAZARD:
197
+ return "ROUTE_CHALLENGE_TYPE_WEATHER_HAZARD";
198
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_PIRACY_SECURITY:
199
+ return "ROUTE_CHALLENGE_TYPE_PIRACY_SECURITY";
200
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_REGULATORY_LIMIT:
201
+ return "ROUTE_CHALLENGE_TYPE_REGULATORY_LIMIT";
202
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_TECHNICAL_LIMIT:
203
+ return "ROUTE_CHALLENGE_TYPE_TECHNICAL_LIMIT";
204
+ case RouteChallengeType.ROUTE_CHALLENGE_TYPE_OTHER:
205
+ return "ROUTE_CHALLENGE_TYPE_OTHER";
206
+ case RouteChallengeType.UNRECOGNIZED:
207
+ default:
208
+ return "UNRECOGNIZED";
209
+ }
210
+ }
211
+ exports.routeChallengeTypeToJSON = routeChallengeTypeToJSON;
212
+ /** Hazard zone classification. */
213
+ var HazardZoneType;
214
+ (function (HazardZoneType) {
215
+ HazardZoneType[HazardZoneType["HAZARD_ZONE_TYPE_UNSPECIFIED"] = 0] = "HAZARD_ZONE_TYPE_UNSPECIFIED";
216
+ HazardZoneType[HazardZoneType["HAZARD_ZONE_TYPE_STATIC_NOGO"] = 1] = "HAZARD_ZONE_TYPE_STATIC_NOGO";
217
+ HazardZoneType[HazardZoneType["HAZARD_ZONE_TYPE_DYNAMIC_NOGO"] = 2] = "HAZARD_ZONE_TYPE_DYNAMIC_NOGO";
218
+ HazardZoneType[HazardZoneType["HAZARD_ZONE_TYPE_TRAFFIC"] = 3] = "HAZARD_ZONE_TYPE_TRAFFIC";
219
+ HazardZoneType[HazardZoneType["HAZARD_ZONE_TYPE_WEATHER"] = 4] = "HAZARD_ZONE_TYPE_WEATHER";
220
+ HazardZoneType[HazardZoneType["HAZARD_ZONE_TYPE_ENVIRONMENTAL"] = 5] = "HAZARD_ZONE_TYPE_ENVIRONMENTAL";
221
+ HazardZoneType[HazardZoneType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
222
+ })(HazardZoneType || (exports.HazardZoneType = HazardZoneType = {}));
223
+ function hazardZoneTypeFromJSON(object) {
224
+ switch (object) {
225
+ case 0:
226
+ case "HAZARD_ZONE_TYPE_UNSPECIFIED":
227
+ return HazardZoneType.HAZARD_ZONE_TYPE_UNSPECIFIED;
228
+ case 1:
229
+ case "HAZARD_ZONE_TYPE_STATIC_NOGO":
230
+ return HazardZoneType.HAZARD_ZONE_TYPE_STATIC_NOGO;
231
+ case 2:
232
+ case "HAZARD_ZONE_TYPE_DYNAMIC_NOGO":
233
+ return HazardZoneType.HAZARD_ZONE_TYPE_DYNAMIC_NOGO;
234
+ case 3:
235
+ case "HAZARD_ZONE_TYPE_TRAFFIC":
236
+ return HazardZoneType.HAZARD_ZONE_TYPE_TRAFFIC;
237
+ case 4:
238
+ case "HAZARD_ZONE_TYPE_WEATHER":
239
+ return HazardZoneType.HAZARD_ZONE_TYPE_WEATHER;
240
+ case 5:
241
+ case "HAZARD_ZONE_TYPE_ENVIRONMENTAL":
242
+ return HazardZoneType.HAZARD_ZONE_TYPE_ENVIRONMENTAL;
243
+ case -1:
244
+ case "UNRECOGNIZED":
245
+ default:
246
+ return HazardZoneType.UNRECOGNIZED;
247
+ }
248
+ }
249
+ exports.hazardZoneTypeFromJSON = hazardZoneTypeFromJSON;
250
+ function hazardZoneTypeToJSON(object) {
251
+ switch (object) {
252
+ case HazardZoneType.HAZARD_ZONE_TYPE_UNSPECIFIED:
253
+ return "HAZARD_ZONE_TYPE_UNSPECIFIED";
254
+ case HazardZoneType.HAZARD_ZONE_TYPE_STATIC_NOGO:
255
+ return "HAZARD_ZONE_TYPE_STATIC_NOGO";
256
+ case HazardZoneType.HAZARD_ZONE_TYPE_DYNAMIC_NOGO:
257
+ return "HAZARD_ZONE_TYPE_DYNAMIC_NOGO";
258
+ case HazardZoneType.HAZARD_ZONE_TYPE_TRAFFIC:
259
+ return "HAZARD_ZONE_TYPE_TRAFFIC";
260
+ case HazardZoneType.HAZARD_ZONE_TYPE_WEATHER:
261
+ return "HAZARD_ZONE_TYPE_WEATHER";
262
+ case HazardZoneType.HAZARD_ZONE_TYPE_ENVIRONMENTAL:
263
+ return "HAZARD_ZONE_TYPE_ENVIRONMENTAL";
264
+ case HazardZoneType.UNRECOGNIZED:
265
+ default:
266
+ return "UNRECOGNIZED";
267
+ }
268
+ }
269
+ exports.hazardZoneTypeToJSON = hazardZoneTypeToJSON;
270
+ /** COLREG encounter situation for an annotated leg. */
271
+ var ColregSituation;
272
+ (function (ColregSituation) {
273
+ ColregSituation[ColregSituation["COLREG_SITUATION_UNSPECIFIED"] = 0] = "COLREG_SITUATION_UNSPECIFIED";
274
+ ColregSituation[ColregSituation["COLREG_SITUATION_OVERTAKING"] = 1] = "COLREG_SITUATION_OVERTAKING";
275
+ ColregSituation[ColregSituation["COLREG_SITUATION_CROSSING_STBD"] = 2] = "COLREG_SITUATION_CROSSING_STBD";
276
+ ColregSituation[ColregSituation["COLREG_SITUATION_CROSSING_PORT"] = 3] = "COLREG_SITUATION_CROSSING_PORT";
277
+ ColregSituation[ColregSituation["COLREG_SITUATION_HEAD_ON"] = 4] = "COLREG_SITUATION_HEAD_ON";
278
+ ColregSituation[ColregSituation["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
279
+ })(ColregSituation || (exports.ColregSituation = ColregSituation = {}));
280
+ function colregSituationFromJSON(object) {
281
+ switch (object) {
282
+ case 0:
283
+ case "COLREG_SITUATION_UNSPECIFIED":
284
+ return ColregSituation.COLREG_SITUATION_UNSPECIFIED;
285
+ case 1:
286
+ case "COLREG_SITUATION_OVERTAKING":
287
+ return ColregSituation.COLREG_SITUATION_OVERTAKING;
288
+ case 2:
289
+ case "COLREG_SITUATION_CROSSING_STBD":
290
+ return ColregSituation.COLREG_SITUATION_CROSSING_STBD;
291
+ case 3:
292
+ case "COLREG_SITUATION_CROSSING_PORT":
293
+ return ColregSituation.COLREG_SITUATION_CROSSING_PORT;
294
+ case 4:
295
+ case "COLREG_SITUATION_HEAD_ON":
296
+ return ColregSituation.COLREG_SITUATION_HEAD_ON;
297
+ case -1:
298
+ case "UNRECOGNIZED":
299
+ default:
300
+ return ColregSituation.UNRECOGNIZED;
301
+ }
302
+ }
303
+ exports.colregSituationFromJSON = colregSituationFromJSON;
304
+ function colregSituationToJSON(object) {
305
+ switch (object) {
306
+ case ColregSituation.COLREG_SITUATION_UNSPECIFIED:
307
+ return "COLREG_SITUATION_UNSPECIFIED";
308
+ case ColregSituation.COLREG_SITUATION_OVERTAKING:
309
+ return "COLREG_SITUATION_OVERTAKING";
310
+ case ColregSituation.COLREG_SITUATION_CROSSING_STBD:
311
+ return "COLREG_SITUATION_CROSSING_STBD";
312
+ case ColregSituation.COLREG_SITUATION_CROSSING_PORT:
313
+ return "COLREG_SITUATION_CROSSING_PORT";
314
+ case ColregSituation.COLREG_SITUATION_HEAD_ON:
315
+ return "COLREG_SITUATION_HEAD_ON";
316
+ case ColregSituation.UNRECOGNIZED:
317
+ default:
318
+ return "UNRECOGNIZED";
319
+ }
320
+ }
321
+ exports.colregSituationToJSON = colregSituationToJSON;
322
+ /** Annotated traffic intensity for a leg. */
323
+ var ColregTrafficIntensity;
324
+ (function (ColregTrafficIntensity) {
325
+ ColregTrafficIntensity[ColregTrafficIntensity["COLREG_TRAFFIC_INTENSITY_UNSPECIFIED"] = 0] = "COLREG_TRAFFIC_INTENSITY_UNSPECIFIED";
326
+ ColregTrafficIntensity[ColregTrafficIntensity["COLREG_TRAFFIC_INTENSITY_NONE"] = 1] = "COLREG_TRAFFIC_INTENSITY_NONE";
327
+ ColregTrafficIntensity[ColregTrafficIntensity["COLREG_TRAFFIC_INTENSITY_LIGHT"] = 2] = "COLREG_TRAFFIC_INTENSITY_LIGHT";
328
+ ColregTrafficIntensity[ColregTrafficIntensity["COLREG_TRAFFIC_INTENSITY_MODERATE"] = 3] = "COLREG_TRAFFIC_INTENSITY_MODERATE";
329
+ ColregTrafficIntensity[ColregTrafficIntensity["COLREG_TRAFFIC_INTENSITY_HEAVY"] = 4] = "COLREG_TRAFFIC_INTENSITY_HEAVY";
330
+ ColregTrafficIntensity[ColregTrafficIntensity["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
331
+ })(ColregTrafficIntensity || (exports.ColregTrafficIntensity = ColregTrafficIntensity = {}));
332
+ function colregTrafficIntensityFromJSON(object) {
333
+ switch (object) {
334
+ case 0:
335
+ case "COLREG_TRAFFIC_INTENSITY_UNSPECIFIED":
336
+ return ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_UNSPECIFIED;
337
+ case 1:
338
+ case "COLREG_TRAFFIC_INTENSITY_NONE":
339
+ return ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_NONE;
340
+ case 2:
341
+ case "COLREG_TRAFFIC_INTENSITY_LIGHT":
342
+ return ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_LIGHT;
343
+ case 3:
344
+ case "COLREG_TRAFFIC_INTENSITY_MODERATE":
345
+ return ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_MODERATE;
346
+ case 4:
347
+ case "COLREG_TRAFFIC_INTENSITY_HEAVY":
348
+ return ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_HEAVY;
349
+ case -1:
350
+ case "UNRECOGNIZED":
351
+ default:
352
+ return ColregTrafficIntensity.UNRECOGNIZED;
353
+ }
354
+ }
355
+ exports.colregTrafficIntensityFromJSON = colregTrafficIntensityFromJSON;
356
+ function colregTrafficIntensityToJSON(object) {
357
+ switch (object) {
358
+ case ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_UNSPECIFIED:
359
+ return "COLREG_TRAFFIC_INTENSITY_UNSPECIFIED";
360
+ case ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_NONE:
361
+ return "COLREG_TRAFFIC_INTENSITY_NONE";
362
+ case ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_LIGHT:
363
+ return "COLREG_TRAFFIC_INTENSITY_LIGHT";
364
+ case ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_MODERATE:
365
+ return "COLREG_TRAFFIC_INTENSITY_MODERATE";
366
+ case ColregTrafficIntensity.COLREG_TRAFFIC_INTENSITY_HEAVY:
367
+ return "COLREG_TRAFFIC_INTENSITY_HEAVY";
368
+ case ColregTrafficIntensity.UNRECOGNIZED:
369
+ default:
370
+ return "UNRECOGNIZED";
371
+ }
372
+ }
373
+ exports.colregTrafficIntensityToJSON = colregTrafficIntensityToJSON;
374
+ /** Geometry type for a leg between waypoints. */
375
+ var GeometryType;
376
+ (function (GeometryType) {
377
+ GeometryType[GeometryType["GEOMETRY_TYPE_UNSPECIFIED"] = 0] = "GEOMETRY_TYPE_UNSPECIFIED";
378
+ GeometryType[GeometryType["GEOMETRY_TYPE_LOXODROME"] = 1] = "GEOMETRY_TYPE_LOXODROME";
379
+ GeometryType[GeometryType["GEOMETRY_TYPE_ORTHODROME"] = 2] = "GEOMETRY_TYPE_ORTHODROME";
380
+ GeometryType[GeometryType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
381
+ })(GeometryType || (exports.GeometryType = GeometryType = {}));
382
+ function geometryTypeFromJSON(object) {
383
+ switch (object) {
384
+ case 0:
385
+ case "GEOMETRY_TYPE_UNSPECIFIED":
386
+ return GeometryType.GEOMETRY_TYPE_UNSPECIFIED;
387
+ case 1:
388
+ case "GEOMETRY_TYPE_LOXODROME":
389
+ return GeometryType.GEOMETRY_TYPE_LOXODROME;
390
+ case 2:
391
+ case "GEOMETRY_TYPE_ORTHODROME":
392
+ return GeometryType.GEOMETRY_TYPE_ORTHODROME;
393
+ case -1:
394
+ case "UNRECOGNIZED":
395
+ default:
396
+ return GeometryType.UNRECOGNIZED;
397
+ }
398
+ }
399
+ exports.geometryTypeFromJSON = geometryTypeFromJSON;
400
+ function geometryTypeToJSON(object) {
401
+ switch (object) {
402
+ case GeometryType.GEOMETRY_TYPE_UNSPECIFIED:
403
+ return "GEOMETRY_TYPE_UNSPECIFIED";
404
+ case GeometryType.GEOMETRY_TYPE_LOXODROME:
405
+ return "GEOMETRY_TYPE_LOXODROME";
406
+ case GeometryType.GEOMETRY_TYPE_ORTHODROME:
407
+ return "GEOMETRY_TYPE_ORTHODROME";
408
+ case GeometryType.UNRECOGNIZED:
409
+ default:
410
+ return "UNRECOGNIZED";
411
+ }
412
+ }
413
+ exports.geometryTypeToJSON = geometryTypeToJSON;
414
+ /**
415
+ * Lifecycle status for the route artifact (authoring + quality).
416
+ * Execution-side state (vessel sailing, paused, completed) lives on
417
+ * keelson.VoyageStatus and is intentionally NOT duplicated here.
418
+ */
419
+ var RouteStatus;
420
+ (function (RouteStatus) {
421
+ RouteStatus[RouteStatus["ROUTE_STATUS_UNSPECIFIED"] = 0] = "ROUTE_STATUS_UNSPECIFIED";
422
+ RouteStatus[RouteStatus["ROUTE_STATUS_INITIAL"] = 1] = "ROUTE_STATUS_INITIAL";
423
+ RouteStatus[RouteStatus["ROUTE_STATUS_PLANNED"] = 2] = "ROUTE_STATUS_PLANNED";
424
+ RouteStatus[RouteStatus["ROUTE_STATUS_RECOMMENDED"] = 3] = "ROUTE_STATUS_RECOMMENDED";
425
+ RouteStatus[RouteStatus["ROUTE_STATUS_ACKNOWLEDGED"] = 4] = "ROUTE_STATUS_ACKNOWLEDGED";
426
+ /** ROUTE_STATUS_TERMINATED - Route artifact retired / superseded. */
427
+ RouteStatus[RouteStatus["ROUTE_STATUS_TERMINATED"] = 6] = "ROUTE_STATUS_TERMINATED";
428
+ RouteStatus[RouteStatus["ROUTE_STATUS_ERRORS"] = 7] = "ROUTE_STATUS_ERRORS";
429
+ RouteStatus[RouteStatus["ROUTE_STATUS_INCOMPLETE"] = 8] = "ROUTE_STATUS_INCOMPLETE";
430
+ RouteStatus[RouteStatus["ROUTE_STATUS_ROUTE_ISSUES"] = 9] = "ROUTE_STATUS_ROUTE_ISSUES";
431
+ RouteStatus[RouteStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
432
+ })(RouteStatus || (exports.RouteStatus = RouteStatus = {}));
433
+ function routeStatusFromJSON(object) {
434
+ switch (object) {
435
+ case 0:
436
+ case "ROUTE_STATUS_UNSPECIFIED":
437
+ return RouteStatus.ROUTE_STATUS_UNSPECIFIED;
438
+ case 1:
439
+ case "ROUTE_STATUS_INITIAL":
440
+ return RouteStatus.ROUTE_STATUS_INITIAL;
441
+ case 2:
442
+ case "ROUTE_STATUS_PLANNED":
443
+ return RouteStatus.ROUTE_STATUS_PLANNED;
444
+ case 3:
445
+ case "ROUTE_STATUS_RECOMMENDED":
446
+ return RouteStatus.ROUTE_STATUS_RECOMMENDED;
447
+ case 4:
448
+ case "ROUTE_STATUS_ACKNOWLEDGED":
449
+ return RouteStatus.ROUTE_STATUS_ACKNOWLEDGED;
450
+ case 6:
451
+ case "ROUTE_STATUS_TERMINATED":
452
+ return RouteStatus.ROUTE_STATUS_TERMINATED;
453
+ case 7:
454
+ case "ROUTE_STATUS_ERRORS":
455
+ return RouteStatus.ROUTE_STATUS_ERRORS;
456
+ case 8:
457
+ case "ROUTE_STATUS_INCOMPLETE":
458
+ return RouteStatus.ROUTE_STATUS_INCOMPLETE;
459
+ case 9:
460
+ case "ROUTE_STATUS_ROUTE_ISSUES":
461
+ return RouteStatus.ROUTE_STATUS_ROUTE_ISSUES;
462
+ case -1:
463
+ case "UNRECOGNIZED":
464
+ default:
465
+ return RouteStatus.UNRECOGNIZED;
466
+ }
467
+ }
468
+ exports.routeStatusFromJSON = routeStatusFromJSON;
469
+ function routeStatusToJSON(object) {
470
+ switch (object) {
471
+ case RouteStatus.ROUTE_STATUS_UNSPECIFIED:
472
+ return "ROUTE_STATUS_UNSPECIFIED";
473
+ case RouteStatus.ROUTE_STATUS_INITIAL:
474
+ return "ROUTE_STATUS_INITIAL";
475
+ case RouteStatus.ROUTE_STATUS_PLANNED:
476
+ return "ROUTE_STATUS_PLANNED";
477
+ case RouteStatus.ROUTE_STATUS_RECOMMENDED:
478
+ return "ROUTE_STATUS_RECOMMENDED";
479
+ case RouteStatus.ROUTE_STATUS_ACKNOWLEDGED:
480
+ return "ROUTE_STATUS_ACKNOWLEDGED";
481
+ case RouteStatus.ROUTE_STATUS_TERMINATED:
482
+ return "ROUTE_STATUS_TERMINATED";
483
+ case RouteStatus.ROUTE_STATUS_ERRORS:
484
+ return "ROUTE_STATUS_ERRORS";
485
+ case RouteStatus.ROUTE_STATUS_INCOMPLETE:
486
+ return "ROUTE_STATUS_INCOMPLETE";
487
+ case RouteStatus.ROUTE_STATUS_ROUTE_ISSUES:
488
+ return "ROUTE_STATUS_ROUTE_ISSUES";
489
+ case RouteStatus.UNRECOGNIZED:
490
+ default:
491
+ return "UNRECOGNIZED";
492
+ }
493
+ }
494
+ exports.routeStatusToJSON = routeStatusToJSON;
495
+ /** Required action for an ActionPoint. */
496
+ var ActionPointRequiredAction;
497
+ (function (ActionPointRequiredAction) {
498
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED"] = 0] = "ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED";
499
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_USER_DEFINED"] = 1] = "ACTION_POINT_REQUIRED_ACTION_USER_DEFINED";
500
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_REPORT"] = 2] = "ACTION_POINT_REQUIRED_ACTION_REPORT";
501
+ /** ACTION_POINT_REQUIRED_ACTION_UKCM - Under-keel clearance monitoring */
502
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_UKCM"] = 3] = "ACTION_POINT_REQUIRED_ACTION_UKCM";
503
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_NOTE"] = 4] = "ACTION_POINT_REQUIRED_ACTION_NOTE";
504
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_PILOT_BOARDING"] = 5] = "ACTION_POINT_REQUIRED_ACTION_PILOT_BOARDING";
505
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_FUEL_SWITCH"] = 6] = "ACTION_POINT_REQUIRED_ACTION_FUEL_SWITCH";
506
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_MODE_SWITCH"] = 7] = "ACTION_POINT_REQUIRED_ACTION_MODE_SWITCH";
507
+ ActionPointRequiredAction[ActionPointRequiredAction["ACTION_POINT_REQUIRED_ACTION_INCREASE_LOOKOUT"] = 8] = "ACTION_POINT_REQUIRED_ACTION_INCREASE_LOOKOUT";
508
+ ActionPointRequiredAction[ActionPointRequiredAction["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
509
+ })(ActionPointRequiredAction || (exports.ActionPointRequiredAction = ActionPointRequiredAction = {}));
510
+ function actionPointRequiredActionFromJSON(object) {
511
+ switch (object) {
512
+ case 0:
513
+ case "ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED":
514
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED;
515
+ case 1:
516
+ case "ACTION_POINT_REQUIRED_ACTION_USER_DEFINED":
517
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_USER_DEFINED;
518
+ case 2:
519
+ case "ACTION_POINT_REQUIRED_ACTION_REPORT":
520
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_REPORT;
521
+ case 3:
522
+ case "ACTION_POINT_REQUIRED_ACTION_UKCM":
523
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_UKCM;
524
+ case 4:
525
+ case "ACTION_POINT_REQUIRED_ACTION_NOTE":
526
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_NOTE;
527
+ case 5:
528
+ case "ACTION_POINT_REQUIRED_ACTION_PILOT_BOARDING":
529
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_PILOT_BOARDING;
530
+ case 6:
531
+ case "ACTION_POINT_REQUIRED_ACTION_FUEL_SWITCH":
532
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_FUEL_SWITCH;
533
+ case 7:
534
+ case "ACTION_POINT_REQUIRED_ACTION_MODE_SWITCH":
535
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_MODE_SWITCH;
536
+ case 8:
537
+ case "ACTION_POINT_REQUIRED_ACTION_INCREASE_LOOKOUT":
538
+ return ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_INCREASE_LOOKOUT;
539
+ case -1:
540
+ case "UNRECOGNIZED":
541
+ default:
542
+ return ActionPointRequiredAction.UNRECOGNIZED;
543
+ }
544
+ }
545
+ exports.actionPointRequiredActionFromJSON = actionPointRequiredActionFromJSON;
546
+ function actionPointRequiredActionToJSON(object) {
547
+ switch (object) {
548
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED:
549
+ return "ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED";
550
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_USER_DEFINED:
551
+ return "ACTION_POINT_REQUIRED_ACTION_USER_DEFINED";
552
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_REPORT:
553
+ return "ACTION_POINT_REQUIRED_ACTION_REPORT";
554
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_UKCM:
555
+ return "ACTION_POINT_REQUIRED_ACTION_UKCM";
556
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_NOTE:
557
+ return "ACTION_POINT_REQUIRED_ACTION_NOTE";
558
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_PILOT_BOARDING:
559
+ return "ACTION_POINT_REQUIRED_ACTION_PILOT_BOARDING";
560
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_FUEL_SWITCH:
561
+ return "ACTION_POINT_REQUIRED_ACTION_FUEL_SWITCH";
562
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_MODE_SWITCH:
563
+ return "ACTION_POINT_REQUIRED_ACTION_MODE_SWITCH";
564
+ case ActionPointRequiredAction.ACTION_POINT_REQUIRED_ACTION_INCREASE_LOOKOUT:
565
+ return "ACTION_POINT_REQUIRED_ACTION_INCREASE_LOOKOUT";
566
+ case ActionPointRequiredAction.UNRECOGNIZED:
567
+ default:
568
+ return "UNRECOGNIZED";
569
+ }
570
+ }
571
+ exports.actionPointRequiredActionToJSON = actionPointRequiredActionToJSON;
572
+ /** Whether this schedule was authored manually or computed. */
573
+ var Schedule_Origin;
574
+ (function (Schedule_Origin) {
575
+ Schedule_Origin[Schedule_Origin["ORIGIN_UNSPECIFIED"] = 0] = "ORIGIN_UNSPECIFIED";
576
+ Schedule_Origin[Schedule_Origin["ORIGIN_MANUAL"] = 1] = "ORIGIN_MANUAL";
577
+ Schedule_Origin[Schedule_Origin["ORIGIN_CALCULATED"] = 2] = "ORIGIN_CALCULATED";
578
+ Schedule_Origin[Schedule_Origin["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
579
+ })(Schedule_Origin || (exports.Schedule_Origin = Schedule_Origin = {}));
580
+ function schedule_OriginFromJSON(object) {
581
+ switch (object) {
582
+ case 0:
583
+ case "ORIGIN_UNSPECIFIED":
584
+ return Schedule_Origin.ORIGIN_UNSPECIFIED;
585
+ case 1:
586
+ case "ORIGIN_MANUAL":
587
+ return Schedule_Origin.ORIGIN_MANUAL;
588
+ case 2:
589
+ case "ORIGIN_CALCULATED":
590
+ return Schedule_Origin.ORIGIN_CALCULATED;
591
+ case -1:
592
+ case "UNRECOGNIZED":
593
+ default:
594
+ return Schedule_Origin.UNRECOGNIZED;
595
+ }
596
+ }
597
+ exports.schedule_OriginFromJSON = schedule_OriginFromJSON;
598
+ function schedule_OriginToJSON(object) {
599
+ switch (object) {
600
+ case Schedule_Origin.ORIGIN_UNSPECIFIED:
601
+ return "ORIGIN_UNSPECIFIED";
602
+ case Schedule_Origin.ORIGIN_MANUAL:
603
+ return "ORIGIN_MANUAL";
604
+ case Schedule_Origin.ORIGIN_CALCULATED:
605
+ return "ORIGIN_CALCULATED";
606
+ case Schedule_Origin.UNRECOGNIZED:
607
+ default:
608
+ return "UNRECOGNIZED";
609
+ }
610
+ }
611
+ exports.schedule_OriginToJSON = schedule_OriginToJSON;
612
+ function createBaseRouteRef() {
613
+ return { routeId: "", routeEditionNumber: 0 };
614
+ }
615
+ exports.RouteRef = {
616
+ encode(message, writer = new wire_1.BinaryWriter()) {
617
+ if (message.routeId !== "") {
618
+ writer.uint32(10).string(message.routeId);
619
+ }
620
+ if (message.routeEditionNumber !== 0) {
621
+ writer.uint32(16).uint32(message.routeEditionNumber);
622
+ }
623
+ return writer;
624
+ },
625
+ decode(input, length) {
626
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
627
+ let end = length === undefined ? reader.len : reader.pos + length;
628
+ const message = createBaseRouteRef();
629
+ while (reader.pos < end) {
630
+ const tag = reader.uint32();
631
+ switch (tag >>> 3) {
632
+ case 1: {
633
+ if (tag !== 10) {
634
+ break;
635
+ }
636
+ message.routeId = reader.string();
637
+ continue;
638
+ }
639
+ case 2: {
640
+ if (tag !== 16) {
641
+ break;
642
+ }
643
+ message.routeEditionNumber = reader.uint32();
644
+ continue;
645
+ }
646
+ }
647
+ if ((tag & 7) === 4 || tag === 0) {
648
+ break;
649
+ }
650
+ reader.skip(tag & 7);
651
+ }
652
+ return message;
653
+ },
654
+ fromJSON(object) {
655
+ return {
656
+ routeId: isSet(object.routeId) ? globalThis.String(object.routeId) : "",
657
+ routeEditionNumber: isSet(object.routeEditionNumber) ? globalThis.Number(object.routeEditionNumber) : 0,
658
+ };
659
+ },
660
+ toJSON(message) {
661
+ const obj = {};
662
+ if (message.routeId !== "") {
663
+ obj.routeId = message.routeId;
664
+ }
665
+ if (message.routeEditionNumber !== 0) {
666
+ obj.routeEditionNumber = Math.round(message.routeEditionNumber);
667
+ }
668
+ return obj;
669
+ },
670
+ create(base) {
671
+ return exports.RouteRef.fromPartial(base ?? {});
672
+ },
673
+ fromPartial(object) {
674
+ const message = createBaseRouteRef();
675
+ message.routeId = object.routeId ?? "";
676
+ message.routeEditionNumber = object.routeEditionNumber ?? 0;
677
+ return message;
678
+ },
679
+ };
680
+ function createBaseCircleGeometry() {
681
+ return { centre: undefined, radiusM: 0 };
682
+ }
683
+ exports.CircleGeometry = {
684
+ encode(message, writer = new wire_1.BinaryWriter()) {
685
+ if (message.centre !== undefined) {
686
+ LocationFix_1.LocationFix.encode(message.centre, writer.uint32(10).fork()).join();
687
+ }
688
+ if (message.radiusM !== 0) {
689
+ writer.uint32(21).float(message.radiusM);
690
+ }
691
+ return writer;
692
+ },
693
+ decode(input, length) {
694
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
695
+ let end = length === undefined ? reader.len : reader.pos + length;
696
+ const message = createBaseCircleGeometry();
697
+ while (reader.pos < end) {
698
+ const tag = reader.uint32();
699
+ switch (tag >>> 3) {
700
+ case 1: {
701
+ if (tag !== 10) {
702
+ break;
703
+ }
704
+ message.centre = LocationFix_1.LocationFix.decode(reader, reader.uint32());
705
+ continue;
706
+ }
707
+ case 2: {
708
+ if (tag !== 21) {
709
+ break;
710
+ }
711
+ message.radiusM = reader.float();
712
+ continue;
713
+ }
714
+ }
715
+ if ((tag & 7) === 4 || tag === 0) {
716
+ break;
717
+ }
718
+ reader.skip(tag & 7);
719
+ }
720
+ return message;
721
+ },
722
+ fromJSON(object) {
723
+ return {
724
+ centre: isSet(object.centre) ? LocationFix_1.LocationFix.fromJSON(object.centre) : undefined,
725
+ radiusM: isSet(object.radiusM) ? globalThis.Number(object.radiusM) : 0,
726
+ };
727
+ },
728
+ toJSON(message) {
729
+ const obj = {};
730
+ if (message.centre !== undefined) {
731
+ obj.centre = LocationFix_1.LocationFix.toJSON(message.centre);
732
+ }
733
+ if (message.radiusM !== 0) {
734
+ obj.radiusM = message.radiusM;
735
+ }
736
+ return obj;
737
+ },
738
+ create(base) {
739
+ return exports.CircleGeometry.fromPartial(base ?? {});
740
+ },
741
+ fromPartial(object) {
742
+ const message = createBaseCircleGeometry();
743
+ message.centre = (object.centre !== undefined && object.centre !== null)
744
+ ? LocationFix_1.LocationFix.fromPartial(object.centre)
745
+ : undefined;
746
+ message.radiusM = object.radiusM ?? 0;
747
+ return message;
748
+ },
749
+ };
750
+ function createBaseExtensions() {
751
+ return { entries: [] };
752
+ }
753
+ exports.Extensions = {
754
+ encode(message, writer = new wire_1.BinaryWriter()) {
755
+ for (const v of message.entries) {
756
+ exports.Extensions_Entry.encode(v, writer.uint32(10).fork()).join();
757
+ }
758
+ return writer;
759
+ },
760
+ decode(input, length) {
761
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
762
+ let end = length === undefined ? reader.len : reader.pos + length;
763
+ const message = createBaseExtensions();
764
+ while (reader.pos < end) {
765
+ const tag = reader.uint32();
766
+ switch (tag >>> 3) {
767
+ case 1: {
768
+ if (tag !== 10) {
769
+ break;
770
+ }
771
+ message.entries.push(exports.Extensions_Entry.decode(reader, reader.uint32()));
772
+ continue;
773
+ }
774
+ }
775
+ if ((tag & 7) === 4 || tag === 0) {
776
+ break;
777
+ }
778
+ reader.skip(tag & 7);
779
+ }
780
+ return message;
781
+ },
782
+ fromJSON(object) {
783
+ return {
784
+ entries: globalThis.Array.isArray(object?.entries)
785
+ ? object.entries.map((e) => exports.Extensions_Entry.fromJSON(e))
786
+ : [],
787
+ };
788
+ },
789
+ toJSON(message) {
790
+ const obj = {};
791
+ if (message.entries?.length) {
792
+ obj.entries = message.entries.map((e) => exports.Extensions_Entry.toJSON(e));
793
+ }
794
+ return obj;
795
+ },
796
+ create(base) {
797
+ return exports.Extensions.fromPartial(base ?? {});
798
+ },
799
+ fromPartial(object) {
800
+ const message = createBaseExtensions();
801
+ message.entries = object.entries?.map((e) => exports.Extensions_Entry.fromPartial(e)) || [];
802
+ return message;
803
+ },
804
+ };
805
+ function createBaseExtensions_Entry() {
806
+ return { manufacturer: "", name: "", version: "", payload: undefined, attributes: {} };
807
+ }
808
+ exports.Extensions_Entry = {
809
+ encode(message, writer = new wire_1.BinaryWriter()) {
810
+ if (message.manufacturer !== "") {
811
+ writer.uint32(10).string(message.manufacturer);
812
+ }
813
+ if (message.name !== "") {
814
+ writer.uint32(18).string(message.name);
815
+ }
816
+ if (message.version !== "") {
817
+ writer.uint32(26).string(message.version);
818
+ }
819
+ if (message.payload !== undefined) {
820
+ any_1.Any.encode(message.payload, writer.uint32(34).fork()).join();
821
+ }
822
+ Object.entries(message.attributes).forEach(([key, value]) => {
823
+ exports.Extensions_Entry_AttributesEntry.encode({ key: key, value }, writer.uint32(42).fork()).join();
824
+ });
825
+ return writer;
826
+ },
827
+ decode(input, length) {
828
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
829
+ let end = length === undefined ? reader.len : reader.pos + length;
830
+ const message = createBaseExtensions_Entry();
831
+ while (reader.pos < end) {
832
+ const tag = reader.uint32();
833
+ switch (tag >>> 3) {
834
+ case 1: {
835
+ if (tag !== 10) {
836
+ break;
837
+ }
838
+ message.manufacturer = reader.string();
839
+ continue;
840
+ }
841
+ case 2: {
842
+ if (tag !== 18) {
843
+ break;
844
+ }
845
+ message.name = reader.string();
846
+ continue;
847
+ }
848
+ case 3: {
849
+ if (tag !== 26) {
850
+ break;
851
+ }
852
+ message.version = reader.string();
853
+ continue;
854
+ }
855
+ case 4: {
856
+ if (tag !== 34) {
857
+ break;
858
+ }
859
+ message.payload = any_1.Any.decode(reader, reader.uint32());
860
+ continue;
861
+ }
862
+ case 5: {
863
+ if (tag !== 42) {
864
+ break;
865
+ }
866
+ const entry5 = exports.Extensions_Entry_AttributesEntry.decode(reader, reader.uint32());
867
+ if (entry5.value !== undefined) {
868
+ message.attributes[entry5.key] = entry5.value;
869
+ }
870
+ continue;
871
+ }
872
+ }
873
+ if ((tag & 7) === 4 || tag === 0) {
874
+ break;
875
+ }
876
+ reader.skip(tag & 7);
877
+ }
878
+ return message;
879
+ },
880
+ fromJSON(object) {
881
+ return {
882
+ manufacturer: isSet(object.manufacturer) ? globalThis.String(object.manufacturer) : "",
883
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
884
+ version: isSet(object.version) ? globalThis.String(object.version) : "",
885
+ payload: isSet(object.payload) ? any_1.Any.fromJSON(object.payload) : undefined,
886
+ attributes: isObject(object.attributes)
887
+ ? Object.entries(object.attributes).reduce((acc, [key, value]) => {
888
+ acc[key] = String(value);
889
+ return acc;
890
+ }, {})
891
+ : {},
892
+ };
893
+ },
894
+ toJSON(message) {
895
+ const obj = {};
896
+ if (message.manufacturer !== "") {
897
+ obj.manufacturer = message.manufacturer;
898
+ }
899
+ if (message.name !== "") {
900
+ obj.name = message.name;
901
+ }
902
+ if (message.version !== "") {
903
+ obj.version = message.version;
904
+ }
905
+ if (message.payload !== undefined) {
906
+ obj.payload = any_1.Any.toJSON(message.payload);
907
+ }
908
+ if (message.attributes) {
909
+ const entries = Object.entries(message.attributes);
910
+ if (entries.length > 0) {
911
+ obj.attributes = {};
912
+ entries.forEach(([k, v]) => {
913
+ obj.attributes[k] = v;
914
+ });
915
+ }
916
+ }
917
+ return obj;
918
+ },
919
+ create(base) {
920
+ return exports.Extensions_Entry.fromPartial(base ?? {});
921
+ },
922
+ fromPartial(object) {
923
+ const message = createBaseExtensions_Entry();
924
+ message.manufacturer = object.manufacturer ?? "";
925
+ message.name = object.name ?? "";
926
+ message.version = object.version ?? "";
927
+ message.payload = (object.payload !== undefined && object.payload !== null)
928
+ ? any_1.Any.fromPartial(object.payload)
929
+ : undefined;
930
+ message.attributes = Object.entries(object.attributes ?? {}).reduce((acc, [key, value]) => {
931
+ if (value !== undefined) {
932
+ acc[key] = globalThis.String(value);
933
+ }
934
+ return acc;
935
+ }, {});
936
+ return message;
937
+ },
938
+ };
939
+ function createBaseExtensions_Entry_AttributesEntry() {
940
+ return { key: "", value: "" };
941
+ }
942
+ exports.Extensions_Entry_AttributesEntry = {
943
+ encode(message, writer = new wire_1.BinaryWriter()) {
944
+ if (message.key !== "") {
945
+ writer.uint32(10).string(message.key);
946
+ }
947
+ if (message.value !== "") {
948
+ writer.uint32(18).string(message.value);
949
+ }
950
+ return writer;
951
+ },
952
+ decode(input, length) {
953
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
954
+ let end = length === undefined ? reader.len : reader.pos + length;
955
+ const message = createBaseExtensions_Entry_AttributesEntry();
956
+ while (reader.pos < end) {
957
+ const tag = reader.uint32();
958
+ switch (tag >>> 3) {
959
+ case 1: {
960
+ if (tag !== 10) {
961
+ break;
962
+ }
963
+ message.key = reader.string();
964
+ continue;
965
+ }
966
+ case 2: {
967
+ if (tag !== 18) {
968
+ break;
969
+ }
970
+ message.value = reader.string();
971
+ continue;
972
+ }
973
+ }
974
+ if ((tag & 7) === 4 || tag === 0) {
975
+ break;
976
+ }
977
+ reader.skip(tag & 7);
978
+ }
979
+ return message;
980
+ },
981
+ fromJSON(object) {
982
+ return {
983
+ key: isSet(object.key) ? globalThis.String(object.key) : "",
984
+ value: isSet(object.value) ? globalThis.String(object.value) : "",
985
+ };
986
+ },
987
+ toJSON(message) {
988
+ const obj = {};
989
+ if (message.key !== "") {
990
+ obj.key = message.key;
991
+ }
992
+ if (message.value !== "") {
993
+ obj.value = message.value;
994
+ }
995
+ return obj;
996
+ },
997
+ create(base) {
998
+ return exports.Extensions_Entry_AttributesEntry.fromPartial(base ?? {});
999
+ },
1000
+ fromPartial(object) {
1001
+ const message = createBaseExtensions_Entry_AttributesEntry();
1002
+ message.key = object.key ?? "";
1003
+ message.value = object.value ?? "";
1004
+ return message;
1005
+ },
1006
+ };
1007
+ function createBaseRoute() {
1008
+ return {
1009
+ version: "",
1010
+ routeId: "",
1011
+ routeEditionNumber: 0,
1012
+ routeFormatVersion: "",
1013
+ status: 0,
1014
+ createdAt: undefined,
1015
+ modifiedAt: undefined,
1016
+ info: undefined,
1017
+ waypoints: undefined,
1018
+ schedules: undefined,
1019
+ actionPoints: undefined,
1020
+ hazardZones: [],
1021
+ challenges: [],
1022
+ issues: [],
1023
+ extensions: undefined,
1024
+ };
1025
+ }
1026
+ exports.Route = {
1027
+ encode(message, writer = new wire_1.BinaryWriter()) {
1028
+ if (message.version !== "") {
1029
+ writer.uint32(10).string(message.version);
1030
+ }
1031
+ if (message.routeId !== "") {
1032
+ writer.uint32(18).string(message.routeId);
1033
+ }
1034
+ if (message.routeEditionNumber !== 0) {
1035
+ writer.uint32(24).uint32(message.routeEditionNumber);
1036
+ }
1037
+ if (message.routeFormatVersion !== "") {
1038
+ writer.uint32(34).string(message.routeFormatVersion);
1039
+ }
1040
+ if (message.status !== 0) {
1041
+ writer.uint32(40).int32(message.status);
1042
+ }
1043
+ if (message.createdAt !== undefined) {
1044
+ timestamp_1.Timestamp.encode(toTimestamp(message.createdAt), writer.uint32(50).fork()).join();
1045
+ }
1046
+ if (message.modifiedAt !== undefined) {
1047
+ timestamp_1.Timestamp.encode(toTimestamp(message.modifiedAt), writer.uint32(58).fork()).join();
1048
+ }
1049
+ if (message.info !== undefined) {
1050
+ exports.RouteInfo.encode(message.info, writer.uint32(82).fork()).join();
1051
+ }
1052
+ if (message.waypoints !== undefined) {
1053
+ exports.Waypoints.encode(message.waypoints, writer.uint32(90).fork()).join();
1054
+ }
1055
+ if (message.schedules !== undefined) {
1056
+ exports.Schedules.encode(message.schedules, writer.uint32(98).fork()).join();
1057
+ }
1058
+ if (message.actionPoints !== undefined) {
1059
+ exports.ActionPoints.encode(message.actionPoints, writer.uint32(106).fork()).join();
1060
+ }
1061
+ for (const v of message.hazardZones) {
1062
+ exports.HazardZone.encode(v, writer.uint32(162).fork()).join();
1063
+ }
1064
+ for (const v of message.challenges) {
1065
+ exports.RouteChallenge.encode(v, writer.uint32(178).fork()).join();
1066
+ }
1067
+ for (const v of message.issues) {
1068
+ exports.RouteIssue.encode(v, writer.uint32(186).fork()).join();
1069
+ }
1070
+ if (message.extensions !== undefined) {
1071
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
1072
+ }
1073
+ return writer;
1074
+ },
1075
+ decode(input, length) {
1076
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1077
+ let end = length === undefined ? reader.len : reader.pos + length;
1078
+ const message = createBaseRoute();
1079
+ while (reader.pos < end) {
1080
+ const tag = reader.uint32();
1081
+ switch (tag >>> 3) {
1082
+ case 1: {
1083
+ if (tag !== 10) {
1084
+ break;
1085
+ }
1086
+ message.version = reader.string();
1087
+ continue;
1088
+ }
1089
+ case 2: {
1090
+ if (tag !== 18) {
1091
+ break;
1092
+ }
1093
+ message.routeId = reader.string();
1094
+ continue;
1095
+ }
1096
+ case 3: {
1097
+ if (tag !== 24) {
1098
+ break;
1099
+ }
1100
+ message.routeEditionNumber = reader.uint32();
1101
+ continue;
1102
+ }
1103
+ case 4: {
1104
+ if (tag !== 34) {
1105
+ break;
1106
+ }
1107
+ message.routeFormatVersion = reader.string();
1108
+ continue;
1109
+ }
1110
+ case 5: {
1111
+ if (tag !== 40) {
1112
+ break;
1113
+ }
1114
+ message.status = reader.int32();
1115
+ continue;
1116
+ }
1117
+ case 6: {
1118
+ if (tag !== 50) {
1119
+ break;
1120
+ }
1121
+ message.createdAt = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
1122
+ continue;
1123
+ }
1124
+ case 7: {
1125
+ if (tag !== 58) {
1126
+ break;
1127
+ }
1128
+ message.modifiedAt = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
1129
+ continue;
1130
+ }
1131
+ case 10: {
1132
+ if (tag !== 82) {
1133
+ break;
1134
+ }
1135
+ message.info = exports.RouteInfo.decode(reader, reader.uint32());
1136
+ continue;
1137
+ }
1138
+ case 11: {
1139
+ if (tag !== 90) {
1140
+ break;
1141
+ }
1142
+ message.waypoints = exports.Waypoints.decode(reader, reader.uint32());
1143
+ continue;
1144
+ }
1145
+ case 12: {
1146
+ if (tag !== 98) {
1147
+ break;
1148
+ }
1149
+ message.schedules = exports.Schedules.decode(reader, reader.uint32());
1150
+ continue;
1151
+ }
1152
+ case 13: {
1153
+ if (tag !== 106) {
1154
+ break;
1155
+ }
1156
+ message.actionPoints = exports.ActionPoints.decode(reader, reader.uint32());
1157
+ continue;
1158
+ }
1159
+ case 20: {
1160
+ if (tag !== 162) {
1161
+ break;
1162
+ }
1163
+ message.hazardZones.push(exports.HazardZone.decode(reader, reader.uint32()));
1164
+ continue;
1165
+ }
1166
+ case 22: {
1167
+ if (tag !== 178) {
1168
+ break;
1169
+ }
1170
+ message.challenges.push(exports.RouteChallenge.decode(reader, reader.uint32()));
1171
+ continue;
1172
+ }
1173
+ case 23: {
1174
+ if (tag !== 186) {
1175
+ break;
1176
+ }
1177
+ message.issues.push(exports.RouteIssue.decode(reader, reader.uint32()));
1178
+ continue;
1179
+ }
1180
+ case 99: {
1181
+ if (tag !== 794) {
1182
+ break;
1183
+ }
1184
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
1185
+ continue;
1186
+ }
1187
+ }
1188
+ if ((tag & 7) === 4 || tag === 0) {
1189
+ break;
1190
+ }
1191
+ reader.skip(tag & 7);
1192
+ }
1193
+ return message;
1194
+ },
1195
+ fromJSON(object) {
1196
+ return {
1197
+ version: isSet(object.version) ? globalThis.String(object.version) : "",
1198
+ routeId: isSet(object.routeId) ? globalThis.String(object.routeId) : "",
1199
+ routeEditionNumber: isSet(object.routeEditionNumber) ? globalThis.Number(object.routeEditionNumber) : 0,
1200
+ routeFormatVersion: isSet(object.routeFormatVersion) ? globalThis.String(object.routeFormatVersion) : "",
1201
+ status: isSet(object.status) ? routeStatusFromJSON(object.status) : 0,
1202
+ createdAt: isSet(object.createdAt) ? fromJsonTimestamp(object.createdAt) : undefined,
1203
+ modifiedAt: isSet(object.modifiedAt) ? fromJsonTimestamp(object.modifiedAt) : undefined,
1204
+ info: isSet(object.info) ? exports.RouteInfo.fromJSON(object.info) : undefined,
1205
+ waypoints: isSet(object.waypoints) ? exports.Waypoints.fromJSON(object.waypoints) : undefined,
1206
+ schedules: isSet(object.schedules) ? exports.Schedules.fromJSON(object.schedules) : undefined,
1207
+ actionPoints: isSet(object.actionPoints) ? exports.ActionPoints.fromJSON(object.actionPoints) : undefined,
1208
+ hazardZones: globalThis.Array.isArray(object?.hazardZones)
1209
+ ? object.hazardZones.map((e) => exports.HazardZone.fromJSON(e))
1210
+ : [],
1211
+ challenges: globalThis.Array.isArray(object?.challenges)
1212
+ ? object.challenges.map((e) => exports.RouteChallenge.fromJSON(e))
1213
+ : [],
1214
+ issues: globalThis.Array.isArray(object?.issues) ? object.issues.map((e) => exports.RouteIssue.fromJSON(e)) : [],
1215
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
1216
+ };
1217
+ },
1218
+ toJSON(message) {
1219
+ const obj = {};
1220
+ if (message.version !== "") {
1221
+ obj.version = message.version;
1222
+ }
1223
+ if (message.routeId !== "") {
1224
+ obj.routeId = message.routeId;
1225
+ }
1226
+ if (message.routeEditionNumber !== 0) {
1227
+ obj.routeEditionNumber = Math.round(message.routeEditionNumber);
1228
+ }
1229
+ if (message.routeFormatVersion !== "") {
1230
+ obj.routeFormatVersion = message.routeFormatVersion;
1231
+ }
1232
+ if (message.status !== 0) {
1233
+ obj.status = routeStatusToJSON(message.status);
1234
+ }
1235
+ if (message.createdAt !== undefined) {
1236
+ obj.createdAt = message.createdAt.toISOString();
1237
+ }
1238
+ if (message.modifiedAt !== undefined) {
1239
+ obj.modifiedAt = message.modifiedAt.toISOString();
1240
+ }
1241
+ if (message.info !== undefined) {
1242
+ obj.info = exports.RouteInfo.toJSON(message.info);
1243
+ }
1244
+ if (message.waypoints !== undefined) {
1245
+ obj.waypoints = exports.Waypoints.toJSON(message.waypoints);
1246
+ }
1247
+ if (message.schedules !== undefined) {
1248
+ obj.schedules = exports.Schedules.toJSON(message.schedules);
1249
+ }
1250
+ if (message.actionPoints !== undefined) {
1251
+ obj.actionPoints = exports.ActionPoints.toJSON(message.actionPoints);
1252
+ }
1253
+ if (message.hazardZones?.length) {
1254
+ obj.hazardZones = message.hazardZones.map((e) => exports.HazardZone.toJSON(e));
1255
+ }
1256
+ if (message.challenges?.length) {
1257
+ obj.challenges = message.challenges.map((e) => exports.RouteChallenge.toJSON(e));
1258
+ }
1259
+ if (message.issues?.length) {
1260
+ obj.issues = message.issues.map((e) => exports.RouteIssue.toJSON(e));
1261
+ }
1262
+ if (message.extensions !== undefined) {
1263
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
1264
+ }
1265
+ return obj;
1266
+ },
1267
+ create(base) {
1268
+ return exports.Route.fromPartial(base ?? {});
1269
+ },
1270
+ fromPartial(object) {
1271
+ const message = createBaseRoute();
1272
+ message.version = object.version ?? "";
1273
+ message.routeId = object.routeId ?? "";
1274
+ message.routeEditionNumber = object.routeEditionNumber ?? 0;
1275
+ message.routeFormatVersion = object.routeFormatVersion ?? "";
1276
+ message.status = object.status ?? 0;
1277
+ message.createdAt = object.createdAt ?? undefined;
1278
+ message.modifiedAt = object.modifiedAt ?? undefined;
1279
+ message.info = (object.info !== undefined && object.info !== null) ? exports.RouteInfo.fromPartial(object.info) : undefined;
1280
+ message.waypoints = (object.waypoints !== undefined && object.waypoints !== null)
1281
+ ? exports.Waypoints.fromPartial(object.waypoints)
1282
+ : undefined;
1283
+ message.schedules = (object.schedules !== undefined && object.schedules !== null)
1284
+ ? exports.Schedules.fromPartial(object.schedules)
1285
+ : undefined;
1286
+ message.actionPoints = (object.actionPoints !== undefined && object.actionPoints !== null)
1287
+ ? exports.ActionPoints.fromPartial(object.actionPoints)
1288
+ : undefined;
1289
+ message.hazardZones = object.hazardZones?.map((e) => exports.HazardZone.fromPartial(e)) || [];
1290
+ message.challenges = object.challenges?.map((e) => exports.RouteChallenge.fromPartial(e)) || [];
1291
+ message.issues = object.issues?.map((e) => exports.RouteIssue.fromPartial(e)) || [];
1292
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
1293
+ ? exports.Extensions.fromPartial(object.extensions)
1294
+ : undefined;
1295
+ return message;
1296
+ },
1297
+ };
1298
+ function createBaseRouteInfo() {
1299
+ return {
1300
+ name: "",
1301
+ author: "",
1302
+ authorOrganization: "",
1303
+ validFrom: undefined,
1304
+ validTo: undefined,
1305
+ vesselLoaM: undefined,
1306
+ vesselBeamM: undefined,
1307
+ vesselDraftM: undefined,
1308
+ vesselAirDraftM: undefined,
1309
+ maxRollDeg: undefined,
1310
+ maxWaveHeightM: undefined,
1311
+ maxWindSpeedMps: undefined,
1312
+ minSpeedKnots: undefined,
1313
+ maxSpeedKnots: undefined,
1314
+ minVisibilityM: undefined,
1315
+ maxWindGustMps: undefined,
1316
+ optimizationMethod: "",
1317
+ autonomyLevel: 0,
1318
+ extensions: undefined,
1319
+ };
1320
+ }
1321
+ exports.RouteInfo = {
1322
+ encode(message, writer = new wire_1.BinaryWriter()) {
1323
+ if (message.name !== "") {
1324
+ writer.uint32(10).string(message.name);
1325
+ }
1326
+ if (message.author !== "") {
1327
+ writer.uint32(18).string(message.author);
1328
+ }
1329
+ if (message.authorOrganization !== "") {
1330
+ writer.uint32(26).string(message.authorOrganization);
1331
+ }
1332
+ if (message.validFrom !== undefined) {
1333
+ timestamp_1.Timestamp.encode(toTimestamp(message.validFrom), writer.uint32(34).fork()).join();
1334
+ }
1335
+ if (message.validTo !== undefined) {
1336
+ timestamp_1.Timestamp.encode(toTimestamp(message.validTo), writer.uint32(42).fork()).join();
1337
+ }
1338
+ if (message.vesselLoaM !== undefined) {
1339
+ writer.uint32(165).float(message.vesselLoaM);
1340
+ }
1341
+ if (message.vesselBeamM !== undefined) {
1342
+ writer.uint32(173).float(message.vesselBeamM);
1343
+ }
1344
+ if (message.vesselDraftM !== undefined) {
1345
+ writer.uint32(181).float(message.vesselDraftM);
1346
+ }
1347
+ if (message.vesselAirDraftM !== undefined) {
1348
+ writer.uint32(189).float(message.vesselAirDraftM);
1349
+ }
1350
+ if (message.maxRollDeg !== undefined) {
1351
+ writer.uint32(245).float(message.maxRollDeg);
1352
+ }
1353
+ if (message.maxWaveHeightM !== undefined) {
1354
+ writer.uint32(253).float(message.maxWaveHeightM);
1355
+ }
1356
+ if (message.maxWindSpeedMps !== undefined) {
1357
+ writer.uint32(261).float(message.maxWindSpeedMps);
1358
+ }
1359
+ if (message.minSpeedKnots !== undefined) {
1360
+ writer.uint32(269).float(message.minSpeedKnots);
1361
+ }
1362
+ if (message.maxSpeedKnots !== undefined) {
1363
+ writer.uint32(277).float(message.maxSpeedKnots);
1364
+ }
1365
+ if (message.minVisibilityM !== undefined) {
1366
+ writer.uint32(285).float(message.minVisibilityM);
1367
+ }
1368
+ if (message.maxWindGustMps !== undefined) {
1369
+ writer.uint32(293).float(message.maxWindGustMps);
1370
+ }
1371
+ if (message.optimizationMethod !== "") {
1372
+ writer.uint32(402).string(message.optimizationMethod);
1373
+ }
1374
+ if (message.autonomyLevel !== 0) {
1375
+ writer.uint32(408).int32(message.autonomyLevel);
1376
+ }
1377
+ if (message.extensions !== undefined) {
1378
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
1379
+ }
1380
+ return writer;
1381
+ },
1382
+ decode(input, length) {
1383
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1384
+ let end = length === undefined ? reader.len : reader.pos + length;
1385
+ const message = createBaseRouteInfo();
1386
+ while (reader.pos < end) {
1387
+ const tag = reader.uint32();
1388
+ switch (tag >>> 3) {
1389
+ case 1: {
1390
+ if (tag !== 10) {
1391
+ break;
1392
+ }
1393
+ message.name = reader.string();
1394
+ continue;
1395
+ }
1396
+ case 2: {
1397
+ if (tag !== 18) {
1398
+ break;
1399
+ }
1400
+ message.author = reader.string();
1401
+ continue;
1402
+ }
1403
+ case 3: {
1404
+ if (tag !== 26) {
1405
+ break;
1406
+ }
1407
+ message.authorOrganization = reader.string();
1408
+ continue;
1409
+ }
1410
+ case 4: {
1411
+ if (tag !== 34) {
1412
+ break;
1413
+ }
1414
+ message.validFrom = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
1415
+ continue;
1416
+ }
1417
+ case 5: {
1418
+ if (tag !== 42) {
1419
+ break;
1420
+ }
1421
+ message.validTo = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
1422
+ continue;
1423
+ }
1424
+ case 20: {
1425
+ if (tag !== 165) {
1426
+ break;
1427
+ }
1428
+ message.vesselLoaM = reader.float();
1429
+ continue;
1430
+ }
1431
+ case 21: {
1432
+ if (tag !== 173) {
1433
+ break;
1434
+ }
1435
+ message.vesselBeamM = reader.float();
1436
+ continue;
1437
+ }
1438
+ case 22: {
1439
+ if (tag !== 181) {
1440
+ break;
1441
+ }
1442
+ message.vesselDraftM = reader.float();
1443
+ continue;
1444
+ }
1445
+ case 23: {
1446
+ if (tag !== 189) {
1447
+ break;
1448
+ }
1449
+ message.vesselAirDraftM = reader.float();
1450
+ continue;
1451
+ }
1452
+ case 30: {
1453
+ if (tag !== 245) {
1454
+ break;
1455
+ }
1456
+ message.maxRollDeg = reader.float();
1457
+ continue;
1458
+ }
1459
+ case 31: {
1460
+ if (tag !== 253) {
1461
+ break;
1462
+ }
1463
+ message.maxWaveHeightM = reader.float();
1464
+ continue;
1465
+ }
1466
+ case 32: {
1467
+ if (tag !== 261) {
1468
+ break;
1469
+ }
1470
+ message.maxWindSpeedMps = reader.float();
1471
+ continue;
1472
+ }
1473
+ case 33: {
1474
+ if (tag !== 269) {
1475
+ break;
1476
+ }
1477
+ message.minSpeedKnots = reader.float();
1478
+ continue;
1479
+ }
1480
+ case 34: {
1481
+ if (tag !== 277) {
1482
+ break;
1483
+ }
1484
+ message.maxSpeedKnots = reader.float();
1485
+ continue;
1486
+ }
1487
+ case 35: {
1488
+ if (tag !== 285) {
1489
+ break;
1490
+ }
1491
+ message.minVisibilityM = reader.float();
1492
+ continue;
1493
+ }
1494
+ case 36: {
1495
+ if (tag !== 293) {
1496
+ break;
1497
+ }
1498
+ message.maxWindGustMps = reader.float();
1499
+ continue;
1500
+ }
1501
+ case 50: {
1502
+ if (tag !== 402) {
1503
+ break;
1504
+ }
1505
+ message.optimizationMethod = reader.string();
1506
+ continue;
1507
+ }
1508
+ case 51: {
1509
+ if (tag !== 408) {
1510
+ break;
1511
+ }
1512
+ message.autonomyLevel = reader.int32();
1513
+ continue;
1514
+ }
1515
+ case 99: {
1516
+ if (tag !== 794) {
1517
+ break;
1518
+ }
1519
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
1520
+ continue;
1521
+ }
1522
+ }
1523
+ if ((tag & 7) === 4 || tag === 0) {
1524
+ break;
1525
+ }
1526
+ reader.skip(tag & 7);
1527
+ }
1528
+ return message;
1529
+ },
1530
+ fromJSON(object) {
1531
+ return {
1532
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
1533
+ author: isSet(object.author) ? globalThis.String(object.author) : "",
1534
+ authorOrganization: isSet(object.authorOrganization) ? globalThis.String(object.authorOrganization) : "",
1535
+ validFrom: isSet(object.validFrom) ? fromJsonTimestamp(object.validFrom) : undefined,
1536
+ validTo: isSet(object.validTo) ? fromJsonTimestamp(object.validTo) : undefined,
1537
+ vesselLoaM: isSet(object.vesselLoaM) ? globalThis.Number(object.vesselLoaM) : undefined,
1538
+ vesselBeamM: isSet(object.vesselBeamM) ? globalThis.Number(object.vesselBeamM) : undefined,
1539
+ vesselDraftM: isSet(object.vesselDraftM) ? globalThis.Number(object.vesselDraftM) : undefined,
1540
+ vesselAirDraftM: isSet(object.vesselAirDraftM) ? globalThis.Number(object.vesselAirDraftM) : undefined,
1541
+ maxRollDeg: isSet(object.maxRollDeg) ? globalThis.Number(object.maxRollDeg) : undefined,
1542
+ maxWaveHeightM: isSet(object.maxWaveHeightM) ? globalThis.Number(object.maxWaveHeightM) : undefined,
1543
+ maxWindSpeedMps: isSet(object.maxWindSpeedMps) ? globalThis.Number(object.maxWindSpeedMps) : undefined,
1544
+ minSpeedKnots: isSet(object.minSpeedKnots) ? globalThis.Number(object.minSpeedKnots) : undefined,
1545
+ maxSpeedKnots: isSet(object.maxSpeedKnots) ? globalThis.Number(object.maxSpeedKnots) : undefined,
1546
+ minVisibilityM: isSet(object.minVisibilityM) ? globalThis.Number(object.minVisibilityM) : undefined,
1547
+ maxWindGustMps: isSet(object.maxWindGustMps) ? globalThis.Number(object.maxWindGustMps) : undefined,
1548
+ optimizationMethod: isSet(object.optimizationMethod) ? globalThis.String(object.optimizationMethod) : "",
1549
+ autonomyLevel: isSet(object.autonomyLevel) ? autonomyLevelFromJSON(object.autonomyLevel) : 0,
1550
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
1551
+ };
1552
+ },
1553
+ toJSON(message) {
1554
+ const obj = {};
1555
+ if (message.name !== "") {
1556
+ obj.name = message.name;
1557
+ }
1558
+ if (message.author !== "") {
1559
+ obj.author = message.author;
1560
+ }
1561
+ if (message.authorOrganization !== "") {
1562
+ obj.authorOrganization = message.authorOrganization;
1563
+ }
1564
+ if (message.validFrom !== undefined) {
1565
+ obj.validFrom = message.validFrom.toISOString();
1566
+ }
1567
+ if (message.validTo !== undefined) {
1568
+ obj.validTo = message.validTo.toISOString();
1569
+ }
1570
+ if (message.vesselLoaM !== undefined) {
1571
+ obj.vesselLoaM = message.vesselLoaM;
1572
+ }
1573
+ if (message.vesselBeamM !== undefined) {
1574
+ obj.vesselBeamM = message.vesselBeamM;
1575
+ }
1576
+ if (message.vesselDraftM !== undefined) {
1577
+ obj.vesselDraftM = message.vesselDraftM;
1578
+ }
1579
+ if (message.vesselAirDraftM !== undefined) {
1580
+ obj.vesselAirDraftM = message.vesselAirDraftM;
1581
+ }
1582
+ if (message.maxRollDeg !== undefined) {
1583
+ obj.maxRollDeg = message.maxRollDeg;
1584
+ }
1585
+ if (message.maxWaveHeightM !== undefined) {
1586
+ obj.maxWaveHeightM = message.maxWaveHeightM;
1587
+ }
1588
+ if (message.maxWindSpeedMps !== undefined) {
1589
+ obj.maxWindSpeedMps = message.maxWindSpeedMps;
1590
+ }
1591
+ if (message.minSpeedKnots !== undefined) {
1592
+ obj.minSpeedKnots = message.minSpeedKnots;
1593
+ }
1594
+ if (message.maxSpeedKnots !== undefined) {
1595
+ obj.maxSpeedKnots = message.maxSpeedKnots;
1596
+ }
1597
+ if (message.minVisibilityM !== undefined) {
1598
+ obj.minVisibilityM = message.minVisibilityM;
1599
+ }
1600
+ if (message.maxWindGustMps !== undefined) {
1601
+ obj.maxWindGustMps = message.maxWindGustMps;
1602
+ }
1603
+ if (message.optimizationMethod !== "") {
1604
+ obj.optimizationMethod = message.optimizationMethod;
1605
+ }
1606
+ if (message.autonomyLevel !== 0) {
1607
+ obj.autonomyLevel = autonomyLevelToJSON(message.autonomyLevel);
1608
+ }
1609
+ if (message.extensions !== undefined) {
1610
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
1611
+ }
1612
+ return obj;
1613
+ },
1614
+ create(base) {
1615
+ return exports.RouteInfo.fromPartial(base ?? {});
1616
+ },
1617
+ fromPartial(object) {
1618
+ const message = createBaseRouteInfo();
1619
+ message.name = object.name ?? "";
1620
+ message.author = object.author ?? "";
1621
+ message.authorOrganization = object.authorOrganization ?? "";
1622
+ message.validFrom = object.validFrom ?? undefined;
1623
+ message.validTo = object.validTo ?? undefined;
1624
+ message.vesselLoaM = object.vesselLoaM ?? undefined;
1625
+ message.vesselBeamM = object.vesselBeamM ?? undefined;
1626
+ message.vesselDraftM = object.vesselDraftM ?? undefined;
1627
+ message.vesselAirDraftM = object.vesselAirDraftM ?? undefined;
1628
+ message.maxRollDeg = object.maxRollDeg ?? undefined;
1629
+ message.maxWaveHeightM = object.maxWaveHeightM ?? undefined;
1630
+ message.maxWindSpeedMps = object.maxWindSpeedMps ?? undefined;
1631
+ message.minSpeedKnots = object.minSpeedKnots ?? undefined;
1632
+ message.maxSpeedKnots = object.maxSpeedKnots ?? undefined;
1633
+ message.minVisibilityM = object.minVisibilityM ?? undefined;
1634
+ message.maxWindGustMps = object.maxWindGustMps ?? undefined;
1635
+ message.optimizationMethod = object.optimizationMethod ?? "";
1636
+ message.autonomyLevel = object.autonomyLevel ?? 0;
1637
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
1638
+ ? exports.Extensions.fromPartial(object.extensions)
1639
+ : undefined;
1640
+ return message;
1641
+ },
1642
+ };
1643
+ function createBaseWaypoints() {
1644
+ return { defaults: undefined, waypoint: [], extensions: undefined };
1645
+ }
1646
+ exports.Waypoints = {
1647
+ encode(message, writer = new wire_1.BinaryWriter()) {
1648
+ if (message.defaults !== undefined) {
1649
+ exports.DefaultWaypoint.encode(message.defaults, writer.uint32(10).fork()).join();
1650
+ }
1651
+ for (const v of message.waypoint) {
1652
+ exports.Waypoint.encode(v, writer.uint32(18).fork()).join();
1653
+ }
1654
+ if (message.extensions !== undefined) {
1655
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
1656
+ }
1657
+ return writer;
1658
+ },
1659
+ decode(input, length) {
1660
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1661
+ let end = length === undefined ? reader.len : reader.pos + length;
1662
+ const message = createBaseWaypoints();
1663
+ while (reader.pos < end) {
1664
+ const tag = reader.uint32();
1665
+ switch (tag >>> 3) {
1666
+ case 1: {
1667
+ if (tag !== 10) {
1668
+ break;
1669
+ }
1670
+ message.defaults = exports.DefaultWaypoint.decode(reader, reader.uint32());
1671
+ continue;
1672
+ }
1673
+ case 2: {
1674
+ if (tag !== 18) {
1675
+ break;
1676
+ }
1677
+ message.waypoint.push(exports.Waypoint.decode(reader, reader.uint32()));
1678
+ continue;
1679
+ }
1680
+ case 99: {
1681
+ if (tag !== 794) {
1682
+ break;
1683
+ }
1684
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
1685
+ continue;
1686
+ }
1687
+ }
1688
+ if ((tag & 7) === 4 || tag === 0) {
1689
+ break;
1690
+ }
1691
+ reader.skip(tag & 7);
1692
+ }
1693
+ return message;
1694
+ },
1695
+ fromJSON(object) {
1696
+ return {
1697
+ defaults: isSet(object.defaults) ? exports.DefaultWaypoint.fromJSON(object.defaults) : undefined,
1698
+ waypoint: globalThis.Array.isArray(object?.waypoint) ? object.waypoint.map((e) => exports.Waypoint.fromJSON(e)) : [],
1699
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
1700
+ };
1701
+ },
1702
+ toJSON(message) {
1703
+ const obj = {};
1704
+ if (message.defaults !== undefined) {
1705
+ obj.defaults = exports.DefaultWaypoint.toJSON(message.defaults);
1706
+ }
1707
+ if (message.waypoint?.length) {
1708
+ obj.waypoint = message.waypoint.map((e) => exports.Waypoint.toJSON(e));
1709
+ }
1710
+ if (message.extensions !== undefined) {
1711
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
1712
+ }
1713
+ return obj;
1714
+ },
1715
+ create(base) {
1716
+ return exports.Waypoints.fromPartial(base ?? {});
1717
+ },
1718
+ fromPartial(object) {
1719
+ const message = createBaseWaypoints();
1720
+ message.defaults = (object.defaults !== undefined && object.defaults !== null)
1721
+ ? exports.DefaultWaypoint.fromPartial(object.defaults)
1722
+ : undefined;
1723
+ message.waypoint = object.waypoint?.map((e) => exports.Waypoint.fromPartial(e)) || [];
1724
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
1725
+ ? exports.Extensions.fromPartial(object.extensions)
1726
+ : undefined;
1727
+ return message;
1728
+ },
1729
+ };
1730
+ function createBaseDefaultWaypoint() {
1731
+ return { leg: undefined, radiusM: undefined, plannedSogKnots: undefined };
1732
+ }
1733
+ exports.DefaultWaypoint = {
1734
+ encode(message, writer = new wire_1.BinaryWriter()) {
1735
+ if (message.leg !== undefined) {
1736
+ exports.Leg.encode(message.leg, writer.uint32(10).fork()).join();
1737
+ }
1738
+ if (message.radiusM !== undefined) {
1739
+ writer.uint32(21).float(message.radiusM);
1740
+ }
1741
+ if (message.plannedSogKnots !== undefined) {
1742
+ writer.uint32(29).float(message.plannedSogKnots);
1743
+ }
1744
+ return writer;
1745
+ },
1746
+ decode(input, length) {
1747
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1748
+ let end = length === undefined ? reader.len : reader.pos + length;
1749
+ const message = createBaseDefaultWaypoint();
1750
+ while (reader.pos < end) {
1751
+ const tag = reader.uint32();
1752
+ switch (tag >>> 3) {
1753
+ case 1: {
1754
+ if (tag !== 10) {
1755
+ break;
1756
+ }
1757
+ message.leg = exports.Leg.decode(reader, reader.uint32());
1758
+ continue;
1759
+ }
1760
+ case 2: {
1761
+ if (tag !== 21) {
1762
+ break;
1763
+ }
1764
+ message.radiusM = reader.float();
1765
+ continue;
1766
+ }
1767
+ case 3: {
1768
+ if (tag !== 29) {
1769
+ break;
1770
+ }
1771
+ message.plannedSogKnots = reader.float();
1772
+ continue;
1773
+ }
1774
+ }
1775
+ if ((tag & 7) === 4 || tag === 0) {
1776
+ break;
1777
+ }
1778
+ reader.skip(tag & 7);
1779
+ }
1780
+ return message;
1781
+ },
1782
+ fromJSON(object) {
1783
+ return {
1784
+ leg: isSet(object.leg) ? exports.Leg.fromJSON(object.leg) : undefined,
1785
+ radiusM: isSet(object.radiusM) ? globalThis.Number(object.radiusM) : undefined,
1786
+ plannedSogKnots: isSet(object.plannedSogKnots) ? globalThis.Number(object.plannedSogKnots) : undefined,
1787
+ };
1788
+ },
1789
+ toJSON(message) {
1790
+ const obj = {};
1791
+ if (message.leg !== undefined) {
1792
+ obj.leg = exports.Leg.toJSON(message.leg);
1793
+ }
1794
+ if (message.radiusM !== undefined) {
1795
+ obj.radiusM = message.radiusM;
1796
+ }
1797
+ if (message.plannedSogKnots !== undefined) {
1798
+ obj.plannedSogKnots = message.plannedSogKnots;
1799
+ }
1800
+ return obj;
1801
+ },
1802
+ create(base) {
1803
+ return exports.DefaultWaypoint.fromPartial(base ?? {});
1804
+ },
1805
+ fromPartial(object) {
1806
+ const message = createBaseDefaultWaypoint();
1807
+ message.leg = (object.leg !== undefined && object.leg !== null) ? exports.Leg.fromPartial(object.leg) : undefined;
1808
+ message.radiusM = object.radiusM ?? undefined;
1809
+ message.plannedSogKnots = object.plannedSogKnots ?? undefined;
1810
+ return message;
1811
+ },
1812
+ };
1813
+ function createBaseWaypoint() {
1814
+ return {
1815
+ id: "",
1816
+ revision: 0,
1817
+ name: "",
1818
+ position: undefined,
1819
+ plannedSogKnots: undefined,
1820
+ radiusM: undefined,
1821
+ rateOfTurnDegps: undefined,
1822
+ wheelOverDistanceM: undefined,
1823
+ lock: false,
1824
+ operationalContext: 0,
1825
+ leg: undefined,
1826
+ note: "",
1827
+ extensions: undefined,
1828
+ };
1829
+ }
1830
+ exports.Waypoint = {
1831
+ encode(message, writer = new wire_1.BinaryWriter()) {
1832
+ if (message.id !== "") {
1833
+ writer.uint32(10).string(message.id);
1834
+ }
1835
+ if (message.revision !== 0) {
1836
+ writer.uint32(16).uint32(message.revision);
1837
+ }
1838
+ if (message.name !== "") {
1839
+ writer.uint32(26).string(message.name);
1840
+ }
1841
+ if (message.position !== undefined) {
1842
+ Coordinate_1.Coordinate.encode(message.position, writer.uint32(34).fork()).join();
1843
+ }
1844
+ if (message.plannedSogKnots !== undefined) {
1845
+ writer.uint32(45).float(message.plannedSogKnots);
1846
+ }
1847
+ if (message.radiusM !== undefined) {
1848
+ writer.uint32(53).float(message.radiusM);
1849
+ }
1850
+ if (message.rateOfTurnDegps !== undefined) {
1851
+ writer.uint32(61).float(message.rateOfTurnDegps);
1852
+ }
1853
+ if (message.wheelOverDistanceM !== undefined) {
1854
+ writer.uint32(69).float(message.wheelOverDistanceM);
1855
+ }
1856
+ if (message.lock !== false) {
1857
+ writer.uint32(72).bool(message.lock);
1858
+ }
1859
+ if (message.operationalContext !== 0) {
1860
+ writer.uint32(80).int32(message.operationalContext);
1861
+ }
1862
+ if (message.leg !== undefined) {
1863
+ exports.Leg.encode(message.leg, writer.uint32(90).fork()).join();
1864
+ }
1865
+ if (message.note !== "") {
1866
+ writer.uint32(98).string(message.note);
1867
+ }
1868
+ if (message.extensions !== undefined) {
1869
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
1870
+ }
1871
+ return writer;
1872
+ },
1873
+ decode(input, length) {
1874
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1875
+ let end = length === undefined ? reader.len : reader.pos + length;
1876
+ const message = createBaseWaypoint();
1877
+ while (reader.pos < end) {
1878
+ const tag = reader.uint32();
1879
+ switch (tag >>> 3) {
1880
+ case 1: {
1881
+ if (tag !== 10) {
1882
+ break;
1883
+ }
1884
+ message.id = reader.string();
1885
+ continue;
1886
+ }
1887
+ case 2: {
1888
+ if (tag !== 16) {
1889
+ break;
1890
+ }
1891
+ message.revision = reader.uint32();
1892
+ continue;
1893
+ }
1894
+ case 3: {
1895
+ if (tag !== 26) {
1896
+ break;
1897
+ }
1898
+ message.name = reader.string();
1899
+ continue;
1900
+ }
1901
+ case 4: {
1902
+ if (tag !== 34) {
1903
+ break;
1904
+ }
1905
+ message.position = Coordinate_1.Coordinate.decode(reader, reader.uint32());
1906
+ continue;
1907
+ }
1908
+ case 5: {
1909
+ if (tag !== 45) {
1910
+ break;
1911
+ }
1912
+ message.plannedSogKnots = reader.float();
1913
+ continue;
1914
+ }
1915
+ case 6: {
1916
+ if (tag !== 53) {
1917
+ break;
1918
+ }
1919
+ message.radiusM = reader.float();
1920
+ continue;
1921
+ }
1922
+ case 7: {
1923
+ if (tag !== 61) {
1924
+ break;
1925
+ }
1926
+ message.rateOfTurnDegps = reader.float();
1927
+ continue;
1928
+ }
1929
+ case 8: {
1930
+ if (tag !== 69) {
1931
+ break;
1932
+ }
1933
+ message.wheelOverDistanceM = reader.float();
1934
+ continue;
1935
+ }
1936
+ case 9: {
1937
+ if (tag !== 72) {
1938
+ break;
1939
+ }
1940
+ message.lock = reader.bool();
1941
+ continue;
1942
+ }
1943
+ case 10: {
1944
+ if (tag !== 80) {
1945
+ break;
1946
+ }
1947
+ message.operationalContext = reader.int32();
1948
+ continue;
1949
+ }
1950
+ case 11: {
1951
+ if (tag !== 90) {
1952
+ break;
1953
+ }
1954
+ message.leg = exports.Leg.decode(reader, reader.uint32());
1955
+ continue;
1956
+ }
1957
+ case 12: {
1958
+ if (tag !== 98) {
1959
+ break;
1960
+ }
1961
+ message.note = reader.string();
1962
+ continue;
1963
+ }
1964
+ case 99: {
1965
+ if (tag !== 794) {
1966
+ break;
1967
+ }
1968
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
1969
+ continue;
1970
+ }
1971
+ }
1972
+ if ((tag & 7) === 4 || tag === 0) {
1973
+ break;
1974
+ }
1975
+ reader.skip(tag & 7);
1976
+ }
1977
+ return message;
1978
+ },
1979
+ fromJSON(object) {
1980
+ return {
1981
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
1982
+ revision: isSet(object.revision) ? globalThis.Number(object.revision) : 0,
1983
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
1984
+ position: isSet(object.position) ? Coordinate_1.Coordinate.fromJSON(object.position) : undefined,
1985
+ plannedSogKnots: isSet(object.plannedSogKnots) ? globalThis.Number(object.plannedSogKnots) : undefined,
1986
+ radiusM: isSet(object.radiusM) ? globalThis.Number(object.radiusM) : undefined,
1987
+ rateOfTurnDegps: isSet(object.rateOfTurnDegps) ? globalThis.Number(object.rateOfTurnDegps) : undefined,
1988
+ wheelOverDistanceM: isSet(object.wheelOverDistanceM) ? globalThis.Number(object.wheelOverDistanceM) : undefined,
1989
+ lock: isSet(object.lock) ? globalThis.Boolean(object.lock) : false,
1990
+ operationalContext: isSet(object.operationalContext) ? operationalContextFromJSON(object.operationalContext) : 0,
1991
+ leg: isSet(object.leg) ? exports.Leg.fromJSON(object.leg) : undefined,
1992
+ note: isSet(object.note) ? globalThis.String(object.note) : "",
1993
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
1994
+ };
1995
+ },
1996
+ toJSON(message) {
1997
+ const obj = {};
1998
+ if (message.id !== "") {
1999
+ obj.id = message.id;
2000
+ }
2001
+ if (message.revision !== 0) {
2002
+ obj.revision = Math.round(message.revision);
2003
+ }
2004
+ if (message.name !== "") {
2005
+ obj.name = message.name;
2006
+ }
2007
+ if (message.position !== undefined) {
2008
+ obj.position = Coordinate_1.Coordinate.toJSON(message.position);
2009
+ }
2010
+ if (message.plannedSogKnots !== undefined) {
2011
+ obj.plannedSogKnots = message.plannedSogKnots;
2012
+ }
2013
+ if (message.radiusM !== undefined) {
2014
+ obj.radiusM = message.radiusM;
2015
+ }
2016
+ if (message.rateOfTurnDegps !== undefined) {
2017
+ obj.rateOfTurnDegps = message.rateOfTurnDegps;
2018
+ }
2019
+ if (message.wheelOverDistanceM !== undefined) {
2020
+ obj.wheelOverDistanceM = message.wheelOverDistanceM;
2021
+ }
2022
+ if (message.lock !== false) {
2023
+ obj.lock = message.lock;
2024
+ }
2025
+ if (message.operationalContext !== 0) {
2026
+ obj.operationalContext = operationalContextToJSON(message.operationalContext);
2027
+ }
2028
+ if (message.leg !== undefined) {
2029
+ obj.leg = exports.Leg.toJSON(message.leg);
2030
+ }
2031
+ if (message.note !== "") {
2032
+ obj.note = message.note;
2033
+ }
2034
+ if (message.extensions !== undefined) {
2035
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2036
+ }
2037
+ return obj;
2038
+ },
2039
+ create(base) {
2040
+ return exports.Waypoint.fromPartial(base ?? {});
2041
+ },
2042
+ fromPartial(object) {
2043
+ const message = createBaseWaypoint();
2044
+ message.id = object.id ?? "";
2045
+ message.revision = object.revision ?? 0;
2046
+ message.name = object.name ?? "";
2047
+ message.position = (object.position !== undefined && object.position !== null)
2048
+ ? Coordinate_1.Coordinate.fromPartial(object.position)
2049
+ : undefined;
2050
+ message.plannedSogKnots = object.plannedSogKnots ?? undefined;
2051
+ message.radiusM = object.radiusM ?? undefined;
2052
+ message.rateOfTurnDegps = object.rateOfTurnDegps ?? undefined;
2053
+ message.wheelOverDistanceM = object.wheelOverDistanceM ?? undefined;
2054
+ message.lock = object.lock ?? false;
2055
+ message.operationalContext = object.operationalContext ?? 0;
2056
+ message.leg = (object.leg !== undefined && object.leg !== null) ? exports.Leg.fromPartial(object.leg) : undefined;
2057
+ message.note = object.note ?? "";
2058
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
2059
+ ? exports.Extensions.fromPartial(object.extensions)
2060
+ : undefined;
2061
+ return message;
2062
+ },
2063
+ };
2064
+ function createBaseLeg() {
2065
+ return {
2066
+ xtdPortM: undefined,
2067
+ xtdStarboardM: undefined,
2068
+ xtdMonitoringPortM: undefined,
2069
+ xtdMonitoringStarboardM: undefined,
2070
+ safetyContourM: undefined,
2071
+ safetyDepthM: undefined,
2072
+ ukcStaticM: undefined,
2073
+ ukcDynamicM: undefined,
2074
+ draughtBowM: undefined,
2075
+ draughtSternM: undefined,
2076
+ draughtMeanM: undefined,
2077
+ geometryType: 0,
2078
+ sogMinKnots: undefined,
2079
+ sogMaxKnots: undefined,
2080
+ stwMinKnots: undefined,
2081
+ stwMaxKnots: undefined,
2082
+ draughtMaxM: undefined,
2083
+ airDraftMaxM: undefined,
2084
+ beamMaxM: undefined,
2085
+ lengthMaxM: undefined,
2086
+ report: "",
2087
+ note: "",
2088
+ colregSituation: 0,
2089
+ colregTrafficIntensity: 0,
2090
+ extensions: undefined,
2091
+ };
2092
+ }
2093
+ exports.Leg = {
2094
+ encode(message, writer = new wire_1.BinaryWriter()) {
2095
+ if (message.xtdPortM !== undefined) {
2096
+ writer.uint32(13).float(message.xtdPortM);
2097
+ }
2098
+ if (message.xtdStarboardM !== undefined) {
2099
+ writer.uint32(21).float(message.xtdStarboardM);
2100
+ }
2101
+ if (message.xtdMonitoringPortM !== undefined) {
2102
+ writer.uint32(29).float(message.xtdMonitoringPortM);
2103
+ }
2104
+ if (message.xtdMonitoringStarboardM !== undefined) {
2105
+ writer.uint32(37).float(message.xtdMonitoringStarboardM);
2106
+ }
2107
+ if (message.safetyContourM !== undefined) {
2108
+ writer.uint32(85).float(message.safetyContourM);
2109
+ }
2110
+ if (message.safetyDepthM !== undefined) {
2111
+ writer.uint32(93).float(message.safetyDepthM);
2112
+ }
2113
+ if (message.ukcStaticM !== undefined) {
2114
+ writer.uint32(165).float(message.ukcStaticM);
2115
+ }
2116
+ if (message.ukcDynamicM !== undefined) {
2117
+ writer.uint32(173).float(message.ukcDynamicM);
2118
+ }
2119
+ if (message.draughtBowM !== undefined) {
2120
+ writer.uint32(245).float(message.draughtBowM);
2121
+ }
2122
+ if (message.draughtSternM !== undefined) {
2123
+ writer.uint32(253).float(message.draughtSternM);
2124
+ }
2125
+ if (message.draughtMeanM !== undefined) {
2126
+ writer.uint32(261).float(message.draughtMeanM);
2127
+ }
2128
+ if (message.geometryType !== 0) {
2129
+ writer.uint32(320).int32(message.geometryType);
2130
+ }
2131
+ if (message.sogMinKnots !== undefined) {
2132
+ writer.uint32(405).float(message.sogMinKnots);
2133
+ }
2134
+ if (message.sogMaxKnots !== undefined) {
2135
+ writer.uint32(413).float(message.sogMaxKnots);
2136
+ }
2137
+ if (message.stwMinKnots !== undefined) {
2138
+ writer.uint32(421).float(message.stwMinKnots);
2139
+ }
2140
+ if (message.stwMaxKnots !== undefined) {
2141
+ writer.uint32(429).float(message.stwMaxKnots);
2142
+ }
2143
+ if (message.draughtMaxM !== undefined) {
2144
+ writer.uint32(565).float(message.draughtMaxM);
2145
+ }
2146
+ if (message.airDraftMaxM !== undefined) {
2147
+ writer.uint32(573).float(message.airDraftMaxM);
2148
+ }
2149
+ if (message.beamMaxM !== undefined) {
2150
+ writer.uint32(581).float(message.beamMaxM);
2151
+ }
2152
+ if (message.lengthMaxM !== undefined) {
2153
+ writer.uint32(589).float(message.lengthMaxM);
2154
+ }
2155
+ if (message.report !== "") {
2156
+ writer.uint32(642).string(message.report);
2157
+ }
2158
+ if (message.note !== "") {
2159
+ writer.uint32(650).string(message.note);
2160
+ }
2161
+ if (message.colregSituation !== 0) {
2162
+ writer.uint32(720).int32(message.colregSituation);
2163
+ }
2164
+ if (message.colregTrafficIntensity !== 0) {
2165
+ writer.uint32(728).int32(message.colregTrafficIntensity);
2166
+ }
2167
+ if (message.extensions !== undefined) {
2168
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
2169
+ }
2170
+ return writer;
2171
+ },
2172
+ decode(input, length) {
2173
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2174
+ let end = length === undefined ? reader.len : reader.pos + length;
2175
+ const message = createBaseLeg();
2176
+ while (reader.pos < end) {
2177
+ const tag = reader.uint32();
2178
+ switch (tag >>> 3) {
2179
+ case 1: {
2180
+ if (tag !== 13) {
2181
+ break;
2182
+ }
2183
+ message.xtdPortM = reader.float();
2184
+ continue;
2185
+ }
2186
+ case 2: {
2187
+ if (tag !== 21) {
2188
+ break;
2189
+ }
2190
+ message.xtdStarboardM = reader.float();
2191
+ continue;
2192
+ }
2193
+ case 3: {
2194
+ if (tag !== 29) {
2195
+ break;
2196
+ }
2197
+ message.xtdMonitoringPortM = reader.float();
2198
+ continue;
2199
+ }
2200
+ case 4: {
2201
+ if (tag !== 37) {
2202
+ break;
2203
+ }
2204
+ message.xtdMonitoringStarboardM = reader.float();
2205
+ continue;
2206
+ }
2207
+ case 10: {
2208
+ if (tag !== 85) {
2209
+ break;
2210
+ }
2211
+ message.safetyContourM = reader.float();
2212
+ continue;
2213
+ }
2214
+ case 11: {
2215
+ if (tag !== 93) {
2216
+ break;
2217
+ }
2218
+ message.safetyDepthM = reader.float();
2219
+ continue;
2220
+ }
2221
+ case 20: {
2222
+ if (tag !== 165) {
2223
+ break;
2224
+ }
2225
+ message.ukcStaticM = reader.float();
2226
+ continue;
2227
+ }
2228
+ case 21: {
2229
+ if (tag !== 173) {
2230
+ break;
2231
+ }
2232
+ message.ukcDynamicM = reader.float();
2233
+ continue;
2234
+ }
2235
+ case 30: {
2236
+ if (tag !== 245) {
2237
+ break;
2238
+ }
2239
+ message.draughtBowM = reader.float();
2240
+ continue;
2241
+ }
2242
+ case 31: {
2243
+ if (tag !== 253) {
2244
+ break;
2245
+ }
2246
+ message.draughtSternM = reader.float();
2247
+ continue;
2248
+ }
2249
+ case 32: {
2250
+ if (tag !== 261) {
2251
+ break;
2252
+ }
2253
+ message.draughtMeanM = reader.float();
2254
+ continue;
2255
+ }
2256
+ case 40: {
2257
+ if (tag !== 320) {
2258
+ break;
2259
+ }
2260
+ message.geometryType = reader.int32();
2261
+ continue;
2262
+ }
2263
+ case 50: {
2264
+ if (tag !== 405) {
2265
+ break;
2266
+ }
2267
+ message.sogMinKnots = reader.float();
2268
+ continue;
2269
+ }
2270
+ case 51: {
2271
+ if (tag !== 413) {
2272
+ break;
2273
+ }
2274
+ message.sogMaxKnots = reader.float();
2275
+ continue;
2276
+ }
2277
+ case 52: {
2278
+ if (tag !== 421) {
2279
+ break;
2280
+ }
2281
+ message.stwMinKnots = reader.float();
2282
+ continue;
2283
+ }
2284
+ case 53: {
2285
+ if (tag !== 429) {
2286
+ break;
2287
+ }
2288
+ message.stwMaxKnots = reader.float();
2289
+ continue;
2290
+ }
2291
+ case 70: {
2292
+ if (tag !== 565) {
2293
+ break;
2294
+ }
2295
+ message.draughtMaxM = reader.float();
2296
+ continue;
2297
+ }
2298
+ case 71: {
2299
+ if (tag !== 573) {
2300
+ break;
2301
+ }
2302
+ message.airDraftMaxM = reader.float();
2303
+ continue;
2304
+ }
2305
+ case 72: {
2306
+ if (tag !== 581) {
2307
+ break;
2308
+ }
2309
+ message.beamMaxM = reader.float();
2310
+ continue;
2311
+ }
2312
+ case 73: {
2313
+ if (tag !== 589) {
2314
+ break;
2315
+ }
2316
+ message.lengthMaxM = reader.float();
2317
+ continue;
2318
+ }
2319
+ case 80: {
2320
+ if (tag !== 642) {
2321
+ break;
2322
+ }
2323
+ message.report = reader.string();
2324
+ continue;
2325
+ }
2326
+ case 81: {
2327
+ if (tag !== 650) {
2328
+ break;
2329
+ }
2330
+ message.note = reader.string();
2331
+ continue;
2332
+ }
2333
+ case 90: {
2334
+ if (tag !== 720) {
2335
+ break;
2336
+ }
2337
+ message.colregSituation = reader.int32();
2338
+ continue;
2339
+ }
2340
+ case 91: {
2341
+ if (tag !== 728) {
2342
+ break;
2343
+ }
2344
+ message.colregTrafficIntensity = reader.int32();
2345
+ continue;
2346
+ }
2347
+ case 99: {
2348
+ if (tag !== 794) {
2349
+ break;
2350
+ }
2351
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2352
+ continue;
2353
+ }
2354
+ }
2355
+ if ((tag & 7) === 4 || tag === 0) {
2356
+ break;
2357
+ }
2358
+ reader.skip(tag & 7);
2359
+ }
2360
+ return message;
2361
+ },
2362
+ fromJSON(object) {
2363
+ return {
2364
+ xtdPortM: isSet(object.xtdPortM) ? globalThis.Number(object.xtdPortM) : undefined,
2365
+ xtdStarboardM: isSet(object.xtdStarboardM) ? globalThis.Number(object.xtdStarboardM) : undefined,
2366
+ xtdMonitoringPortM: isSet(object.xtdMonitoringPortM) ? globalThis.Number(object.xtdMonitoringPortM) : undefined,
2367
+ xtdMonitoringStarboardM: isSet(object.xtdMonitoringStarboardM)
2368
+ ? globalThis.Number(object.xtdMonitoringStarboardM)
2369
+ : undefined,
2370
+ safetyContourM: isSet(object.safetyContourM) ? globalThis.Number(object.safetyContourM) : undefined,
2371
+ safetyDepthM: isSet(object.safetyDepthM) ? globalThis.Number(object.safetyDepthM) : undefined,
2372
+ ukcStaticM: isSet(object.ukcStaticM) ? globalThis.Number(object.ukcStaticM) : undefined,
2373
+ ukcDynamicM: isSet(object.ukcDynamicM) ? globalThis.Number(object.ukcDynamicM) : undefined,
2374
+ draughtBowM: isSet(object.draughtBowM) ? globalThis.Number(object.draughtBowM) : undefined,
2375
+ draughtSternM: isSet(object.draughtSternM) ? globalThis.Number(object.draughtSternM) : undefined,
2376
+ draughtMeanM: isSet(object.draughtMeanM) ? globalThis.Number(object.draughtMeanM) : undefined,
2377
+ geometryType: isSet(object.geometryType) ? geometryTypeFromJSON(object.geometryType) : 0,
2378
+ sogMinKnots: isSet(object.sogMinKnots) ? globalThis.Number(object.sogMinKnots) : undefined,
2379
+ sogMaxKnots: isSet(object.sogMaxKnots) ? globalThis.Number(object.sogMaxKnots) : undefined,
2380
+ stwMinKnots: isSet(object.stwMinKnots) ? globalThis.Number(object.stwMinKnots) : undefined,
2381
+ stwMaxKnots: isSet(object.stwMaxKnots) ? globalThis.Number(object.stwMaxKnots) : undefined,
2382
+ draughtMaxM: isSet(object.draughtMaxM) ? globalThis.Number(object.draughtMaxM) : undefined,
2383
+ airDraftMaxM: isSet(object.airDraftMaxM) ? globalThis.Number(object.airDraftMaxM) : undefined,
2384
+ beamMaxM: isSet(object.beamMaxM) ? globalThis.Number(object.beamMaxM) : undefined,
2385
+ lengthMaxM: isSet(object.lengthMaxM) ? globalThis.Number(object.lengthMaxM) : undefined,
2386
+ report: isSet(object.report) ? globalThis.String(object.report) : "",
2387
+ note: isSet(object.note) ? globalThis.String(object.note) : "",
2388
+ colregSituation: isSet(object.colregSituation) ? colregSituationFromJSON(object.colregSituation) : 0,
2389
+ colregTrafficIntensity: isSet(object.colregTrafficIntensity)
2390
+ ? colregTrafficIntensityFromJSON(object.colregTrafficIntensity)
2391
+ : 0,
2392
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
2393
+ };
2394
+ },
2395
+ toJSON(message) {
2396
+ const obj = {};
2397
+ if (message.xtdPortM !== undefined) {
2398
+ obj.xtdPortM = message.xtdPortM;
2399
+ }
2400
+ if (message.xtdStarboardM !== undefined) {
2401
+ obj.xtdStarboardM = message.xtdStarboardM;
2402
+ }
2403
+ if (message.xtdMonitoringPortM !== undefined) {
2404
+ obj.xtdMonitoringPortM = message.xtdMonitoringPortM;
2405
+ }
2406
+ if (message.xtdMonitoringStarboardM !== undefined) {
2407
+ obj.xtdMonitoringStarboardM = message.xtdMonitoringStarboardM;
2408
+ }
2409
+ if (message.safetyContourM !== undefined) {
2410
+ obj.safetyContourM = message.safetyContourM;
2411
+ }
2412
+ if (message.safetyDepthM !== undefined) {
2413
+ obj.safetyDepthM = message.safetyDepthM;
2414
+ }
2415
+ if (message.ukcStaticM !== undefined) {
2416
+ obj.ukcStaticM = message.ukcStaticM;
2417
+ }
2418
+ if (message.ukcDynamicM !== undefined) {
2419
+ obj.ukcDynamicM = message.ukcDynamicM;
2420
+ }
2421
+ if (message.draughtBowM !== undefined) {
2422
+ obj.draughtBowM = message.draughtBowM;
2423
+ }
2424
+ if (message.draughtSternM !== undefined) {
2425
+ obj.draughtSternM = message.draughtSternM;
2426
+ }
2427
+ if (message.draughtMeanM !== undefined) {
2428
+ obj.draughtMeanM = message.draughtMeanM;
2429
+ }
2430
+ if (message.geometryType !== 0) {
2431
+ obj.geometryType = geometryTypeToJSON(message.geometryType);
2432
+ }
2433
+ if (message.sogMinKnots !== undefined) {
2434
+ obj.sogMinKnots = message.sogMinKnots;
2435
+ }
2436
+ if (message.sogMaxKnots !== undefined) {
2437
+ obj.sogMaxKnots = message.sogMaxKnots;
2438
+ }
2439
+ if (message.stwMinKnots !== undefined) {
2440
+ obj.stwMinKnots = message.stwMinKnots;
2441
+ }
2442
+ if (message.stwMaxKnots !== undefined) {
2443
+ obj.stwMaxKnots = message.stwMaxKnots;
2444
+ }
2445
+ if (message.draughtMaxM !== undefined) {
2446
+ obj.draughtMaxM = message.draughtMaxM;
2447
+ }
2448
+ if (message.airDraftMaxM !== undefined) {
2449
+ obj.airDraftMaxM = message.airDraftMaxM;
2450
+ }
2451
+ if (message.beamMaxM !== undefined) {
2452
+ obj.beamMaxM = message.beamMaxM;
2453
+ }
2454
+ if (message.lengthMaxM !== undefined) {
2455
+ obj.lengthMaxM = message.lengthMaxM;
2456
+ }
2457
+ if (message.report !== "") {
2458
+ obj.report = message.report;
2459
+ }
2460
+ if (message.note !== "") {
2461
+ obj.note = message.note;
2462
+ }
2463
+ if (message.colregSituation !== 0) {
2464
+ obj.colregSituation = colregSituationToJSON(message.colregSituation);
2465
+ }
2466
+ if (message.colregTrafficIntensity !== 0) {
2467
+ obj.colregTrafficIntensity = colregTrafficIntensityToJSON(message.colregTrafficIntensity);
2468
+ }
2469
+ if (message.extensions !== undefined) {
2470
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2471
+ }
2472
+ return obj;
2473
+ },
2474
+ create(base) {
2475
+ return exports.Leg.fromPartial(base ?? {});
2476
+ },
2477
+ fromPartial(object) {
2478
+ const message = createBaseLeg();
2479
+ message.xtdPortM = object.xtdPortM ?? undefined;
2480
+ message.xtdStarboardM = object.xtdStarboardM ?? undefined;
2481
+ message.xtdMonitoringPortM = object.xtdMonitoringPortM ?? undefined;
2482
+ message.xtdMonitoringStarboardM = object.xtdMonitoringStarboardM ?? undefined;
2483
+ message.safetyContourM = object.safetyContourM ?? undefined;
2484
+ message.safetyDepthM = object.safetyDepthM ?? undefined;
2485
+ message.ukcStaticM = object.ukcStaticM ?? undefined;
2486
+ message.ukcDynamicM = object.ukcDynamicM ?? undefined;
2487
+ message.draughtBowM = object.draughtBowM ?? undefined;
2488
+ message.draughtSternM = object.draughtSternM ?? undefined;
2489
+ message.draughtMeanM = object.draughtMeanM ?? undefined;
2490
+ message.geometryType = object.geometryType ?? 0;
2491
+ message.sogMinKnots = object.sogMinKnots ?? undefined;
2492
+ message.sogMaxKnots = object.sogMaxKnots ?? undefined;
2493
+ message.stwMinKnots = object.stwMinKnots ?? undefined;
2494
+ message.stwMaxKnots = object.stwMaxKnots ?? undefined;
2495
+ message.draughtMaxM = object.draughtMaxM ?? undefined;
2496
+ message.airDraftMaxM = object.airDraftMaxM ?? undefined;
2497
+ message.beamMaxM = object.beamMaxM ?? undefined;
2498
+ message.lengthMaxM = object.lengthMaxM ?? undefined;
2499
+ message.report = object.report ?? "";
2500
+ message.note = object.note ?? "";
2501
+ message.colregSituation = object.colregSituation ?? 0;
2502
+ message.colregTrafficIntensity = object.colregTrafficIntensity ?? 0;
2503
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
2504
+ ? exports.Extensions.fromPartial(object.extensions)
2505
+ : undefined;
2506
+ return message;
2507
+ },
2508
+ };
2509
+ function createBaseSchedules() {
2510
+ return { schedule: [], extensions: undefined };
2511
+ }
2512
+ exports.Schedules = {
2513
+ encode(message, writer = new wire_1.BinaryWriter()) {
2514
+ for (const v of message.schedule) {
2515
+ exports.Schedule.encode(v, writer.uint32(10).fork()).join();
2516
+ }
2517
+ if (message.extensions !== undefined) {
2518
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
2519
+ }
2520
+ return writer;
2521
+ },
2522
+ decode(input, length) {
2523
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2524
+ let end = length === undefined ? reader.len : reader.pos + length;
2525
+ const message = createBaseSchedules();
2526
+ while (reader.pos < end) {
2527
+ const tag = reader.uint32();
2528
+ switch (tag >>> 3) {
2529
+ case 1: {
2530
+ if (tag !== 10) {
2531
+ break;
2532
+ }
2533
+ message.schedule.push(exports.Schedule.decode(reader, reader.uint32()));
2534
+ continue;
2535
+ }
2536
+ case 99: {
2537
+ if (tag !== 794) {
2538
+ break;
2539
+ }
2540
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2541
+ continue;
2542
+ }
2543
+ }
2544
+ if ((tag & 7) === 4 || tag === 0) {
2545
+ break;
2546
+ }
2547
+ reader.skip(tag & 7);
2548
+ }
2549
+ return message;
2550
+ },
2551
+ fromJSON(object) {
2552
+ return {
2553
+ schedule: globalThis.Array.isArray(object?.schedule) ? object.schedule.map((e) => exports.Schedule.fromJSON(e)) : [],
2554
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
2555
+ };
2556
+ },
2557
+ toJSON(message) {
2558
+ const obj = {};
2559
+ if (message.schedule?.length) {
2560
+ obj.schedule = message.schedule.map((e) => exports.Schedule.toJSON(e));
2561
+ }
2562
+ if (message.extensions !== undefined) {
2563
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2564
+ }
2565
+ return obj;
2566
+ },
2567
+ create(base) {
2568
+ return exports.Schedules.fromPartial(base ?? {});
2569
+ },
2570
+ fromPartial(object) {
2571
+ const message = createBaseSchedules();
2572
+ message.schedule = object.schedule?.map((e) => exports.Schedule.fromPartial(e)) || [];
2573
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
2574
+ ? exports.Extensions.fromPartial(object.extensions)
2575
+ : undefined;
2576
+ return message;
2577
+ },
2578
+ };
2579
+ function createBaseSchedule() {
2580
+ return { id: "", name: "", origin: 0, element: [], extensions: undefined };
2581
+ }
2582
+ exports.Schedule = {
2583
+ encode(message, writer = new wire_1.BinaryWriter()) {
2584
+ if (message.id !== "") {
2585
+ writer.uint32(10).string(message.id);
2586
+ }
2587
+ if (message.name !== "") {
2588
+ writer.uint32(18).string(message.name);
2589
+ }
2590
+ if (message.origin !== 0) {
2591
+ writer.uint32(24).int32(message.origin);
2592
+ }
2593
+ for (const v of message.element) {
2594
+ exports.ScheduleElement.encode(v, writer.uint32(34).fork()).join();
2595
+ }
2596
+ if (message.extensions !== undefined) {
2597
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
2598
+ }
2599
+ return writer;
2600
+ },
2601
+ decode(input, length) {
2602
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2603
+ let end = length === undefined ? reader.len : reader.pos + length;
2604
+ const message = createBaseSchedule();
2605
+ while (reader.pos < end) {
2606
+ const tag = reader.uint32();
2607
+ switch (tag >>> 3) {
2608
+ case 1: {
2609
+ if (tag !== 10) {
2610
+ break;
2611
+ }
2612
+ message.id = reader.string();
2613
+ continue;
2614
+ }
2615
+ case 2: {
2616
+ if (tag !== 18) {
2617
+ break;
2618
+ }
2619
+ message.name = reader.string();
2620
+ continue;
2621
+ }
2622
+ case 3: {
2623
+ if (tag !== 24) {
2624
+ break;
2625
+ }
2626
+ message.origin = reader.int32();
2627
+ continue;
2628
+ }
2629
+ case 4: {
2630
+ if (tag !== 34) {
2631
+ break;
2632
+ }
2633
+ message.element.push(exports.ScheduleElement.decode(reader, reader.uint32()));
2634
+ continue;
2635
+ }
2636
+ case 99: {
2637
+ if (tag !== 794) {
2638
+ break;
2639
+ }
2640
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2641
+ continue;
2642
+ }
2643
+ }
2644
+ if ((tag & 7) === 4 || tag === 0) {
2645
+ break;
2646
+ }
2647
+ reader.skip(tag & 7);
2648
+ }
2649
+ return message;
2650
+ },
2651
+ fromJSON(object) {
2652
+ return {
2653
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
2654
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
2655
+ origin: isSet(object.origin) ? schedule_OriginFromJSON(object.origin) : 0,
2656
+ element: globalThis.Array.isArray(object?.element)
2657
+ ? object.element.map((e) => exports.ScheduleElement.fromJSON(e))
2658
+ : [],
2659
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
2660
+ };
2661
+ },
2662
+ toJSON(message) {
2663
+ const obj = {};
2664
+ if (message.id !== "") {
2665
+ obj.id = message.id;
2666
+ }
2667
+ if (message.name !== "") {
2668
+ obj.name = message.name;
2669
+ }
2670
+ if (message.origin !== 0) {
2671
+ obj.origin = schedule_OriginToJSON(message.origin);
2672
+ }
2673
+ if (message.element?.length) {
2674
+ obj.element = message.element.map((e) => exports.ScheduleElement.toJSON(e));
2675
+ }
2676
+ if (message.extensions !== undefined) {
2677
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
2678
+ }
2679
+ return obj;
2680
+ },
2681
+ create(base) {
2682
+ return exports.Schedule.fromPartial(base ?? {});
2683
+ },
2684
+ fromPartial(object) {
2685
+ const message = createBaseSchedule();
2686
+ message.id = object.id ?? "";
2687
+ message.name = object.name ?? "";
2688
+ message.origin = object.origin ?? 0;
2689
+ message.element = object.element?.map((e) => exports.ScheduleElement.fromPartial(e)) || [];
2690
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
2691
+ ? exports.Extensions.fromPartial(object.extensions)
2692
+ : undefined;
2693
+ return message;
2694
+ },
2695
+ };
2696
+ function createBaseScheduleElement() {
2697
+ return {
2698
+ waypointId: "",
2699
+ eta: undefined,
2700
+ etaWindowStart: undefined,
2701
+ etaWindowEnd: undefined,
2702
+ etd: undefined,
2703
+ etdWindowStart: undefined,
2704
+ etdWindowEnd: undefined,
2705
+ stay: undefined,
2706
+ windSpeedMps: 0,
2707
+ windDirectionDeg: 0,
2708
+ currentSpeedMps: 0,
2709
+ currentDirectionDeg: 0,
2710
+ waveHeightM: 0,
2711
+ wavePeriodS: 0,
2712
+ waveDirectionDeg: 0,
2713
+ plannedRpm: 0,
2714
+ plannedPropellerPitchPct: 0,
2715
+ plannedFuelKg: 0,
2716
+ fuelSavingVsReferenceKg: 0,
2717
+ extensions: undefined,
2718
+ };
2719
+ }
2720
+ exports.ScheduleElement = {
2721
+ encode(message, writer = new wire_1.BinaryWriter()) {
2722
+ if (message.waypointId !== "") {
2723
+ writer.uint32(10).string(message.waypointId);
2724
+ }
2725
+ if (message.eta !== undefined) {
2726
+ timestamp_1.Timestamp.encode(toTimestamp(message.eta), writer.uint32(18).fork()).join();
2727
+ }
2728
+ if (message.etaWindowStart !== undefined) {
2729
+ timestamp_1.Timestamp.encode(toTimestamp(message.etaWindowStart), writer.uint32(26).fork()).join();
2730
+ }
2731
+ if (message.etaWindowEnd !== undefined) {
2732
+ timestamp_1.Timestamp.encode(toTimestamp(message.etaWindowEnd), writer.uint32(34).fork()).join();
2733
+ }
2734
+ if (message.etd !== undefined) {
2735
+ timestamp_1.Timestamp.encode(toTimestamp(message.etd), writer.uint32(42).fork()).join();
2736
+ }
2737
+ if (message.etdWindowStart !== undefined) {
2738
+ timestamp_1.Timestamp.encode(toTimestamp(message.etdWindowStart), writer.uint32(50).fork()).join();
2739
+ }
2740
+ if (message.etdWindowEnd !== undefined) {
2741
+ timestamp_1.Timestamp.encode(toTimestamp(message.etdWindowEnd), writer.uint32(58).fork()).join();
2742
+ }
2743
+ if (message.stay !== undefined) {
2744
+ duration_1.Duration.encode(message.stay, writer.uint32(66).fork()).join();
2745
+ }
2746
+ if (message.windSpeedMps !== 0) {
2747
+ writer.uint32(165).float(message.windSpeedMps);
2748
+ }
2749
+ if (message.windDirectionDeg !== 0) {
2750
+ writer.uint32(173).float(message.windDirectionDeg);
2751
+ }
2752
+ if (message.currentSpeedMps !== 0) {
2753
+ writer.uint32(181).float(message.currentSpeedMps);
2754
+ }
2755
+ if (message.currentDirectionDeg !== 0) {
2756
+ writer.uint32(189).float(message.currentDirectionDeg);
2757
+ }
2758
+ if (message.waveHeightM !== 0) {
2759
+ writer.uint32(197).float(message.waveHeightM);
2760
+ }
2761
+ if (message.wavePeriodS !== 0) {
2762
+ writer.uint32(205).float(message.wavePeriodS);
2763
+ }
2764
+ if (message.waveDirectionDeg !== 0) {
2765
+ writer.uint32(213).float(message.waveDirectionDeg);
2766
+ }
2767
+ if (message.plannedRpm !== 0) {
2768
+ writer.uint32(245).float(message.plannedRpm);
2769
+ }
2770
+ if (message.plannedPropellerPitchPct !== 0) {
2771
+ writer.uint32(253).float(message.plannedPropellerPitchPct);
2772
+ }
2773
+ if (message.plannedFuelKg !== 0) {
2774
+ writer.uint32(261).float(message.plannedFuelKg);
2775
+ }
2776
+ if (message.fuelSavingVsReferenceKg !== 0) {
2777
+ writer.uint32(269).float(message.fuelSavingVsReferenceKg);
2778
+ }
2779
+ if (message.extensions !== undefined) {
2780
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
2781
+ }
2782
+ return writer;
2783
+ },
2784
+ decode(input, length) {
2785
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2786
+ let end = length === undefined ? reader.len : reader.pos + length;
2787
+ const message = createBaseScheduleElement();
2788
+ while (reader.pos < end) {
2789
+ const tag = reader.uint32();
2790
+ switch (tag >>> 3) {
2791
+ case 1: {
2792
+ if (tag !== 10) {
2793
+ break;
2794
+ }
2795
+ message.waypointId = reader.string();
2796
+ continue;
2797
+ }
2798
+ case 2: {
2799
+ if (tag !== 18) {
2800
+ break;
2801
+ }
2802
+ message.eta = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2803
+ continue;
2804
+ }
2805
+ case 3: {
2806
+ if (tag !== 26) {
2807
+ break;
2808
+ }
2809
+ message.etaWindowStart = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2810
+ continue;
2811
+ }
2812
+ case 4: {
2813
+ if (tag !== 34) {
2814
+ break;
2815
+ }
2816
+ message.etaWindowEnd = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2817
+ continue;
2818
+ }
2819
+ case 5: {
2820
+ if (tag !== 42) {
2821
+ break;
2822
+ }
2823
+ message.etd = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2824
+ continue;
2825
+ }
2826
+ case 6: {
2827
+ if (tag !== 50) {
2828
+ break;
2829
+ }
2830
+ message.etdWindowStart = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2831
+ continue;
2832
+ }
2833
+ case 7: {
2834
+ if (tag !== 58) {
2835
+ break;
2836
+ }
2837
+ message.etdWindowEnd = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2838
+ continue;
2839
+ }
2840
+ case 8: {
2841
+ if (tag !== 66) {
2842
+ break;
2843
+ }
2844
+ message.stay = duration_1.Duration.decode(reader, reader.uint32());
2845
+ continue;
2846
+ }
2847
+ case 20: {
2848
+ if (tag !== 165) {
2849
+ break;
2850
+ }
2851
+ message.windSpeedMps = reader.float();
2852
+ continue;
2853
+ }
2854
+ case 21: {
2855
+ if (tag !== 173) {
2856
+ break;
2857
+ }
2858
+ message.windDirectionDeg = reader.float();
2859
+ continue;
2860
+ }
2861
+ case 22: {
2862
+ if (tag !== 181) {
2863
+ break;
2864
+ }
2865
+ message.currentSpeedMps = reader.float();
2866
+ continue;
2867
+ }
2868
+ case 23: {
2869
+ if (tag !== 189) {
2870
+ break;
2871
+ }
2872
+ message.currentDirectionDeg = reader.float();
2873
+ continue;
2874
+ }
2875
+ case 24: {
2876
+ if (tag !== 197) {
2877
+ break;
2878
+ }
2879
+ message.waveHeightM = reader.float();
2880
+ continue;
2881
+ }
2882
+ case 25: {
2883
+ if (tag !== 205) {
2884
+ break;
2885
+ }
2886
+ message.wavePeriodS = reader.float();
2887
+ continue;
2888
+ }
2889
+ case 26: {
2890
+ if (tag !== 213) {
2891
+ break;
2892
+ }
2893
+ message.waveDirectionDeg = reader.float();
2894
+ continue;
2895
+ }
2896
+ case 30: {
2897
+ if (tag !== 245) {
2898
+ break;
2899
+ }
2900
+ message.plannedRpm = reader.float();
2901
+ continue;
2902
+ }
2903
+ case 31: {
2904
+ if (tag !== 253) {
2905
+ break;
2906
+ }
2907
+ message.plannedPropellerPitchPct = reader.float();
2908
+ continue;
2909
+ }
2910
+ case 32: {
2911
+ if (tag !== 261) {
2912
+ break;
2913
+ }
2914
+ message.plannedFuelKg = reader.float();
2915
+ continue;
2916
+ }
2917
+ case 33: {
2918
+ if (tag !== 269) {
2919
+ break;
2920
+ }
2921
+ message.fuelSavingVsReferenceKg = reader.float();
2922
+ continue;
2923
+ }
2924
+ case 99: {
2925
+ if (tag !== 794) {
2926
+ break;
2927
+ }
2928
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
2929
+ continue;
2930
+ }
2931
+ }
2932
+ if ((tag & 7) === 4 || tag === 0) {
2933
+ break;
2934
+ }
2935
+ reader.skip(tag & 7);
2936
+ }
2937
+ return message;
2938
+ },
2939
+ fromJSON(object) {
2940
+ return {
2941
+ waypointId: isSet(object.waypointId) ? globalThis.String(object.waypointId) : "",
2942
+ eta: isSet(object.eta) ? fromJsonTimestamp(object.eta) : undefined,
2943
+ etaWindowStart: isSet(object.etaWindowStart) ? fromJsonTimestamp(object.etaWindowStart) : undefined,
2944
+ etaWindowEnd: isSet(object.etaWindowEnd) ? fromJsonTimestamp(object.etaWindowEnd) : undefined,
2945
+ etd: isSet(object.etd) ? fromJsonTimestamp(object.etd) : undefined,
2946
+ etdWindowStart: isSet(object.etdWindowStart) ? fromJsonTimestamp(object.etdWindowStart) : undefined,
2947
+ etdWindowEnd: isSet(object.etdWindowEnd) ? fromJsonTimestamp(object.etdWindowEnd) : undefined,
2948
+ stay: isSet(object.stay) ? duration_1.Duration.fromJSON(object.stay) : undefined,
2949
+ windSpeedMps: isSet(object.windSpeedMps) ? globalThis.Number(object.windSpeedMps) : 0,
2950
+ windDirectionDeg: isSet(object.windDirectionDeg) ? globalThis.Number(object.windDirectionDeg) : 0,
2951
+ currentSpeedMps: isSet(object.currentSpeedMps) ? globalThis.Number(object.currentSpeedMps) : 0,
2952
+ currentDirectionDeg: isSet(object.currentDirectionDeg) ? globalThis.Number(object.currentDirectionDeg) : 0,
2953
+ waveHeightM: isSet(object.waveHeightM) ? globalThis.Number(object.waveHeightM) : 0,
2954
+ wavePeriodS: isSet(object.wavePeriodS) ? globalThis.Number(object.wavePeriodS) : 0,
2955
+ waveDirectionDeg: isSet(object.waveDirectionDeg) ? globalThis.Number(object.waveDirectionDeg) : 0,
2956
+ plannedRpm: isSet(object.plannedRpm) ? globalThis.Number(object.plannedRpm) : 0,
2957
+ plannedPropellerPitchPct: isSet(object.plannedPropellerPitchPct)
2958
+ ? globalThis.Number(object.plannedPropellerPitchPct)
2959
+ : 0,
2960
+ plannedFuelKg: isSet(object.plannedFuelKg) ? globalThis.Number(object.plannedFuelKg) : 0,
2961
+ fuelSavingVsReferenceKg: isSet(object.fuelSavingVsReferenceKg)
2962
+ ? globalThis.Number(object.fuelSavingVsReferenceKg)
2963
+ : 0,
2964
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
2965
+ };
2966
+ },
2967
+ toJSON(message) {
2968
+ const obj = {};
2969
+ if (message.waypointId !== "") {
2970
+ obj.waypointId = message.waypointId;
2971
+ }
2972
+ if (message.eta !== undefined) {
2973
+ obj.eta = message.eta.toISOString();
2974
+ }
2975
+ if (message.etaWindowStart !== undefined) {
2976
+ obj.etaWindowStart = message.etaWindowStart.toISOString();
2977
+ }
2978
+ if (message.etaWindowEnd !== undefined) {
2979
+ obj.etaWindowEnd = message.etaWindowEnd.toISOString();
2980
+ }
2981
+ if (message.etd !== undefined) {
2982
+ obj.etd = message.etd.toISOString();
2983
+ }
2984
+ if (message.etdWindowStart !== undefined) {
2985
+ obj.etdWindowStart = message.etdWindowStart.toISOString();
2986
+ }
2987
+ if (message.etdWindowEnd !== undefined) {
2988
+ obj.etdWindowEnd = message.etdWindowEnd.toISOString();
2989
+ }
2990
+ if (message.stay !== undefined) {
2991
+ obj.stay = duration_1.Duration.toJSON(message.stay);
2992
+ }
2993
+ if (message.windSpeedMps !== 0) {
2994
+ obj.windSpeedMps = message.windSpeedMps;
2995
+ }
2996
+ if (message.windDirectionDeg !== 0) {
2997
+ obj.windDirectionDeg = message.windDirectionDeg;
2998
+ }
2999
+ if (message.currentSpeedMps !== 0) {
3000
+ obj.currentSpeedMps = message.currentSpeedMps;
3001
+ }
3002
+ if (message.currentDirectionDeg !== 0) {
3003
+ obj.currentDirectionDeg = message.currentDirectionDeg;
3004
+ }
3005
+ if (message.waveHeightM !== 0) {
3006
+ obj.waveHeightM = message.waveHeightM;
3007
+ }
3008
+ if (message.wavePeriodS !== 0) {
3009
+ obj.wavePeriodS = message.wavePeriodS;
3010
+ }
3011
+ if (message.waveDirectionDeg !== 0) {
3012
+ obj.waveDirectionDeg = message.waveDirectionDeg;
3013
+ }
3014
+ if (message.plannedRpm !== 0) {
3015
+ obj.plannedRpm = message.plannedRpm;
3016
+ }
3017
+ if (message.plannedPropellerPitchPct !== 0) {
3018
+ obj.plannedPropellerPitchPct = message.plannedPropellerPitchPct;
3019
+ }
3020
+ if (message.plannedFuelKg !== 0) {
3021
+ obj.plannedFuelKg = message.plannedFuelKg;
3022
+ }
3023
+ if (message.fuelSavingVsReferenceKg !== 0) {
3024
+ obj.fuelSavingVsReferenceKg = message.fuelSavingVsReferenceKg;
3025
+ }
3026
+ if (message.extensions !== undefined) {
3027
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3028
+ }
3029
+ return obj;
3030
+ },
3031
+ create(base) {
3032
+ return exports.ScheduleElement.fromPartial(base ?? {});
3033
+ },
3034
+ fromPartial(object) {
3035
+ const message = createBaseScheduleElement();
3036
+ message.waypointId = object.waypointId ?? "";
3037
+ message.eta = object.eta ?? undefined;
3038
+ message.etaWindowStart = object.etaWindowStart ?? undefined;
3039
+ message.etaWindowEnd = object.etaWindowEnd ?? undefined;
3040
+ message.etd = object.etd ?? undefined;
3041
+ message.etdWindowStart = object.etdWindowStart ?? undefined;
3042
+ message.etdWindowEnd = object.etdWindowEnd ?? undefined;
3043
+ message.stay = (object.stay !== undefined && object.stay !== null) ? duration_1.Duration.fromPartial(object.stay) : undefined;
3044
+ message.windSpeedMps = object.windSpeedMps ?? 0;
3045
+ message.windDirectionDeg = object.windDirectionDeg ?? 0;
3046
+ message.currentSpeedMps = object.currentSpeedMps ?? 0;
3047
+ message.currentDirectionDeg = object.currentDirectionDeg ?? 0;
3048
+ message.waveHeightM = object.waveHeightM ?? 0;
3049
+ message.wavePeriodS = object.wavePeriodS ?? 0;
3050
+ message.waveDirectionDeg = object.waveDirectionDeg ?? 0;
3051
+ message.plannedRpm = object.plannedRpm ?? 0;
3052
+ message.plannedPropellerPitchPct = object.plannedPropellerPitchPct ?? 0;
3053
+ message.plannedFuelKg = object.plannedFuelKg ?? 0;
3054
+ message.fuelSavingVsReferenceKg = object.fuelSavingVsReferenceKg ?? 0;
3055
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3056
+ ? exports.Extensions.fromPartial(object.extensions)
3057
+ : undefined;
3058
+ return message;
3059
+ },
3060
+ };
3061
+ function createBaseActionPoints() {
3062
+ return { actionPoint: [], extensions: undefined };
3063
+ }
3064
+ exports.ActionPoints = {
3065
+ encode(message, writer = new wire_1.BinaryWriter()) {
3066
+ for (const v of message.actionPoint) {
3067
+ exports.ActionPoint.encode(v, writer.uint32(10).fork()).join();
3068
+ }
3069
+ if (message.extensions !== undefined) {
3070
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3071
+ }
3072
+ return writer;
3073
+ },
3074
+ decode(input, length) {
3075
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3076
+ let end = length === undefined ? reader.len : reader.pos + length;
3077
+ const message = createBaseActionPoints();
3078
+ while (reader.pos < end) {
3079
+ const tag = reader.uint32();
3080
+ switch (tag >>> 3) {
3081
+ case 1: {
3082
+ if (tag !== 10) {
3083
+ break;
3084
+ }
3085
+ message.actionPoint.push(exports.ActionPoint.decode(reader, reader.uint32()));
3086
+ continue;
3087
+ }
3088
+ case 99: {
3089
+ if (tag !== 794) {
3090
+ break;
3091
+ }
3092
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3093
+ continue;
3094
+ }
3095
+ }
3096
+ if ((tag & 7) === 4 || tag === 0) {
3097
+ break;
3098
+ }
3099
+ reader.skip(tag & 7);
3100
+ }
3101
+ return message;
3102
+ },
3103
+ fromJSON(object) {
3104
+ return {
3105
+ actionPoint: globalThis.Array.isArray(object?.actionPoint)
3106
+ ? object.actionPoint.map((e) => exports.ActionPoint.fromJSON(e))
3107
+ : [],
3108
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3109
+ };
3110
+ },
3111
+ toJSON(message) {
3112
+ const obj = {};
3113
+ if (message.actionPoint?.length) {
3114
+ obj.actionPoint = message.actionPoint.map((e) => exports.ActionPoint.toJSON(e));
3115
+ }
3116
+ if (message.extensions !== undefined) {
3117
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3118
+ }
3119
+ return obj;
3120
+ },
3121
+ create(base) {
3122
+ return exports.ActionPoints.fromPartial(base ?? {});
3123
+ },
3124
+ fromPartial(object) {
3125
+ const message = createBaseActionPoints();
3126
+ message.actionPoint = object.actionPoint?.map((e) => exports.ActionPoint.fromPartial(e)) || [];
3127
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3128
+ ? exports.Extensions.fromPartial(object.extensions)
3129
+ : undefined;
3130
+ return message;
3131
+ },
3132
+ };
3133
+ function createBaseActionPoint() {
3134
+ return {
3135
+ id: "",
3136
+ name: "",
3137
+ circle: undefined,
3138
+ areaGeojson: undefined,
3139
+ timeToAct: undefined,
3140
+ requiredAction: 0,
3141
+ description: "",
3142
+ extensions: undefined,
3143
+ };
3144
+ }
3145
+ exports.ActionPoint = {
3146
+ encode(message, writer = new wire_1.BinaryWriter()) {
3147
+ if (message.id !== "") {
3148
+ writer.uint32(10).string(message.id);
3149
+ }
3150
+ if (message.name !== "") {
3151
+ writer.uint32(18).string(message.name);
3152
+ }
3153
+ if (message.circle !== undefined) {
3154
+ exports.CircleGeometry.encode(message.circle, writer.uint32(50).fork()).join();
3155
+ }
3156
+ if (message.areaGeojson !== undefined) {
3157
+ GeoJSON_1.GeoJSON.encode(message.areaGeojson, writer.uint32(58).fork()).join();
3158
+ }
3159
+ if (message.timeToAct !== undefined) {
3160
+ duration_1.Duration.encode(message.timeToAct, writer.uint32(82).fork()).join();
3161
+ }
3162
+ if (message.requiredAction !== 0) {
3163
+ writer.uint32(88).int32(message.requiredAction);
3164
+ }
3165
+ if (message.description !== "") {
3166
+ writer.uint32(98).string(message.description);
3167
+ }
3168
+ if (message.extensions !== undefined) {
3169
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3170
+ }
3171
+ return writer;
3172
+ },
3173
+ decode(input, length) {
3174
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3175
+ let end = length === undefined ? reader.len : reader.pos + length;
3176
+ const message = createBaseActionPoint();
3177
+ while (reader.pos < end) {
3178
+ const tag = reader.uint32();
3179
+ switch (tag >>> 3) {
3180
+ case 1: {
3181
+ if (tag !== 10) {
3182
+ break;
3183
+ }
3184
+ message.id = reader.string();
3185
+ continue;
3186
+ }
3187
+ case 2: {
3188
+ if (tag !== 18) {
3189
+ break;
3190
+ }
3191
+ message.name = reader.string();
3192
+ continue;
3193
+ }
3194
+ case 6: {
3195
+ if (tag !== 50) {
3196
+ break;
3197
+ }
3198
+ message.circle = exports.CircleGeometry.decode(reader, reader.uint32());
3199
+ continue;
3200
+ }
3201
+ case 7: {
3202
+ if (tag !== 58) {
3203
+ break;
3204
+ }
3205
+ message.areaGeojson = GeoJSON_1.GeoJSON.decode(reader, reader.uint32());
3206
+ continue;
3207
+ }
3208
+ case 10: {
3209
+ if (tag !== 82) {
3210
+ break;
3211
+ }
3212
+ message.timeToAct = duration_1.Duration.decode(reader, reader.uint32());
3213
+ continue;
3214
+ }
3215
+ case 11: {
3216
+ if (tag !== 88) {
3217
+ break;
3218
+ }
3219
+ message.requiredAction = reader.int32();
3220
+ continue;
3221
+ }
3222
+ case 12: {
3223
+ if (tag !== 98) {
3224
+ break;
3225
+ }
3226
+ message.description = reader.string();
3227
+ continue;
3228
+ }
3229
+ case 99: {
3230
+ if (tag !== 794) {
3231
+ break;
3232
+ }
3233
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3234
+ continue;
3235
+ }
3236
+ }
3237
+ if ((tag & 7) === 4 || tag === 0) {
3238
+ break;
3239
+ }
3240
+ reader.skip(tag & 7);
3241
+ }
3242
+ return message;
3243
+ },
3244
+ fromJSON(object) {
3245
+ return {
3246
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3247
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
3248
+ circle: isSet(object.circle) ? exports.CircleGeometry.fromJSON(object.circle) : undefined,
3249
+ areaGeojson: isSet(object.areaGeojson) ? GeoJSON_1.GeoJSON.fromJSON(object.areaGeojson) : undefined,
3250
+ timeToAct: isSet(object.timeToAct) ? duration_1.Duration.fromJSON(object.timeToAct) : undefined,
3251
+ requiredAction: isSet(object.requiredAction) ? actionPointRequiredActionFromJSON(object.requiredAction) : 0,
3252
+ description: isSet(object.description) ? globalThis.String(object.description) : "",
3253
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3254
+ };
3255
+ },
3256
+ toJSON(message) {
3257
+ const obj = {};
3258
+ if (message.id !== "") {
3259
+ obj.id = message.id;
3260
+ }
3261
+ if (message.name !== "") {
3262
+ obj.name = message.name;
3263
+ }
3264
+ if (message.circle !== undefined) {
3265
+ obj.circle = exports.CircleGeometry.toJSON(message.circle);
3266
+ }
3267
+ if (message.areaGeojson !== undefined) {
3268
+ obj.areaGeojson = GeoJSON_1.GeoJSON.toJSON(message.areaGeojson);
3269
+ }
3270
+ if (message.timeToAct !== undefined) {
3271
+ obj.timeToAct = duration_1.Duration.toJSON(message.timeToAct);
3272
+ }
3273
+ if (message.requiredAction !== 0) {
3274
+ obj.requiredAction = actionPointRequiredActionToJSON(message.requiredAction);
3275
+ }
3276
+ if (message.description !== "") {
3277
+ obj.description = message.description;
3278
+ }
3279
+ if (message.extensions !== undefined) {
3280
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3281
+ }
3282
+ return obj;
3283
+ },
3284
+ create(base) {
3285
+ return exports.ActionPoint.fromPartial(base ?? {});
3286
+ },
3287
+ fromPartial(object) {
3288
+ const message = createBaseActionPoint();
3289
+ message.id = object.id ?? "";
3290
+ message.name = object.name ?? "";
3291
+ message.circle = (object.circle !== undefined && object.circle !== null)
3292
+ ? exports.CircleGeometry.fromPartial(object.circle)
3293
+ : undefined;
3294
+ message.areaGeojson = (object.areaGeojson !== undefined && object.areaGeojson !== null)
3295
+ ? GeoJSON_1.GeoJSON.fromPartial(object.areaGeojson)
3296
+ : undefined;
3297
+ message.timeToAct = (object.timeToAct !== undefined && object.timeToAct !== null)
3298
+ ? duration_1.Duration.fromPartial(object.timeToAct)
3299
+ : undefined;
3300
+ message.requiredAction = object.requiredAction ?? 0;
3301
+ message.description = object.description ?? "";
3302
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3303
+ ? exports.Extensions.fromPartial(object.extensions)
3304
+ : undefined;
3305
+ return message;
3306
+ },
3307
+ };
3308
+ function createBaseHazardZone() {
3309
+ return {
3310
+ id: "",
3311
+ type: 0,
3312
+ severity: 0,
3313
+ description: "",
3314
+ circle: undefined,
3315
+ polygonGeojson: undefined,
3316
+ validFrom: undefined,
3317
+ validTo: undefined,
3318
+ extensions: undefined,
3319
+ };
3320
+ }
3321
+ exports.HazardZone = {
3322
+ encode(message, writer = new wire_1.BinaryWriter()) {
3323
+ if (message.id !== "") {
3324
+ writer.uint32(10).string(message.id);
3325
+ }
3326
+ if (message.type !== 0) {
3327
+ writer.uint32(16).int32(message.type);
3328
+ }
3329
+ if (message.severity !== 0) {
3330
+ writer.uint32(24).int32(message.severity);
3331
+ }
3332
+ if (message.description !== "") {
3333
+ writer.uint32(34).string(message.description);
3334
+ }
3335
+ if (message.circle !== undefined) {
3336
+ exports.CircleGeometry.encode(message.circle, writer.uint32(106).fork()).join();
3337
+ }
3338
+ if (message.polygonGeojson !== undefined) {
3339
+ GeoJSON_1.GeoJSON.encode(message.polygonGeojson, writer.uint32(114).fork()).join();
3340
+ }
3341
+ if (message.validFrom !== undefined) {
3342
+ timestamp_1.Timestamp.encode(toTimestamp(message.validFrom), writer.uint32(162).fork()).join();
3343
+ }
3344
+ if (message.validTo !== undefined) {
3345
+ timestamp_1.Timestamp.encode(toTimestamp(message.validTo), writer.uint32(170).fork()).join();
3346
+ }
3347
+ if (message.extensions !== undefined) {
3348
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3349
+ }
3350
+ return writer;
3351
+ },
3352
+ decode(input, length) {
3353
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3354
+ let end = length === undefined ? reader.len : reader.pos + length;
3355
+ const message = createBaseHazardZone();
3356
+ while (reader.pos < end) {
3357
+ const tag = reader.uint32();
3358
+ switch (tag >>> 3) {
3359
+ case 1: {
3360
+ if (tag !== 10) {
3361
+ break;
3362
+ }
3363
+ message.id = reader.string();
3364
+ continue;
3365
+ }
3366
+ case 2: {
3367
+ if (tag !== 16) {
3368
+ break;
3369
+ }
3370
+ message.type = reader.int32();
3371
+ continue;
3372
+ }
3373
+ case 3: {
3374
+ if (tag !== 24) {
3375
+ break;
3376
+ }
3377
+ message.severity = reader.int32();
3378
+ continue;
3379
+ }
3380
+ case 4: {
3381
+ if (tag !== 34) {
3382
+ break;
3383
+ }
3384
+ message.description = reader.string();
3385
+ continue;
3386
+ }
3387
+ case 13: {
3388
+ if (tag !== 106) {
3389
+ break;
3390
+ }
3391
+ message.circle = exports.CircleGeometry.decode(reader, reader.uint32());
3392
+ continue;
3393
+ }
3394
+ case 14: {
3395
+ if (tag !== 114) {
3396
+ break;
3397
+ }
3398
+ message.polygonGeojson = GeoJSON_1.GeoJSON.decode(reader, reader.uint32());
3399
+ continue;
3400
+ }
3401
+ case 20: {
3402
+ if (tag !== 162) {
3403
+ break;
3404
+ }
3405
+ message.validFrom = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
3406
+ continue;
3407
+ }
3408
+ case 21: {
3409
+ if (tag !== 170) {
3410
+ break;
3411
+ }
3412
+ message.validTo = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
3413
+ continue;
3414
+ }
3415
+ case 99: {
3416
+ if (tag !== 794) {
3417
+ break;
3418
+ }
3419
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3420
+ continue;
3421
+ }
3422
+ }
3423
+ if ((tag & 7) === 4 || tag === 0) {
3424
+ break;
3425
+ }
3426
+ reader.skip(tag & 7);
3427
+ }
3428
+ return message;
3429
+ },
3430
+ fromJSON(object) {
3431
+ return {
3432
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3433
+ type: isSet(object.type) ? hazardZoneTypeFromJSON(object.type) : 0,
3434
+ severity: isSet(object.severity) ? (0, Severity_1.severityLevelFromJSON)(object.severity) : 0,
3435
+ description: isSet(object.description) ? globalThis.String(object.description) : "",
3436
+ circle: isSet(object.circle) ? exports.CircleGeometry.fromJSON(object.circle) : undefined,
3437
+ polygonGeojson: isSet(object.polygonGeojson) ? GeoJSON_1.GeoJSON.fromJSON(object.polygonGeojson) : undefined,
3438
+ validFrom: isSet(object.validFrom) ? fromJsonTimestamp(object.validFrom) : undefined,
3439
+ validTo: isSet(object.validTo) ? fromJsonTimestamp(object.validTo) : undefined,
3440
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3441
+ };
3442
+ },
3443
+ toJSON(message) {
3444
+ const obj = {};
3445
+ if (message.id !== "") {
3446
+ obj.id = message.id;
3447
+ }
3448
+ if (message.type !== 0) {
3449
+ obj.type = hazardZoneTypeToJSON(message.type);
3450
+ }
3451
+ if (message.severity !== 0) {
3452
+ obj.severity = (0, Severity_1.severityLevelToJSON)(message.severity);
3453
+ }
3454
+ if (message.description !== "") {
3455
+ obj.description = message.description;
3456
+ }
3457
+ if (message.circle !== undefined) {
3458
+ obj.circle = exports.CircleGeometry.toJSON(message.circle);
3459
+ }
3460
+ if (message.polygonGeojson !== undefined) {
3461
+ obj.polygonGeojson = GeoJSON_1.GeoJSON.toJSON(message.polygonGeojson);
3462
+ }
3463
+ if (message.validFrom !== undefined) {
3464
+ obj.validFrom = message.validFrom.toISOString();
3465
+ }
3466
+ if (message.validTo !== undefined) {
3467
+ obj.validTo = message.validTo.toISOString();
3468
+ }
3469
+ if (message.extensions !== undefined) {
3470
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3471
+ }
3472
+ return obj;
3473
+ },
3474
+ create(base) {
3475
+ return exports.HazardZone.fromPartial(base ?? {});
3476
+ },
3477
+ fromPartial(object) {
3478
+ const message = createBaseHazardZone();
3479
+ message.id = object.id ?? "";
3480
+ message.type = object.type ?? 0;
3481
+ message.severity = object.severity ?? 0;
3482
+ message.description = object.description ?? "";
3483
+ message.circle = (object.circle !== undefined && object.circle !== null)
3484
+ ? exports.CircleGeometry.fromPartial(object.circle)
3485
+ : undefined;
3486
+ message.polygonGeojson = (object.polygonGeojson !== undefined && object.polygonGeojson !== null)
3487
+ ? GeoJSON_1.GeoJSON.fromPartial(object.polygonGeojson)
3488
+ : undefined;
3489
+ message.validFrom = object.validFrom ?? undefined;
3490
+ message.validTo = object.validTo ?? undefined;
3491
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3492
+ ? exports.Extensions.fromPartial(object.extensions)
3493
+ : undefined;
3494
+ return message;
3495
+ },
3496
+ };
3497
+ function createBaseRouteChallenge() {
3498
+ return { id: "", type: 0, severity: 0, description: "", waypointIds: [], extensions: undefined };
3499
+ }
3500
+ exports.RouteChallenge = {
3501
+ encode(message, writer = new wire_1.BinaryWriter()) {
3502
+ if (message.id !== "") {
3503
+ writer.uint32(10).string(message.id);
3504
+ }
3505
+ if (message.type !== 0) {
3506
+ writer.uint32(16).int32(message.type);
3507
+ }
3508
+ if (message.severity !== 0) {
3509
+ writer.uint32(24).int32(message.severity);
3510
+ }
3511
+ if (message.description !== "") {
3512
+ writer.uint32(34).string(message.description);
3513
+ }
3514
+ for (const v of message.waypointIds) {
3515
+ writer.uint32(42).string(v);
3516
+ }
3517
+ if (message.extensions !== undefined) {
3518
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3519
+ }
3520
+ return writer;
3521
+ },
3522
+ decode(input, length) {
3523
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3524
+ let end = length === undefined ? reader.len : reader.pos + length;
3525
+ const message = createBaseRouteChallenge();
3526
+ while (reader.pos < end) {
3527
+ const tag = reader.uint32();
3528
+ switch (tag >>> 3) {
3529
+ case 1: {
3530
+ if (tag !== 10) {
3531
+ break;
3532
+ }
3533
+ message.id = reader.string();
3534
+ continue;
3535
+ }
3536
+ case 2: {
3537
+ if (tag !== 16) {
3538
+ break;
3539
+ }
3540
+ message.type = reader.int32();
3541
+ continue;
3542
+ }
3543
+ case 3: {
3544
+ if (tag !== 24) {
3545
+ break;
3546
+ }
3547
+ message.severity = reader.int32();
3548
+ continue;
3549
+ }
3550
+ case 4: {
3551
+ if (tag !== 34) {
3552
+ break;
3553
+ }
3554
+ message.description = reader.string();
3555
+ continue;
3556
+ }
3557
+ case 5: {
3558
+ if (tag !== 42) {
3559
+ break;
3560
+ }
3561
+ message.waypointIds.push(reader.string());
3562
+ continue;
3563
+ }
3564
+ case 99: {
3565
+ if (tag !== 794) {
3566
+ break;
3567
+ }
3568
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3569
+ continue;
3570
+ }
3571
+ }
3572
+ if ((tag & 7) === 4 || tag === 0) {
3573
+ break;
3574
+ }
3575
+ reader.skip(tag & 7);
3576
+ }
3577
+ return message;
3578
+ },
3579
+ fromJSON(object) {
3580
+ return {
3581
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3582
+ type: isSet(object.type) ? routeChallengeTypeFromJSON(object.type) : 0,
3583
+ severity: isSet(object.severity) ? (0, Severity_1.severityLevelFromJSON)(object.severity) : 0,
3584
+ description: isSet(object.description) ? globalThis.String(object.description) : "",
3585
+ waypointIds: globalThis.Array.isArray(object?.waypointIds)
3586
+ ? object.waypointIds.map((e) => globalThis.String(e))
3587
+ : [],
3588
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3589
+ };
3590
+ },
3591
+ toJSON(message) {
3592
+ const obj = {};
3593
+ if (message.id !== "") {
3594
+ obj.id = message.id;
3595
+ }
3596
+ if (message.type !== 0) {
3597
+ obj.type = routeChallengeTypeToJSON(message.type);
3598
+ }
3599
+ if (message.severity !== 0) {
3600
+ obj.severity = (0, Severity_1.severityLevelToJSON)(message.severity);
3601
+ }
3602
+ if (message.description !== "") {
3603
+ obj.description = message.description;
3604
+ }
3605
+ if (message.waypointIds?.length) {
3606
+ obj.waypointIds = message.waypointIds;
3607
+ }
3608
+ if (message.extensions !== undefined) {
3609
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3610
+ }
3611
+ return obj;
3612
+ },
3613
+ create(base) {
3614
+ return exports.RouteChallenge.fromPartial(base ?? {});
3615
+ },
3616
+ fromPartial(object) {
3617
+ const message = createBaseRouteChallenge();
3618
+ message.id = object.id ?? "";
3619
+ message.type = object.type ?? 0;
3620
+ message.severity = object.severity ?? 0;
3621
+ message.description = object.description ?? "";
3622
+ message.waypointIds = object.waypointIds?.map((e) => e) || [];
3623
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3624
+ ? exports.Extensions.fromPartial(object.extensions)
3625
+ : undefined;
3626
+ return message;
3627
+ },
3628
+ };
3629
+ function createBaseRouteIssue() {
3630
+ return { id: "", severity: 0, description: "", raisedAt: undefined, raisedBy: "", extensions: undefined };
3631
+ }
3632
+ exports.RouteIssue = {
3633
+ encode(message, writer = new wire_1.BinaryWriter()) {
3634
+ if (message.id !== "") {
3635
+ writer.uint32(10).string(message.id);
3636
+ }
3637
+ if (message.severity !== 0) {
3638
+ writer.uint32(16).int32(message.severity);
3639
+ }
3640
+ if (message.description !== "") {
3641
+ writer.uint32(26).string(message.description);
3642
+ }
3643
+ if (message.raisedAt !== undefined) {
3644
+ timestamp_1.Timestamp.encode(toTimestamp(message.raisedAt), writer.uint32(34).fork()).join();
3645
+ }
3646
+ if (message.raisedBy !== "") {
3647
+ writer.uint32(42).string(message.raisedBy);
3648
+ }
3649
+ if (message.extensions !== undefined) {
3650
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3651
+ }
3652
+ return writer;
3653
+ },
3654
+ decode(input, length) {
3655
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3656
+ let end = length === undefined ? reader.len : reader.pos + length;
3657
+ const message = createBaseRouteIssue();
3658
+ while (reader.pos < end) {
3659
+ const tag = reader.uint32();
3660
+ switch (tag >>> 3) {
3661
+ case 1: {
3662
+ if (tag !== 10) {
3663
+ break;
3664
+ }
3665
+ message.id = reader.string();
3666
+ continue;
3667
+ }
3668
+ case 2: {
3669
+ if (tag !== 16) {
3670
+ break;
3671
+ }
3672
+ message.severity = reader.int32();
3673
+ continue;
3674
+ }
3675
+ case 3: {
3676
+ if (tag !== 26) {
3677
+ break;
3678
+ }
3679
+ message.description = reader.string();
3680
+ continue;
3681
+ }
3682
+ case 4: {
3683
+ if (tag !== 34) {
3684
+ break;
3685
+ }
3686
+ message.raisedAt = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
3687
+ continue;
3688
+ }
3689
+ case 5: {
3690
+ if (tag !== 42) {
3691
+ break;
3692
+ }
3693
+ message.raisedBy = reader.string();
3694
+ continue;
3695
+ }
3696
+ case 99: {
3697
+ if (tag !== 794) {
3698
+ break;
3699
+ }
3700
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3701
+ continue;
3702
+ }
3703
+ }
3704
+ if ((tag & 7) === 4 || tag === 0) {
3705
+ break;
3706
+ }
3707
+ reader.skip(tag & 7);
3708
+ }
3709
+ return message;
3710
+ },
3711
+ fromJSON(object) {
3712
+ return {
3713
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3714
+ severity: isSet(object.severity) ? (0, Severity_1.severityLevelFromJSON)(object.severity) : 0,
3715
+ description: isSet(object.description) ? globalThis.String(object.description) : "",
3716
+ raisedAt: isSet(object.raisedAt) ? fromJsonTimestamp(object.raisedAt) : undefined,
3717
+ raisedBy: isSet(object.raisedBy) ? globalThis.String(object.raisedBy) : "",
3718
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3719
+ };
3720
+ },
3721
+ toJSON(message) {
3722
+ const obj = {};
3723
+ if (message.id !== "") {
3724
+ obj.id = message.id;
3725
+ }
3726
+ if (message.severity !== 0) {
3727
+ obj.severity = (0, Severity_1.severityLevelToJSON)(message.severity);
3728
+ }
3729
+ if (message.description !== "") {
3730
+ obj.description = message.description;
3731
+ }
3732
+ if (message.raisedAt !== undefined) {
3733
+ obj.raisedAt = message.raisedAt.toISOString();
3734
+ }
3735
+ if (message.raisedBy !== "") {
3736
+ obj.raisedBy = message.raisedBy;
3737
+ }
3738
+ if (message.extensions !== undefined) {
3739
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3740
+ }
3741
+ return obj;
3742
+ },
3743
+ create(base) {
3744
+ return exports.RouteIssue.fromPartial(base ?? {});
3745
+ },
3746
+ fromPartial(object) {
3747
+ const message = createBaseRouteIssue();
3748
+ message.id = object.id ?? "";
3749
+ message.severity = object.severity ?? 0;
3750
+ message.description = object.description ?? "";
3751
+ message.raisedAt = object.raisedAt ?? undefined;
3752
+ message.raisedBy = object.raisedBy ?? "";
3753
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3754
+ ? exports.Extensions.fromPartial(object.extensions)
3755
+ : undefined;
3756
+ return message;
3757
+ },
3758
+ };
3759
+ function createBaseRouteSignatures() {
3760
+ return { routeRef: undefined, signatures: [], extensions: undefined };
3761
+ }
3762
+ exports.RouteSignatures = {
3763
+ encode(message, writer = new wire_1.BinaryWriter()) {
3764
+ if (message.routeRef !== undefined) {
3765
+ exports.RouteRef.encode(message.routeRef, writer.uint32(10).fork()).join();
3766
+ }
3767
+ for (const v of message.signatures) {
3768
+ exports.RouteSignature.encode(v, writer.uint32(18).fork()).join();
3769
+ }
3770
+ if (message.extensions !== undefined) {
3771
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3772
+ }
3773
+ return writer;
3774
+ },
3775
+ decode(input, length) {
3776
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3777
+ let end = length === undefined ? reader.len : reader.pos + length;
3778
+ const message = createBaseRouteSignatures();
3779
+ while (reader.pos < end) {
3780
+ const tag = reader.uint32();
3781
+ switch (tag >>> 3) {
3782
+ case 1: {
3783
+ if (tag !== 10) {
3784
+ break;
3785
+ }
3786
+ message.routeRef = exports.RouteRef.decode(reader, reader.uint32());
3787
+ continue;
3788
+ }
3789
+ case 2: {
3790
+ if (tag !== 18) {
3791
+ break;
3792
+ }
3793
+ message.signatures.push(exports.RouteSignature.decode(reader, reader.uint32()));
3794
+ continue;
3795
+ }
3796
+ case 99: {
3797
+ if (tag !== 794) {
3798
+ break;
3799
+ }
3800
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3801
+ continue;
3802
+ }
3803
+ }
3804
+ if ((tag & 7) === 4 || tag === 0) {
3805
+ break;
3806
+ }
3807
+ reader.skip(tag & 7);
3808
+ }
3809
+ return message;
3810
+ },
3811
+ fromJSON(object) {
3812
+ return {
3813
+ routeRef: isSet(object.routeRef) ? exports.RouteRef.fromJSON(object.routeRef) : undefined,
3814
+ signatures: globalThis.Array.isArray(object?.signatures)
3815
+ ? object.signatures.map((e) => exports.RouteSignature.fromJSON(e))
3816
+ : [],
3817
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3818
+ };
3819
+ },
3820
+ toJSON(message) {
3821
+ const obj = {};
3822
+ if (message.routeRef !== undefined) {
3823
+ obj.routeRef = exports.RouteRef.toJSON(message.routeRef);
3824
+ }
3825
+ if (message.signatures?.length) {
3826
+ obj.signatures = message.signatures.map((e) => exports.RouteSignature.toJSON(e));
3827
+ }
3828
+ if (message.extensions !== undefined) {
3829
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3830
+ }
3831
+ return obj;
3832
+ },
3833
+ create(base) {
3834
+ return exports.RouteSignatures.fromPartial(base ?? {});
3835
+ },
3836
+ fromPartial(object) {
3837
+ const message = createBaseRouteSignatures();
3838
+ message.routeRef = (object.routeRef !== undefined && object.routeRef !== null)
3839
+ ? exports.RouteRef.fromPartial(object.routeRef)
3840
+ : undefined;
3841
+ message.signatures = object.signatures?.map((e) => exports.RouteSignature.fromPartial(e)) || [];
3842
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3843
+ ? exports.Extensions.fromPartial(object.extensions)
3844
+ : undefined;
3845
+ return message;
3846
+ },
3847
+ };
3848
+ function createBaseRouteSignature() {
3849
+ return {
3850
+ signerId: "",
3851
+ signerRole: "",
3852
+ algorithm: "",
3853
+ signature: new Uint8Array(0),
3854
+ signedAt: undefined,
3855
+ keyReference: "",
3856
+ extensions: undefined,
3857
+ };
3858
+ }
3859
+ exports.RouteSignature = {
3860
+ encode(message, writer = new wire_1.BinaryWriter()) {
3861
+ if (message.signerId !== "") {
3862
+ writer.uint32(10).string(message.signerId);
3863
+ }
3864
+ if (message.signerRole !== "") {
3865
+ writer.uint32(18).string(message.signerRole);
3866
+ }
3867
+ if (message.algorithm !== "") {
3868
+ writer.uint32(26).string(message.algorithm);
3869
+ }
3870
+ if (message.signature.length !== 0) {
3871
+ writer.uint32(34).bytes(message.signature);
3872
+ }
3873
+ if (message.signedAt !== undefined) {
3874
+ timestamp_1.Timestamp.encode(toTimestamp(message.signedAt), writer.uint32(42).fork()).join();
3875
+ }
3876
+ if (message.keyReference !== "") {
3877
+ writer.uint32(50).string(message.keyReference);
3878
+ }
3879
+ if (message.extensions !== undefined) {
3880
+ exports.Extensions.encode(message.extensions, writer.uint32(794).fork()).join();
3881
+ }
3882
+ return writer;
3883
+ },
3884
+ decode(input, length) {
3885
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
3886
+ let end = length === undefined ? reader.len : reader.pos + length;
3887
+ const message = createBaseRouteSignature();
3888
+ while (reader.pos < end) {
3889
+ const tag = reader.uint32();
3890
+ switch (tag >>> 3) {
3891
+ case 1: {
3892
+ if (tag !== 10) {
3893
+ break;
3894
+ }
3895
+ message.signerId = reader.string();
3896
+ continue;
3897
+ }
3898
+ case 2: {
3899
+ if (tag !== 18) {
3900
+ break;
3901
+ }
3902
+ message.signerRole = reader.string();
3903
+ continue;
3904
+ }
3905
+ case 3: {
3906
+ if (tag !== 26) {
3907
+ break;
3908
+ }
3909
+ message.algorithm = reader.string();
3910
+ continue;
3911
+ }
3912
+ case 4: {
3913
+ if (tag !== 34) {
3914
+ break;
3915
+ }
3916
+ message.signature = reader.bytes();
3917
+ continue;
3918
+ }
3919
+ case 5: {
3920
+ if (tag !== 42) {
3921
+ break;
3922
+ }
3923
+ message.signedAt = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
3924
+ continue;
3925
+ }
3926
+ case 6: {
3927
+ if (tag !== 50) {
3928
+ break;
3929
+ }
3930
+ message.keyReference = reader.string();
3931
+ continue;
3932
+ }
3933
+ case 99: {
3934
+ if (tag !== 794) {
3935
+ break;
3936
+ }
3937
+ message.extensions = exports.Extensions.decode(reader, reader.uint32());
3938
+ continue;
3939
+ }
3940
+ }
3941
+ if ((tag & 7) === 4 || tag === 0) {
3942
+ break;
3943
+ }
3944
+ reader.skip(tag & 7);
3945
+ }
3946
+ return message;
3947
+ },
3948
+ fromJSON(object) {
3949
+ return {
3950
+ signerId: isSet(object.signerId) ? globalThis.String(object.signerId) : "",
3951
+ signerRole: isSet(object.signerRole) ? globalThis.String(object.signerRole) : "",
3952
+ algorithm: isSet(object.algorithm) ? globalThis.String(object.algorithm) : "",
3953
+ signature: isSet(object.signature) ? bytesFromBase64(object.signature) : new Uint8Array(0),
3954
+ signedAt: isSet(object.signedAt) ? fromJsonTimestamp(object.signedAt) : undefined,
3955
+ keyReference: isSet(object.keyReference) ? globalThis.String(object.keyReference) : "",
3956
+ extensions: isSet(object.extensions) ? exports.Extensions.fromJSON(object.extensions) : undefined,
3957
+ };
3958
+ },
3959
+ toJSON(message) {
3960
+ const obj = {};
3961
+ if (message.signerId !== "") {
3962
+ obj.signerId = message.signerId;
3963
+ }
3964
+ if (message.signerRole !== "") {
3965
+ obj.signerRole = message.signerRole;
3966
+ }
3967
+ if (message.algorithm !== "") {
3968
+ obj.algorithm = message.algorithm;
3969
+ }
3970
+ if (message.signature.length !== 0) {
3971
+ obj.signature = base64FromBytes(message.signature);
3972
+ }
3973
+ if (message.signedAt !== undefined) {
3974
+ obj.signedAt = message.signedAt.toISOString();
3975
+ }
3976
+ if (message.keyReference !== "") {
3977
+ obj.keyReference = message.keyReference;
3978
+ }
3979
+ if (message.extensions !== undefined) {
3980
+ obj.extensions = exports.Extensions.toJSON(message.extensions);
3981
+ }
3982
+ return obj;
3983
+ },
3984
+ create(base) {
3985
+ return exports.RouteSignature.fromPartial(base ?? {});
3986
+ },
3987
+ fromPartial(object) {
3988
+ const message = createBaseRouteSignature();
3989
+ message.signerId = object.signerId ?? "";
3990
+ message.signerRole = object.signerRole ?? "";
3991
+ message.algorithm = object.algorithm ?? "";
3992
+ message.signature = object.signature ?? new Uint8Array(0);
3993
+ message.signedAt = object.signedAt ?? undefined;
3994
+ message.keyReference = object.keyReference ?? "";
3995
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
3996
+ ? exports.Extensions.fromPartial(object.extensions)
3997
+ : undefined;
3998
+ return message;
3999
+ },
4000
+ };
4001
+ function createBaseRouteStatusUpdate() {
4002
+ return { timestamp: undefined, routeId: "", routeEditionNumber: 0, status: 0, changedBy: "", note: "" };
4003
+ }
4004
+ exports.RouteStatusUpdate = {
4005
+ encode(message, writer = new wire_1.BinaryWriter()) {
4006
+ if (message.timestamp !== undefined) {
4007
+ timestamp_1.Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(10).fork()).join();
4008
+ }
4009
+ if (message.routeId !== "") {
4010
+ writer.uint32(18).string(message.routeId);
4011
+ }
4012
+ if (message.routeEditionNumber !== 0) {
4013
+ writer.uint32(24).uint32(message.routeEditionNumber);
4014
+ }
4015
+ if (message.status !== 0) {
4016
+ writer.uint32(32).int32(message.status);
4017
+ }
4018
+ if (message.changedBy !== "") {
4019
+ writer.uint32(42).string(message.changedBy);
4020
+ }
4021
+ if (message.note !== "") {
4022
+ writer.uint32(50).string(message.note);
4023
+ }
4024
+ return writer;
4025
+ },
4026
+ decode(input, length) {
4027
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
4028
+ let end = length === undefined ? reader.len : reader.pos + length;
4029
+ const message = createBaseRouteStatusUpdate();
4030
+ while (reader.pos < end) {
4031
+ const tag = reader.uint32();
4032
+ switch (tag >>> 3) {
4033
+ case 1: {
4034
+ if (tag !== 10) {
4035
+ break;
4036
+ }
4037
+ message.timestamp = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
4038
+ continue;
4039
+ }
4040
+ case 2: {
4041
+ if (tag !== 18) {
4042
+ break;
4043
+ }
4044
+ message.routeId = reader.string();
4045
+ continue;
4046
+ }
4047
+ case 3: {
4048
+ if (tag !== 24) {
4049
+ break;
4050
+ }
4051
+ message.routeEditionNumber = reader.uint32();
4052
+ continue;
4053
+ }
4054
+ case 4: {
4055
+ if (tag !== 32) {
4056
+ break;
4057
+ }
4058
+ message.status = reader.int32();
4059
+ continue;
4060
+ }
4061
+ case 5: {
4062
+ if (tag !== 42) {
4063
+ break;
4064
+ }
4065
+ message.changedBy = reader.string();
4066
+ continue;
4067
+ }
4068
+ case 6: {
4069
+ if (tag !== 50) {
4070
+ break;
4071
+ }
4072
+ message.note = reader.string();
4073
+ continue;
4074
+ }
4075
+ }
4076
+ if ((tag & 7) === 4 || tag === 0) {
4077
+ break;
4078
+ }
4079
+ reader.skip(tag & 7);
4080
+ }
4081
+ return message;
4082
+ },
4083
+ fromJSON(object) {
4084
+ return {
4085
+ timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
4086
+ routeId: isSet(object.routeId) ? globalThis.String(object.routeId) : "",
4087
+ routeEditionNumber: isSet(object.routeEditionNumber) ? globalThis.Number(object.routeEditionNumber) : 0,
4088
+ status: isSet(object.status) ? routeStatusFromJSON(object.status) : 0,
4089
+ changedBy: isSet(object.changedBy) ? globalThis.String(object.changedBy) : "",
4090
+ note: isSet(object.note) ? globalThis.String(object.note) : "",
4091
+ };
4092
+ },
4093
+ toJSON(message) {
4094
+ const obj = {};
4095
+ if (message.timestamp !== undefined) {
4096
+ obj.timestamp = message.timestamp.toISOString();
4097
+ }
4098
+ if (message.routeId !== "") {
4099
+ obj.routeId = message.routeId;
4100
+ }
4101
+ if (message.routeEditionNumber !== 0) {
4102
+ obj.routeEditionNumber = Math.round(message.routeEditionNumber);
4103
+ }
4104
+ if (message.status !== 0) {
4105
+ obj.status = routeStatusToJSON(message.status);
4106
+ }
4107
+ if (message.changedBy !== "") {
4108
+ obj.changedBy = message.changedBy;
4109
+ }
4110
+ if (message.note !== "") {
4111
+ obj.note = message.note;
4112
+ }
4113
+ return obj;
4114
+ },
4115
+ create(base) {
4116
+ return exports.RouteStatusUpdate.fromPartial(base ?? {});
4117
+ },
4118
+ fromPartial(object) {
4119
+ const message = createBaseRouteStatusUpdate();
4120
+ message.timestamp = object.timestamp ?? undefined;
4121
+ message.routeId = object.routeId ?? "";
4122
+ message.routeEditionNumber = object.routeEditionNumber ?? 0;
4123
+ message.status = object.status ?? 0;
4124
+ message.changedBy = object.changedBy ?? "";
4125
+ message.note = object.note ?? "";
4126
+ return message;
4127
+ },
4128
+ };
4129
+ function bytesFromBase64(b64) {
4130
+ if (globalThis.Buffer) {
4131
+ return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
4132
+ }
4133
+ else {
4134
+ const bin = globalThis.atob(b64);
4135
+ const arr = new Uint8Array(bin.length);
4136
+ for (let i = 0; i < bin.length; ++i) {
4137
+ arr[i] = bin.charCodeAt(i);
4138
+ }
4139
+ return arr;
4140
+ }
4141
+ }
4142
+ function base64FromBytes(arr) {
4143
+ if (globalThis.Buffer) {
4144
+ return globalThis.Buffer.from(arr).toString("base64");
4145
+ }
4146
+ else {
4147
+ const bin = [];
4148
+ arr.forEach((byte) => {
4149
+ bin.push(globalThis.String.fromCharCode(byte));
4150
+ });
4151
+ return globalThis.btoa(bin.join(""));
4152
+ }
4153
+ }
4154
+ function toTimestamp(date) {
4155
+ const seconds = Math.trunc(date.getTime() / 1000);
4156
+ const nanos = (date.getTime() % 1000) * 1000000;
4157
+ return { seconds, nanos };
4158
+ }
4159
+ function fromTimestamp(t) {
4160
+ let millis = (t.seconds || 0) * 1000;
4161
+ millis += (t.nanos || 0) / 1000000;
4162
+ return new globalThis.Date(millis);
4163
+ }
4164
+ function fromJsonTimestamp(o) {
4165
+ if (o instanceof globalThis.Date) {
4166
+ return o;
4167
+ }
4168
+ else if (typeof o === "string") {
4169
+ return new globalThis.Date(o);
4170
+ }
4171
+ else {
4172
+ return fromTimestamp(timestamp_1.Timestamp.fromJSON(o));
4173
+ }
4174
+ }
4175
+ function isObject(value) {
4176
+ return typeof value === "object" && value !== null;
4177
+ }
4178
+ function isSet(value) {
4179
+ return value !== null && value !== undefined;
4180
+ }