@mapvx/web-js 1.2.1 → 1.2.3-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 (104) hide show
  1. package/LICENSE.md +2 -2
  2. package/README.md +12 -9
  3. package/dist/cjs/assets/icons.js +6 -8
  4. package/dist/cjs/assets/icons.js.map +1 -1
  5. package/dist/cjs/controllers/routeController.js +19 -19
  6. package/dist/cjs/controllers/routeController.js.map +1 -1
  7. package/dist/cjs/domain/models/animation.js +2 -2
  8. package/dist/cjs/domain/models/categories.js +23 -10
  9. package/dist/cjs/domain/models/categories.js.map +1 -1
  10. package/dist/cjs/domain/models/mapConfig.js +10 -1
  11. package/dist/cjs/domain/models/mapConfig.js.map +1 -1
  12. package/dist/cjs/domain/models/marker.js +86 -80
  13. package/dist/cjs/domain/models/marker.js.map +1 -1
  14. package/dist/cjs/domain/models/routeConfiguration.js +3 -1
  15. package/dist/cjs/domain/models/routeConfiguration.js.map +1 -1
  16. package/dist/cjs/index.js +17 -12
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/logger/logger.js +13 -8
  19. package/dist/cjs/logger/logger.js.map +1 -1
  20. package/dist/cjs/logger/rollbar.js +11 -6
  21. package/dist/cjs/logger/rollbar.js.map +1 -1
  22. package/dist/cjs/map/map.js +102 -26
  23. package/dist/cjs/map/map.js.map +1 -1
  24. package/dist/cjs/map/mapInteractionOptions.js +56 -0
  25. package/dist/cjs/map/mapInteractionOptions.js.map +1 -0
  26. package/dist/cjs/repository/repository.js +25 -26
  27. package/dist/cjs/repository/repository.js.map +1 -1
  28. package/dist/cjs/repository/requester.js +71 -91
  29. package/dist/cjs/repository/requester.js.map +1 -1
  30. package/dist/cjs/sdk.js +18 -1
  31. package/dist/cjs/sdk.js.map +1 -1
  32. package/dist/cjs/utils/semaphore.js +143 -0
  33. package/dist/cjs/utils/semaphore.js.map +1 -0
  34. package/dist/es/assets/icons.d.ts +4 -4
  35. package/dist/es/assets/icons.d.ts.map +1 -1
  36. package/dist/es/assets/icons.js +6 -8
  37. package/dist/es/assets/icons.js.map +1 -1
  38. package/dist/es/controllers/routeController.d.ts.map +1 -1
  39. package/dist/es/controllers/routeController.js +19 -19
  40. package/dist/es/controllers/routeController.js.map +1 -1
  41. package/dist/es/domain/models/animation.d.ts +3 -3
  42. package/dist/es/domain/models/animation.js +2 -2
  43. package/dist/es/domain/models/categories.d.ts +34 -10
  44. package/dist/es/domain/models/categories.d.ts.map +1 -1
  45. package/dist/es/domain/models/categories.js +21 -9
  46. package/dist/es/domain/models/categories.js.map +1 -1
  47. package/dist/es/domain/models/configuration.d.ts +8 -0
  48. package/dist/es/domain/models/configuration.d.ts.map +1 -1
  49. package/dist/es/domain/models/mapConfig.d.ts +118 -3
  50. package/dist/es/domain/models/mapConfig.d.ts.map +1 -1
  51. package/dist/es/domain/models/mapConfig.js +9 -0
  52. package/dist/es/domain/models/mapConfig.js.map +1 -1
  53. package/dist/es/domain/models/marker.d.ts +8 -0
  54. package/dist/es/domain/models/marker.d.ts.map +1 -1
  55. package/dist/es/domain/models/marker.js +86 -80
  56. package/dist/es/domain/models/marker.js.map +1 -1
  57. package/dist/es/domain/models/routeConfiguration.d.ts +47 -0
  58. package/dist/es/domain/models/routeConfiguration.d.ts.map +1 -1
  59. package/dist/es/domain/models/routeConfiguration.js +3 -1
  60. package/dist/es/domain/models/routeConfiguration.js.map +1 -1
  61. package/dist/es/index.d.ts +13 -12
  62. package/dist/es/index.d.ts.map +1 -1
  63. package/dist/es/index.js +8 -6
  64. package/dist/es/index.js.map +1 -1
  65. package/dist/es/interfaces/routeCacheResponse.d.ts.map +1 -1
  66. package/dist/es/logger/logger.d.ts.map +1 -1
  67. package/dist/es/logger/logger.js +13 -8
  68. package/dist/es/logger/logger.js.map +1 -1
  69. package/dist/es/logger/rollbar.d.ts.map +1 -1
  70. package/dist/es/logger/rollbar.js +11 -6
  71. package/dist/es/logger/rollbar.js.map +1 -1
  72. package/dist/es/map/map.d.ts +79 -0
  73. package/dist/es/map/map.d.ts.map +1 -1
  74. package/dist/es/map/map.js +104 -28
  75. package/dist/es/map/map.js.map +1 -1
  76. package/dist/es/map/mapInteractionOptions.d.ts +37 -0
  77. package/dist/es/map/mapInteractionOptions.d.ts.map +1 -0
  78. package/dist/es/map/mapInteractionOptions.js +51 -0
  79. package/dist/es/map/mapInteractionOptions.js.map +1 -0
  80. package/dist/es/repository/repository.d.ts +0 -1
  81. package/dist/es/repository/repository.d.ts.map +1 -1
  82. package/dist/es/repository/repository.js +25 -26
  83. package/dist/es/repository/repository.js.map +1 -1
  84. package/dist/es/repository/requester.d.ts +12 -2
  85. package/dist/es/repository/requester.d.ts.map +1 -1
  86. package/dist/es/repository/requester.js +71 -91
  87. package/dist/es/repository/requester.js.map +1 -1
  88. package/dist/es/sdk.d.ts +2 -0
  89. package/dist/es/sdk.d.ts.map +1 -1
  90. package/dist/es/sdk.js +18 -1
  91. package/dist/es/sdk.js.map +1 -1
  92. package/dist/es/utils/semaphore.d.ts +70 -0
  93. package/dist/es/utils/semaphore.d.ts.map +1 -0
  94. package/dist/es/utils/semaphore.js +139 -0
  95. package/dist/es/utils/semaphore.js.map +1 -0
  96. package/dist/umd/index.js +1092 -643
  97. package/dist/umd/index.js.map +1 -1
  98. package/dist/umd/styles.css +32 -14
  99. package/dist/umd/styles.css.map +1 -1
  100. package/package.json +63 -49
  101. package/dist/cjs/assets/route_animation_icon.svg +0 -15
  102. package/dist/cjs/assets/user-dot-icon.svg +0 -3
  103. package/dist/es/assets/route_animation_icon.svg +0 -15
  104. package/dist/es/assets/user-dot-icon.svg +0 -3
@@ -38,7 +38,6 @@ class Repository extends loggeable_1.Loggeable {
38
38
  this.token = token;
39
39
  this.currentLang = lang;
40
40
  this.requester = new requester_1.Requester(lang, apiUrl, mapvxRequestContext);
41
- this.lang = lang;
42
41
  this.cache = cache !== null && cache !== void 0 ? cache : new CacheManager_1.CacheManager();
43
42
  }
44
43
  /**
@@ -122,7 +121,7 @@ class Repository extends loggeable_1.Loggeable {
122
121
  }
123
122
  async fetchAndParsePlaceDetail(placeId) {
124
123
  try {
125
- const cachedPlace = this.cache.getPlace(placeId, this.lang);
124
+ const cachedPlace = this.cache.getPlace(placeId, this.currentLang);
126
125
  if (cachedPlace != null) {
127
126
  this.logEvent("fetchAndParsePlaceDetail", { cached: "true" });
128
127
  return cachedPlace;
@@ -134,9 +133,9 @@ class Repository extends loggeable_1.Loggeable {
134
133
  }
135
134
  const responseData = (await response.json());
136
135
  const place = new place_1.MVXPlace(responseData);
137
- this.cache.setPlace(place.mapvxId, place, this.lang);
136
+ this.cache.setPlace(place.mapvxId, place, this.currentLang);
138
137
  if (place.clientId != null) {
139
- this.cache.setPlace(place.clientId, place, this.lang);
138
+ this.cache.setPlace(place.clientId, place, this.currentLang);
140
139
  }
141
140
  this.logEvent("fetchAndParsePlaceDetail", { cached: "false" });
142
141
  return place;
@@ -147,7 +146,7 @@ class Repository extends loggeable_1.Loggeable {
147
146
  }
148
147
  async fetchAndParseAnyPlaceDetail(placeId, authToken) {
149
148
  try {
150
- const cachedPlace = this.cache.getPlace(placeId, this.lang);
149
+ const cachedPlace = this.cache.getPlace(placeId, this.currentLang);
151
150
  if (cachedPlace != null) {
152
151
  this.logEvent("fetchAndParseAnyPlaceDetail", { cached: "true" });
153
152
  return cachedPlace;
@@ -159,9 +158,9 @@ class Repository extends loggeable_1.Loggeable {
159
158
  }
160
159
  const responseData = (await response.json());
161
160
  const place = new place_1.MVXPlace(responseData);
162
- this.cache.setPlace(place.mapvxId, place, this.lang);
161
+ this.cache.setPlace(place.mapvxId, place, this.currentLang);
163
162
  if (place.clientId != null) {
164
- this.cache.setPlace(place.clientId, place, this.lang);
163
+ this.cache.setPlace(place.clientId, place, this.currentLang);
165
164
  }
166
165
  this.logEvent("fetchAndParseAnyPlaceDetail", { cached: "false" });
167
166
  return place;
@@ -216,11 +215,11 @@ class Repository extends loggeable_1.Loggeable {
216
215
  const subPlaces = responseData.map((place) => new place_1.MVXPlace(place));
217
216
  this.logEvent("fetchAndParseAnySubPlaces");
218
217
  subPlaces.forEach((place) => {
219
- if (!this.cache.hasPlace(place.mapvxId, this.lang)) {
220
- this.cache.setPlace(place.mapvxId, place, this.lang);
218
+ if (!this.cache.hasPlace(place.mapvxId, this.currentLang)) {
219
+ this.cache.setPlace(place.mapvxId, place, this.currentLang);
221
220
  }
222
- if (place.clientId != null && !this.cache.hasPlace(place.clientId, this.lang)) {
223
- this.cache.setPlace(place.clientId, place, this.lang);
221
+ if (place.clientId != null && !this.cache.hasPlace(place.clientId, this.currentLang)) {
222
+ this.cache.setPlace(place.clientId, place, this.currentLang);
224
223
  }
225
224
  });
226
225
  return subPlaces;
@@ -242,11 +241,11 @@ class Repository extends loggeable_1.Loggeable {
242
241
  });
243
242
  this.logEvent("fetchAndParseAvailablePlaces");
244
243
  data.forEach((place) => {
245
- if (!this.cache.hasPlace(place.mapvxId, this.lang)) {
246
- this.cache.setPlace(place.mapvxId, place, this.lang);
244
+ if (!this.cache.hasPlace(place.mapvxId, this.currentLang)) {
245
+ this.cache.setPlace(place.mapvxId, place, this.currentLang);
247
246
  }
248
- if (place.clientId != null && !this.cache.hasPlace(place.clientId, this.lang)) {
249
- this.cache.setPlace(place.clientId, place, this.lang);
247
+ if (place.clientId != null && !this.cache.hasPlace(place.clientId, this.currentLang)) {
248
+ this.cache.setPlace(place.clientId, place, this.currentLang);
250
249
  }
251
250
  });
252
251
  return data;
@@ -269,11 +268,11 @@ class Repository extends loggeable_1.Loggeable {
269
268
  });
270
269
  this.logEvent("fetchAndParsePlacesFromInstitution");
271
270
  data.forEach((place) => {
272
- if (!this.cache.hasPlace(place.mapvxId, this.lang)) {
273
- this.cache.setPlace(place.mapvxId, place, this.lang);
271
+ if (!this.cache.hasPlace(place.mapvxId, this.currentLang)) {
272
+ this.cache.setPlace(place.mapvxId, place, this.currentLang);
274
273
  }
275
- if (place.clientId != null && !this.cache.hasPlace(place.clientId, this.lang)) {
276
- this.cache.setPlace(place.clientId, place, this.lang);
274
+ if (place.clientId != null && !this.cache.hasPlace(place.clientId, this.currentLang)) {
275
+ this.cache.setPlace(place.clientId, place, this.currentLang);
277
276
  }
278
277
  });
279
278
  return data;
@@ -288,7 +287,7 @@ class Repository extends loggeable_1.Loggeable {
288
287
  getCachedPlaces(ids) {
289
288
  const places = [];
290
289
  ids.forEach((id) => {
291
- const place = this.cache.getPlace(id, this.lang);
290
+ const place = this.cache.getPlace(id, this.currentLang);
292
291
  if (place != null) {
293
292
  places.push(place);
294
293
  }
@@ -360,9 +359,9 @@ class Repository extends loggeable_1.Loggeable {
360
359
  }
361
360
  async fetchAndParseTransport(stopId) {
362
361
  try {
363
- const cachedResponse = this.cache.getVehicle(stopId, this.lang);
362
+ const cachedResponse = this.cache.getVehicle(stopId, this.currentLang);
364
363
  if (cachedResponse != null &&
365
- (Date.now() - cachedResponse.timestamp < 60 * 100 ||
364
+ (Date.now() - cachedResponse.timestamp < 60 * 1000 ||
366
365
  cachedResponse.data.routes.length === 0)) {
367
366
  this.logEvent("fetchAndParseTransport", { cached: "true" });
368
367
  return cachedResponse.data;
@@ -387,12 +386,12 @@ class Repository extends loggeable_1.Loggeable {
387
386
  this.cache.setVehicle(stopId, {
388
387
  timestamp: Date.now(),
389
388
  data: transport,
390
- }, this.lang);
389
+ }, this.currentLang);
391
390
  this.logEvent("fetchAndParseTransport", { cached: "false" });
392
391
  return transport;
393
392
  }
394
393
  catch (error) {
395
- const cachedResponse = this.cache.getVehicle(stopId, this.lang);
394
+ const cachedResponse = this.cache.getVehicle(stopId, this.currentLang);
396
395
  if (cachedResponse != null) {
397
396
  const transport = new transport_1.MVXTransport({
398
397
  realtimeSchedules: [],
@@ -408,7 +407,7 @@ class Repository extends loggeable_1.Loggeable {
408
407
  }
409
408
  async fetchAndParseStops(stopId, vehicleId) {
410
409
  try {
411
- const cachedResponse = this.cache.getStops(stopId + vehicleId, this.lang);
410
+ const cachedResponse = this.cache.getStops(stopId + vehicleId, this.currentLang);
412
411
  if (cachedResponse != null && Date.now() - cachedResponse.timestamp < 60 * 1000) {
413
412
  this.logEvent("fetchAndParseStops", { cached: "true" });
414
413
  return { id: vehicleId, places: cachedResponse.data };
@@ -422,7 +421,7 @@ class Repository extends loggeable_1.Loggeable {
422
421
  const data = typedResponseData.map((e) => {
423
422
  return new place_1.MVXPlace(e);
424
423
  });
425
- this.cache.setStops(stopId + vehicleId, { timestamp: Date.now(), data }, this.lang);
424
+ this.cache.setStops(stopId + vehicleId, { timestamp: Date.now(), data }, this.currentLang);
426
425
  this.logEvent("fetchAndParseStops", { cached: "false" });
427
426
  return { id: vehicleId, places: data };
428
427
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/repository/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/repository/repository.ts"],"names":[],"mappings":";;;AAaA,8DAA0D;AAC1D,0DAAsD;AACtD,kDAAiD;AACjD,kDAAiD;AAEjD,0DAAiF;AAEjF,uEAAmE;AACnE,2CAAuC;AAIvC;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,SAAkB;IAC7C,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IACnD,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QAC9C,MAAM,GAAG,GAAG,SAAoC,CAAA;QAChD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC,OAAO,CAAA;QACvD,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC,KAAK,CAAA;KACpD;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;AAClC,CAAC;AAED;;;GAGG;AACH,MAAa,UAAW,SAAQ,qBAAS;IAOvC,YACE,KAAa,EACb,IAAY,EACZ,MAAe,EACf,KAAoB,EACpB,mBAAyC;QAEzC,KAAK,EAAE,CAAA;QATD,gBAAW,GAAW,IAAI,CAAA;QAUhC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAA;QACjE,IAAI,CAAC,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,2BAAY,EAAE,CAAA;IAC1C,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAES,mBAAmB,CAAC,YAAoC;QAChE,uCACK,YAAY,KACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAClB;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAgB;QAC1C,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;YAC3C,OAAO,IAAI,CAAC,SAAS,CAAA;SACtB;QACD,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAExE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAA;YAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,KAA2B,CAAA;YACtD,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;aACvB;YACD,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAA;YACtC,OAAO,KAAK,CAAA;SACb;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC,CAAA;YAC/D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;SACvD;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,aAAqB,EACrB,SAAiB;QAEjB,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;YAEhF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAA;YAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,KAA2B,CAAA;YACtD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAA;YACzC,OAAO,KAAK,CAAA;SACb;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,0BAA0B,EAAE,CAAC,CAAA;YAClE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;SACzE;IACH,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAEnE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YAED,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0B,CAAA;YACrE,MAAM,YAAY,GAAkB,EAAE,CAAA;YACtC,KAAK,MAAM,eAAe,IAAI,YAAY,EAAE;gBAC1C,MAAM,WAAW,GAAG,IAAI,yBAAW,CAAC,eAAe,CAAC,CAAA;gBACpD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;aAC/B;YACD,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;YAC3D,MAAM,iBAAiB,GAAG,YAAY,CAAA;YACtC,IAAI,iBAAiB,EAAE;gBACrB,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAA;gBAC5C,OAAO,iBAAiB,CAAA;aACzB;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;aAC7D;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,6BAA6B,EAAE,CAAC,CAAA;YACrE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;SACzD;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,OAAe;QAC5C,IAAI;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAW,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAC5E,IAAI,WAAW,IAAI,IAAI,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBAC7D,OAAO,WAAW,CAAA;aACnB;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAC3E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAA;YAC7D,MAAM,KAAK,GAAG,IAAI,gBAAQ,CAAC,YAAY,CAAC,CAAA;YACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAC3D,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;aAC7D;YACD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YAC9D,OAAO,KAAK,CAAA;SACb;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;SAC1D;IACH,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,OAAe,EAAE,SAAiB;QAClE,IAAI;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAW,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAC5E,IAAI,WAAW,IAAI,IAAI,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBAChE,OAAO,WAAW,CAAA;aACnB;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAA;YAC7D,MAAM,KAAK,GAAG,IAAI,gBAAQ,CAAC,YAAY,CAAC,CAAA;YACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAC3D,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;aAC7D;YACD,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YACjE,OAAO,KAAK,CAAA;SACb;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;SAC5E;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,aAAqB;QAChD,IAAI;YACF,oBAAoB;YACpB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAC7C,aAAa,EACb,IAAI,CAAC,WAAW,CACjB,CAAA;YAED,IAAI,eAAe,IAAI,IAAI,EAAE;gBAC3B,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBAC3D,OAAO,eAAe,CAAC,IAAI,CAAA;aAC5B;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAE/E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAA;YAC/D,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;YAElE,mBAAmB;YACnB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE;gBACvD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,SAAS;aAChB,CAAC,CAAA;YAEF,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YAE5D,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;iBAC5D;gBACD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACpF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;iBAC7D;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,SAAS,CAAA;SACjB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;SACvD;IACH,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,aAAqB,EAAE,SAAiB;QACtE,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;YAEjF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAA;YAC/D,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;YAElE,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAA;YAE1C,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;iBAC5D;gBACD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACpF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;iBAC7D;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,SAAS,CAAA;SACjB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;SAC3D;IACH,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACpE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,iBAAiB,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAA;YACpE,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1C,OAAO,IAAI,gBAAQ,CAAC,IAAI,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAA;YAC7C,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;iBAC5D;gBACD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACpF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;iBAC7D;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,8BAA8B,EAAE,CAAC,CAAA;YACtE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;SAC3D;IACH,CAAC;IAED,KAAK,CAAC,kCAAkC,CACtC,aAAqB,EACrB,SAAiB;QAEjB,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;YAC7F,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,iBAAiB,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAA;YACpE,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1C,OAAO,IAAI,gBAAQ,CAAC,IAAI,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAA;YACnD,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;iBAC5D;gBACD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACpF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;iBAC7D;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACnB,YAAY,EAAE,oCAAoC;aACnD,CAAC,CAAA;YACF,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;SAC5E;IACH,CAAC;IAED,eAAe,CAAC,GAAa;QAC3B,MAAM,MAAM,GAAe,EAAE,CAAA;QAE7B,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YACjE,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACnB;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,aAAqB;QACtC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAC7C,aAAa,EACb,IAAI,CAAC,WAAW,CACjB,CAAA;QACD,OAAO,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAqC;QAC5D,IAAI;YACF,IAAI,aAAa,GAAG,EAAE,CAAA;YACtB,IAAI,IAAI,IAAI,MAAM,CAAC,aAAa,EAAE;gBAChC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;aACxC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAyB,aAAa,CAAC,CAAA;YAEjF,IAAI,cAAc,IAAI,IAAI,EAAE;gBAC1B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBACvD,IAAI,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAA;gBACrD,OAAO,cAAc,CAAC,IAAI,CAAA;aAC3B;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YACpE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAA;YAC/D,MAAM,KAAK,GAAG,IAAI,gBAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3C,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;YACnC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAA;YAC9C,OAAO,KAAK,CAAA;SACb;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;SACnD;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAqC;QAC9D,IAAI;YACF,IAAI,aAAa,GAAG,EAAE,CAAA;YACtB,IAAI,IAAI,IAAI,MAAM,CAAC,aAAa,EAAE;gBAChC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;aACxC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAyB,aAAa,CAAC,CAAA;YAEjF,IAAI,cAAc,IAAI,IAAI,EAAE;gBAC1B,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBACzD,IAAI,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAA;gBACrD,OAAO,cAAc,CAAC,IAAI,CAAA;aAC3B;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YACtE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAA;YAC/D,MAAM,KAAK,GAAG,IAAI,gBAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3C,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAA;YACrC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAA;YAC9C,OAAO,KAAK,CAAA;SACb;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;SACnD;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAc;QACzC,IAAI;YACF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAC1C,MAAM,EACN,IAAI,CAAC,WAAW,CACjB,CAAA;YACD,IACE,cAAc,IAAI,IAAI;gBACtB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI;oBAChD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAC1C;gBACA,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBAC3D,OAAO,cAAc,CAAC,IAAI,CAAA;aAC3B;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YACxE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,iBAAiB,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAA;YAEtE,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,MAAM,aAAa,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClE,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAC7C,CAAA;gBAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;gBAE9C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;;wBACtD,OAAO,CAAC,KAAK,GAAG,MAAA,MAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,0CAAE,MAAM,mCAAI,EAAE,CAAA;oBAC5E,CAAC,CAAC,CAAA;iBACH;aACF;YAED,MAAM,SAAS,GAAG,IAAI,wBAAY,CAAC,iBAAiB,CAAC,CAAA;YAErD,IAAI,CAAC,KAAK,CAAC,UAAU,CACnB,MAAM,EACN;gBACE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,SAAS;aAChB,EACD,IAAI,CAAC,WAAW,CACjB,CAAA;YAED,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YAC5D,OAAO,SAAS,CAAA;SACjB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAC1C,MAAM,EACN,IAAI,CAAC,WAAW,CACjB,CAAA;YACD,IAAI,cAAc,IAAI,IAAI,EAAE;gBAC1B,MAAM,SAAS,GAAG,IAAI,wBAAY,CAAC;oBACjC,iBAAiB,EAAE,EAAE;oBACrB,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ;iBACxC,CAAC,CAAA;gBACF,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBAC3D,OAAO,SAAS,CAAA;aACjB;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;aACvD;SACF;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,SAAiB;QAEjB,IAAI;YACF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CACxC,MAAM,GAAG,SAAS,EAClB,IAAI,CAAC,WAAW,CACjB,CAAA;YACD,IAAI,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE;gBAC/E,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBACvD,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,CAAA;aACtD;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YAC/E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YAED,MAAM,iBAAiB,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAA;YACpE,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvC,OAAO,IAAI,gBAAQ,CAAC,CAAC,CAAC,CAAA;YACxB,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAE1F,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YAExD,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;SACvC;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;SACnD;IACH,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,aAAqB,EACrB,KAAa,EACb,YAAuB,EACvB,MAAe,EACf,GAAY,EACZ,GAAY,EACZ,KAAc;QAEd,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CACtD,aAAa,EACb,KAAK,EACL,IAAI,CAAC,KAAK,EACV,YAAY,EACZ,MAAM,EACN,GAAG,EACH,GAAG,EACH,KAAK,CACN,CAAA;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAA;YAC/D,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChD,OAAO,IAAI,gBAAQ,CAAC,MAAM,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAA;YAEF,OAAO,aAAa,CAAA;SACrB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;SAC5D;IACH,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,aAAqB,EACrB,IAAc,EACd,YAAuB,EACvB,IAAa,EACb,MAAe,EACf,GAAY,EACZ,GAAY,EACZ,KAAc;QAEd,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAC3D,aAAa,EACb,IAAI,EACJ,IAAI,CAAC,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,GAAG,EACH,GAAG,EACH,KAAK,CACN,CAAA;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YAED,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAA;YAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;YAE/D,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAA;YAEhD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;iBAC5D;gBACD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACpF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;iBAC7D;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,MAAM,CAAA;SACd;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;SACnE;IACH,CAAC;IAED,KAAK,CAAC,6BAA6B,CACjC,aAAqB,EACrB,WAAmB,EACnB,cAAsB,EACtB,UAAkB,EAClB,IAAY;QAEZ,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CACxD,IAAI,CAAC,KAAK,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,IAAI,CACL,CAAA;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAA;YAElF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,EAAE;gBAChE,MAAM,KAAK,GAAG,IAAI,gBAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE;oBACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YACF,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,EAAE;gBAC1E,MAAM,KAAK,GAAG,IAAI,gBAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC5C,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,aAAa,EAAE;oBAC3C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAA;SACvD;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;SACxE;IACH,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,aAAqB;QACrD,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;YACpF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YACD,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA2B,CAAA;YACxE,OAAO,UAAU,CAAA;SAClB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;SAC7D;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;QAC7B,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,OAAgB,EAChB,OAAsB;QAEtB,IAAI;YACF,oBAAoB;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC9C,OAAO,IAAI,SAAS,EACpB,OAAO,IAAI,SAAS,EACpB,IAAI,CAAC,WAAW,CACjB,CAAA;YAED,IAAI,YAAY,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBAC/D,OAAO,YAAY,CAAC,IAAI,CAAA;aACzB;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAEtF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAA;YAEvD,mBAAmB;YACnB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,IAAI,SAAS,EAAE,OAAO,IAAI,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE;gBACxF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,MAAM;aACb,CAAC,CAAA;YAEF,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YAChE,OAAO,MAAM,CAAA;SACd;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,4BAA4B,EAAE,CAAC,CAAA;YACpE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;SAC3D;IACH,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,OAAgB;QAC5C,IAAI;YACF,oBAAoB;YACpB,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAC/C,OAAO,IAAI,SAAS,EACpB,IAAI,CAAC,WAAW,CACjB,CAAA;YAED,IAAI,gBAAgB,IAAI,IAAI,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBAC5D,OAAO,gBAAgB,CAAC,IAAI,CAAA;aAC7B;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAE1E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YAED,MAAM,UAAU,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAe,CAAA;YAExD,mBAAmB;YACnB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,IAAI,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE;gBAC/D,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,UAAU;aACjB,CAAC,CAAA;YAEF,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YAC7D,OAAO,UAAU,CAAA;SAClB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;SACxD;IACH,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,IAAY;QAC9C,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAE7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACjF,CAAA;aACF;YAED,MAAM,gBAAgB,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAA;YAEpE,OAAO,gBAAgB,CAAA;SACxB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;SAC/D;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,YAAoB,EACpB,OAAe,EACf,OAAe,EACf,MAAe;QAEf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAC9C,IAAI,CAAC,KAAK,EACV,YAAY,EACZ,OAAO,EACP,OAAO,EACP,MAAM,CACP,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YACvC,MAAM,IAAI,KAAK,CACb,2BAA2B,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAChF,CAAA;SACF;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAA;QAEtD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AA/wBD,gCA+wBC"}
@@ -14,11 +14,9 @@ class Requester {
14
14
  // Ensure we have an absolute URL (required for new URL() in fetchFromUrl)
15
15
  const withProtocol = apiUrl.startsWith("http://") || apiUrl.startsWith("https://") ? apiUrl : `https://${apiUrl}`;
16
16
  const cleanApiUrl = withProtocol.endsWith("/") ? withProtocol.slice(0, -1) : withProtocol;
17
- this.baseUrl = `${cleanApiUrl}/api/sdk/`;
18
- this.baseUrlV2 = `${cleanApiUrl}/api/sdk/v2/`;
19
- this.baseUrlApi = `${cleanApiUrl}/api/`;
17
+ this.baseUrl = `${cleanApiUrl}/api/sdk/v2/`;
20
18
  this.baseUrlPortal = `${cleanApiUrl}/api/portal/`;
21
- this.baseUrlHealth = `https://api.mapvx.com/api/health/`;
19
+ this.baseUrlHealth = `https://api.mapvx.com/api/sdk/v2/health`;
22
20
  this.oldBaseUrl = `https://api.mapvx.com/api/sdk/`;
23
21
  this.routeBaseUrl = "https://api.mapvx.com/sdk/";
24
22
  }
@@ -95,10 +93,10 @@ class Requester {
95
93
  method: "GET",
96
94
  headers: {
97
95
  "content-type": "application/json",
96
+ Authorization: `Bearer ${token}`,
98
97
  },
99
98
  };
100
99
  const params = {
101
- token,
102
100
  stopId,
103
101
  lang: this.lang,
104
102
  };
@@ -116,10 +114,10 @@ class Requester {
116
114
  method: "GET",
117
115
  headers: {
118
116
  "content-type": "application/json",
117
+ Authorization: `Bearer ${token}`,
119
118
  },
120
119
  };
121
120
  const params = {
122
- token,
123
121
  stopId,
124
122
  vehicleId,
125
123
  lang: this.lang,
@@ -137,10 +135,10 @@ class Requester {
137
135
  method: "GET",
138
136
  headers: {
139
137
  "content-type": "application/json",
138
+ Authorization: `Bearer ${token}`,
140
139
  },
141
140
  };
142
141
  const params = {
143
- token,
144
142
  lang: this.lang,
145
143
  };
146
144
  if (placeId != null) {
@@ -184,10 +182,10 @@ class Requester {
184
182
  method: "GET",
185
183
  headers: {
186
184
  "content-type": "application/json",
185
+ Authorization: `Bearer ${token}`,
187
186
  },
188
187
  };
189
188
  const params = {
190
- token,
191
189
  lang: this.lang,
192
190
  };
193
191
  return this.fetchFromUrl(this.baseUrl + "availablePlaces", params, options);
@@ -227,10 +225,10 @@ class Requester {
227
225
  method: "GET",
228
226
  headers: {
229
227
  "content-type": "application/json",
228
+ Authorization: `Bearer ${token}`,
230
229
  },
231
230
  };
232
231
  const params = {
233
- token,
234
232
  place_id: placeId,
235
233
  lang: this.lang,
236
234
  };
@@ -271,10 +269,10 @@ class Requester {
271
269
  method: "GET",
272
270
  headers: {
273
271
  "content-type": "application/json",
272
+ Authorization: `Bearer ${token}`,
274
273
  },
275
274
  };
276
275
  const params = {
277
- token,
278
276
  targetPlace: targetPlaceId,
279
277
  lang: this.lang,
280
278
  };
@@ -307,17 +305,17 @@ class Requester {
307
305
  return this.fetchFromUrl(this.baseUrlPortal + "subPlaces", params, options);
308
306
  }
309
307
  /**
310
- * To obtain the route
311
- * @param routeConfig
312
- * @returns
308
+ * Build the cleaned query parameters for a route request.
309
+ *
310
+ * Resolves both the origin (`from*`) and destination (`to*`) sides of the route
311
+ * from the provided configuration. For {@link IdLocation} endpoints this also
312
+ * forwards the building (`fromBuilding`/`toBuilding`) and floor
313
+ * (`fromFloor`/`toFloor`) so internal aliases that are reused across buildings
314
+ * can be disambiguated. Parameters that resolve to `null`/`undefined` are dropped.
315
+ * @param routeConfig The route configuration to translate into query params.
316
+ * @returns The cleaned query parameters ready to be appended to the request URL.
313
317
  */
314
- async fetchRoute(routeConfig, token) {
315
- const options = {
316
- method: "GET",
317
- headers: {
318
- "content-type": "application/json",
319
- },
320
- };
318
+ buildRouteParams(routeConfig) {
321
319
  const params = {
322
320
  fromLatLng: undefined,
323
321
  fromBuilding: undefined,
@@ -330,15 +328,21 @@ class Requester {
330
328
  travelMode: routeConfiguration_1.TransportationMode.walking,
331
329
  reducedMobility: routeConfig.preferAccessibleRoute ? 1 : 0,
332
330
  announceFormat: routeConfig.announceFormat,
333
- userBearing: 0,
331
+ userBearing: routeConfig.userBearing,
334
332
  lang: this.lang,
335
333
  unitSystem: routeConfig.unitSystem,
336
- token,
337
334
  };
338
335
  if ("id" in routeConfig.initialLocation) {
339
- params.fromPlaceId = routeConfig.initialLocation.id;
340
- if (routeConfig.initialLocation.level !== undefined) {
341
- params.fromFloor = routeConfig.initialLocation.level;
336
+ const { id, buildingId, floorId, level } = routeConfig.initialLocation;
337
+ params.fromPlaceId = id;
338
+ if (buildingId !== undefined) {
339
+ params.fromBuilding = buildingId;
340
+ }
341
+ if (floorId !== undefined) {
342
+ params.fromFloor = floorId;
343
+ }
344
+ else if (level !== undefined) {
345
+ params.fromFloor = level;
342
346
  }
343
347
  }
344
348
  else {
@@ -348,9 +352,16 @@ class Requester {
348
352
  params.fromBuilding = placeId;
349
353
  }
350
354
  if ("id" in routeConfig.finalLocation) {
351
- params.toPlaceId = routeConfig.finalLocation.id;
352
- if (routeConfig.finalLocation.level !== undefined) {
353
- params.toFloor = routeConfig.finalLocation.level;
355
+ const { id, buildingId, floorId, level } = routeConfig.finalLocation;
356
+ params.toPlaceId = id;
357
+ if (buildingId !== undefined) {
358
+ params.toBuilding = buildingId;
359
+ }
360
+ if (floorId !== undefined) {
361
+ params.toFloor = floorId;
362
+ }
363
+ else if (level !== undefined) {
364
+ params.toFloor = level;
354
365
  }
355
366
  }
356
367
  else {
@@ -366,6 +377,22 @@ class Requester {
366
377
  cleanParams[key] = value;
367
378
  }
368
379
  }
380
+ return cleanParams;
381
+ }
382
+ /**
383
+ * To obtain the route
384
+ * @param routeConfig
385
+ * @returns
386
+ */
387
+ async fetchRoute(routeConfig, token) {
388
+ const options = {
389
+ method: "GET",
390
+ headers: {
391
+ "content-type": "application/json",
392
+ Authorization: `Bearer ${token}`,
393
+ },
394
+ };
395
+ const cleanParams = this.buildRouteParams(routeConfig);
369
396
  return this.fetchFromUrl(this.routeBaseUrl + "route", cleanParams, options);
370
397
  }
371
398
  /**
@@ -378,56 +405,10 @@ class Requester {
378
405
  method: "GET",
379
406
  headers: {
380
407
  "content-type": "application/json",
408
+ Authorization: `Bearer ${token}`,
381
409
  },
382
410
  };
383
- const params = {
384
- fromLatLng: undefined,
385
- fromBuilding: undefined,
386
- fromFloor: undefined,
387
- toLatLng: undefined,
388
- toBuilding: undefined,
389
- toFloor: undefined,
390
- fromPlaceId: undefined,
391
- toPlaceId: undefined,
392
- travelMode: routeConfiguration_1.TransportationMode.walking,
393
- reducedMobility: routeConfig.preferAccessibleRoute ? 1 : 0,
394
- announceFormat: routeConfig.announceFormat,
395
- userBearing: 0,
396
- lang: this.lang,
397
- unitSystem: routeConfig.unitSystem,
398
- token,
399
- };
400
- if ("id" in routeConfig.initialLocation) {
401
- params.fromPlaceId = routeConfig.initialLocation.id;
402
- if (routeConfig.initialLocation.level !== undefined) {
403
- params.fromFloor = routeConfig.initialLocation.level;
404
- }
405
- }
406
- else {
407
- const { lat, lng, floorId, placeId } = routeConfig.initialLocation;
408
- params.fromLatLng = `${lat},${lng}`;
409
- params.fromFloor = floorId;
410
- params.fromBuilding = placeId;
411
- }
412
- if ("id" in routeConfig.finalLocation) {
413
- params.toPlaceId = routeConfig.finalLocation.id;
414
- if (routeConfig.finalLocation.level !== undefined) {
415
- params.toFloor = routeConfig.finalLocation.level;
416
- }
417
- }
418
- else {
419
- const { lat, lng, floorId, placeId } = routeConfig.finalLocation;
420
- params.toLatLng = `${lat},${lng}`;
421
- params.toFloor = floorId;
422
- params.toBuilding = placeId;
423
- }
424
- const cleanParams = {};
425
- for (const key in params) {
426
- const value = params[key];
427
- if (value != null) {
428
- cleanParams[key] = value;
429
- }
430
- }
411
+ const cleanParams = this.buildRouteParams(routeConfig);
431
412
  return this.fetchFromUrl(this.routeBaseUrl + "v2/route", cleanParams, options);
432
413
  }
433
414
  /**
@@ -442,10 +423,10 @@ class Requester {
442
423
  method: "GET",
443
424
  headers: {
444
425
  "content-type": "application/json",
426
+ Authorization: `Bearer ${token}`,
445
427
  },
446
428
  };
447
429
  const params = {
448
- token: token,
449
430
  lang: this.lang,
450
431
  };
451
432
  return this.fetchFromUrl(this.baseUrl + "institution", params, options);
@@ -467,13 +448,13 @@ class Requester {
467
448
  method: "GET",
468
449
  headers: {
469
450
  "content-type": "application/json",
451
+ Authorization: `Bearer ${token}`,
470
452
  },
471
453
  };
472
454
  const params = {
473
455
  institution_id: institutionId,
474
456
  input,
475
457
  lang: this.lang,
476
- token,
477
458
  };
478
459
  if (parentIds) {
479
460
  params.parentPlaces = [...parentIds];
@@ -511,7 +492,7 @@ class Requester {
511
492
  * @returns Response promise.
512
493
  */
513
494
  async fetchSearchPlacesByTags(institutionId, tags, token, parentPlaces, sort, origin, lat, lng, floor) {
514
- // The v2 endpoint authenticates via the Authorization header (Bearer),
495
+ // The v2 endpoints authenticate via the Authorization header (Bearer),
515
496
  // not via a `token` query parameter like the legacy /api/sdk/* routes.
516
497
  const options = {
517
498
  method: "GET",
@@ -543,49 +524,49 @@ class Requester {
543
524
  if (floor) {
544
525
  params.floor = floor;
545
526
  }
546
- return this.fetchFromUrl(this.baseUrlV2 + "searchPlacesByTags", params, options);
527
+ return this.fetchFromUrl(this.baseUrl + "searchPlacesByTags", params, options);
547
528
  }
548
529
  async fetchConfiguration(token, place_id, product) {
549
530
  const options = {
550
531
  method: "GET",
551
532
  headers: {
552
533
  "content-type": "application/json",
534
+ Authorization: `Bearer ${token}`,
553
535
  },
554
536
  };
555
537
  const params = {
556
- token: token,
557
538
  lang: this.lang,
558
539
  };
559
540
  if (place_id)
560
541
  params.place_id = place_id;
561
542
  if (product)
562
543
  params.product = product;
563
- return this.fetchFromUrl(this.baseUrlApi + "configuration", params, options);
544
+ return this.fetchFromUrl(this.baseUrl + "configuration", params, options);
564
545
  }
565
546
  async fetchCategories(token, place_id) {
566
547
  const options = {
567
548
  method: "GET",
568
549
  headers: {
569
550
  "content-type": "application/json",
551
+ Authorization: `Bearer ${token}`,
570
552
  },
571
553
  };
572
554
  const params = {
573
- token: token,
574
555
  lang: this.lang,
575
556
  };
576
557
  if (place_id)
577
558
  params.id = place_id;
578
- return this.fetchFromUrl(this.baseUrlApi + "category", params, options);
559
+ return this.fetchFromUrl(this.baseUrl + "category", params, options);
579
560
  }
580
561
  async fetchRoutesForOrigin(token, parentPlaceId, fromPlaceId, announceFormat, unitSystem, mode) {
581
562
  const options = {
582
563
  method: "GET",
583
564
  headers: {
584
565
  "content-type": "application/json",
566
+ Authorization: `Bearer ${token}`,
585
567
  },
586
568
  };
587
569
  const params = {
588
- token,
589
570
  placeId: parentPlaceId,
590
571
  fromPlace: fromPlaceId,
591
572
  announceFormat,
@@ -600,10 +581,10 @@ class Requester {
600
581
  method: "GET",
601
582
  headers: {
602
583
  "content-type": "application/json",
584
+ Authorization: `Bearer ${token}`,
603
585
  },
604
586
  };
605
587
  const params = {
606
- token,
607
588
  placeId,
608
589
  };
609
590
  return this.fetchFromUrl(this.routeBaseUrl + "cache_timestamp", params, options);
@@ -613,13 +594,13 @@ class Requester {
613
594
  method: "GET",
614
595
  headers: {
615
596
  "content-type": "application/json",
597
+ Authorization: `Bearer ${token}`,
616
598
  },
617
599
  };
618
600
  const params = {
619
- token,
620
601
  type,
621
602
  };
622
- return this.fetchFromUrl(this.baseUrlApi + "styles/customStyles", params, options);
603
+ return this.fetchFromUrl(this.baseUrl + "styles/customStyles", params, options);
623
604
  }
624
605
  async postHealth(token, healthPingId, placeId, totemId, status) {
625
606
  const requestData = JSON.stringify({
@@ -628,14 +609,13 @@ class Requester {
628
609
  totemId: totemId,
629
610
  status: status,
630
611
  });
631
- const params = {
632
- token: token,
633
- };
612
+ const params = {};
634
613
  const options = {
635
614
  method: "POST",
636
615
  headers: {
637
616
  accept: "application/json",
638
617
  "Content-Type": "application/json",
618
+ Authorization: `Bearer ${token}`,
639
619
  },
640
620
  body: requestData,
641
621
  };