@esri/telemetry-amazon 6.0.0-beta.4 → 6.0.0-beta.6

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 (45) hide show
  1. package/dist/esm/auth.js +11 -18
  2. package/dist/esm/auth.js.map +1 -1
  3. package/dist/esm/index.js +2 -2
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/esm/index.test.js +17 -0
  6. package/dist/esm/index.test.js.map +1 -1
  7. package/dist/esm/plugins/esri.js +172 -83
  8. package/dist/esm/plugins/esri.js.map +1 -1
  9. package/dist/esm/plugins/esri.test.js +341 -68
  10. package/dist/esm/plugins/esri.test.js.map +1 -1
  11. package/dist/esm/plugins/utils/browser.js +97 -0
  12. package/dist/esm/plugins/utils/browser.js.map +1 -0
  13. package/dist/esm/plugins/utils/os.js +42 -0
  14. package/dist/esm/plugins/utils/os.js.map +1 -0
  15. package/dist/esm/plugins/{shared.js → utils/shared.js} +1 -1
  16. package/dist/esm/plugins/utils/shared.js.map +1 -0
  17. package/dist/node/auth.js +11 -18
  18. package/dist/node/auth.js.map +1 -1
  19. package/dist/node/index.js +2 -2
  20. package/dist/node/index.js.map +1 -1
  21. package/dist/node/index.test.js +17 -0
  22. package/dist/node/index.test.js.map +1 -1
  23. package/dist/node/plugins/esri.js +172 -83
  24. package/dist/node/plugins/esri.js.map +1 -1
  25. package/dist/node/plugins/esri.test.js +342 -68
  26. package/dist/node/plugins/esri.test.js.map +1 -1
  27. package/dist/node/plugins/utils/browser.js +101 -0
  28. package/dist/node/plugins/utils/browser.js.map +1 -0
  29. package/dist/node/plugins/utils/os.js +46 -0
  30. package/dist/node/plugins/utils/os.js.map +1 -0
  31. package/dist/node/plugins/{shared.js → utils/shared.js} +3 -2
  32. package/dist/node/plugins/utils/shared.js.map +1 -0
  33. package/dist/types/index.d.ts +2 -2
  34. package/dist/types/plugins/esri.d.ts +5 -10
  35. package/dist/types/plugins/utils/browser.d.ts +12 -0
  36. package/dist/types/plugins/utils/os.d.ts +5 -0
  37. package/dist/types/plugins/{shared.d.ts → utils/shared.d.ts} +1 -0
  38. package/dist/types/types.d.ts +87 -3
  39. package/dist/umd/telemetry-amazon.js +321 -103
  40. package/dist/umd/telemetry-amazon.js.map +1 -1
  41. package/dist/umd/telemetry-amazon.min.js +321 -103
  42. package/dist/umd/telemetry-amazon.min.js.map +1 -1
  43. package/package.json +1 -1
  44. package/dist/esm/plugins/shared.js.map +0 -1
  45. package/dist/node/plugins/shared.js.map +0 -1
@@ -3,18 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createEsriPlugin = void 0;
4
4
  const aws4fetch_1 = require("aws4fetch");
5
5
  const auth_1 = require("../auth");
6
- const shared_1 = require("./shared");
6
+ const shared_1 = require("./utils/shared");
7
7
  const ESRI_SIGNING_SERVICE = 'execute-api';
8
8
  const ESRI_SIGNING_REGION = 'us-east-1';
9
9
  const ESRI_ENDPOINT_URL = (appId) => `https://tedev.arcgis.com/v1/apps/${appId}/events`;
10
10
  const SESSION_START_EVENT = '_session.start';
11
11
  const SESSION_STOP_EVENT = '_session.stop';
12
12
  const DEFAULT_IDLE_TIMEOUT_MS = 30 * 60 * 1000;
13
+ const DEFAULT_DEBOUNCE_MS = 5000;
13
14
  /** Converts a string to a number, guarded against invalid values */
14
15
  function getNumber(value, fallback = 0) {
15
16
  const numeric = Number(value);
16
17
  return Number.isFinite(numeric) ? numeric : fallback;
17
18
  }
19
+ /** Splits an EsriBatchEventPayload into attributes and metrics */
18
20
  function splitEventData(payload) {
19
21
  const attributes = {};
20
22
  const metrics = {};
@@ -51,58 +53,73 @@ function splitEventData(payload) {
51
53
  metrics,
52
54
  };
53
55
  }
54
- function buildBatchEventPayload({ eventName, payload, trackerName, appName, appVersion, session, }) {
55
- var _a, _b, _c, _d;
56
- const endpointId = (0, shared_1.getEndpointId)();
57
- const timestamp = new Date().toISOString();
58
- const sessionContext = session ||
56
+ /** Constructs an event payload in the shape expected by the endpoint. */
57
+ function buildBatchEventPayload({ queuedEvents, trackerName, appName, appVersion, }) {
58
+ var _a, _b, _c, _d, _e, _f;
59
+ const endpointEvent = queuedEvents[queuedEvents.length - 1] ||
59
60
  {
60
- id: `${Date.now()}-${Math.random().toString(16).slice(2)}`,
61
- startTimestamp: timestamp,
62
- startUnixMs: Date.now(),
61
+ payload: {},
62
+ browserInfo: {},
63
63
  };
64
- const isStopEvent = eventName === SESSION_STOP_EVENT;
65
- const { attributes, metrics } = splitEventData(payload);
64
+ const payload = endpointEvent.payload || {};
65
+ const browserInfo = endpointEvent.browserInfo || {};
66
+ const endpointId = (0, shared_1.getEndpointId)();
67
+ const location = {};
68
+ if (payload === null || payload === void 0 ? void 0 : payload.city) {
69
+ location.City = payload.city;
70
+ }
71
+ if (payload === null || payload === void 0 ? void 0 : payload.country) {
72
+ location.Country = payload.country;
73
+ }
74
+ if ((payload === null || payload === void 0 ? void 0 : payload.lat) !== undefined && (payload === null || payload === void 0 ? void 0 : payload.lat) !== null) {
75
+ location.Lat = getNumber(payload.lat);
76
+ }
77
+ if ((payload === null || payload === void 0 ? void 0 : payload.lon) !== undefined && (payload === null || payload === void 0 ? void 0 : payload.lon) !== null) {
78
+ location.Lon = getNumber(payload.lon);
79
+ }
66
80
  return {
67
81
  BatchEvent: {
68
82
  Endpoint: {
69
83
  Id: endpointId,
70
- Device: {
71
- Make: (payload === null || payload === void 0 ? void 0 : payload.deviceMake) || '',
72
- Model: (payload === null || payload === void 0 ? void 0 : payload.deviceModel) || '',
73
- },
74
- Location: {
75
- City: (payload === null || payload === void 0 ? void 0 : payload.city) || '',
76
- Country: (payload === null || payload === void 0 ? void 0 : payload.country) || '',
77
- Lat: getNumber(payload === null || payload === void 0 ? void 0 : payload.lat),
78
- Lon: getNumber(payload === null || payload === void 0 ? void 0 : payload.lon),
79
- },
84
+ Device: Object.assign({ Locale: (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.language) || '', Make: (payload === null || payload === void 0 ? void 0 : payload.deviceMake) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.make) || '', Model: (payload === null || payload === void 0 ? void 0 : payload.deviceModel) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.model) || '', ModelVersion: (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.version) || '', Platform: ((_a = browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.os) === null || _a === void 0 ? void 0 : _a.name) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.platform) || '' }, (((_b = browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.os) === null || _b === void 0 ? void 0 : _b.version)
85
+ ? { PlatformVersion: browserInfo.os.version }
86
+ : {})),
87
+ Location: location,
80
88
  Application: {
81
- AppTitle: (_b = (_a = payload === null || payload === void 0 ? void 0 : payload.appTitle) !== null && _a !== void 0 ? _a : appName) !== null && _b !== void 0 ? _b : trackerName,
82
- AppVersion: (_c = payload === null || payload === void 0 ? void 0 : payload.appVersion) !== null && _c !== void 0 ? _c : appVersion,
83
- ClientSdkVersion: (_d = payload === null || payload === void 0 ? void 0 : payload.clientSdkVersion) !== null && _d !== void 0 ? _d : trackerName,
89
+ AppTitle: (_d = (_c = payload === null || payload === void 0 ? void 0 : payload.appTitle) !== null && _c !== void 0 ? _c : appName) !== null && _d !== void 0 ? _d : trackerName,
90
+ AppVersion: (_e = payload === null || payload === void 0 ? void 0 : payload.appVersion) !== null && _e !== void 0 ? _e : appVersion,
91
+ ClientSdkVersion: (_f = payload === null || payload === void 0 ? void 0 : payload.clientSdkVersion) !== null && _f !== void 0 ? _f : trackerName,
84
92
  },
85
93
  },
86
- Events: [
87
- {
88
- EventType: eventName,
94
+ Events: queuedEvents.map((queuedEvent) => {
95
+ const timestamp = queuedEvent.timestamp;
96
+ const { attributes, metrics } = splitEventData(queuedEvent.payload);
97
+ const sessionContext = queuedEvent.session ||
98
+ {
99
+ id: `${queuedEvent.unixMs}-${Math.random().toString(16).slice(2)}`,
100
+ startTimestamp: timestamp,
101
+ startUnixMs: queuedEvent.unixMs,
102
+ };
103
+ const isStopEvent = queuedEvent.eventName === SESSION_STOP_EVENT;
104
+ return {
105
+ EventType: queuedEvent.eventName,
89
106
  Timestamp: timestamp,
90
107
  Session: {
91
108
  Id: sessionContext.id,
92
109
  StartTimestamp: sessionContext.startTimestamp,
93
110
  EndTimestamp: timestamp,
94
111
  Duration: isStopEvent
95
- ? Math.max(0, Date.now() - sessionContext.startUnixMs)
112
+ ? Math.max(0, queuedEvent.unixMs - sessionContext.startUnixMs)
96
113
  : 0,
97
114
  },
98
115
  Attributes: attributes,
99
116
  Metrics: metrics,
100
- },
101
- ],
117
+ };
118
+ }),
102
119
  },
103
120
  };
104
121
  }
105
- function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID, fips, }) {
122
+ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID, fips, debounceMs = DEFAULT_DEBOUNCE_MS, }) {
106
123
  const url = ESRI_ENDPOINT_URL(appId);
107
124
  let isDisabled = false;
108
125
  let hasWarned = false;
@@ -110,8 +127,10 @@ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID,
110
127
  let sessionStopSent = false;
111
128
  let activeSession;
112
129
  let idleTimerId;
130
+ let debounceTimerId;
113
131
  let lifecycleListenersAttached = false;
114
132
  const removeLifecycleListeners = [];
133
+ let pendingEvents = [];
115
134
  const isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
116
135
  const warnOnce = (message, details) => {
117
136
  if (hasWarned) {
@@ -149,6 +168,106 @@ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID,
149
168
  clearTimeout(idleTimerId);
150
169
  idleTimerId = undefined;
151
170
  };
171
+ const clearDebounceTimer = () => {
172
+ if (!debounceTimerId) {
173
+ return;
174
+ }
175
+ clearTimeout(debounceTimerId);
176
+ debounceTimerId = undefined;
177
+ };
178
+ const clearPendingEvents = () => {
179
+ pendingEvents = [];
180
+ };
181
+ const enqueueEvent = (event) => {
182
+ pendingEvents.push(event);
183
+ };
184
+ const dequeuePendingEvents = () => {
185
+ if (pendingEvents.length === 0) {
186
+ return [];
187
+ }
188
+ const queuedEvents = pendingEvents;
189
+ pendingEvents = [];
190
+ return queuedEvents;
191
+ };
192
+ const sendQueuedEvents = (queuedEvents) => {
193
+ var _a;
194
+ if (queuedEvents.length === 0) {
195
+ return;
196
+ }
197
+ if (isDisabled || !url || !userPoolID) {
198
+ (0, shared_1.debugLog)('Skipping esri track call', {
199
+ eventName: (_a = queuedEvents[queuedEvents.length - 1]) === null || _a === void 0 ? void 0 : _a.eventName,
200
+ reason: 'plugin-disabled',
201
+ });
202
+ return;
203
+ }
204
+ (0, shared_1.debugLog)('Sending esri endpoint batch event', {
205
+ trackerName,
206
+ url,
207
+ eventCount: queuedEvents.length,
208
+ });
209
+ void (async () => {
210
+ var _a;
211
+ try {
212
+ const credentials = await (0, auth_1.getCredentials)(userPoolID, { fips });
213
+ const accessKeyId = (credentials === null || credentials === void 0 ? void 0 : credentials.AccessKeyId) || (credentials === null || credentials === void 0 ? void 0 : credentials.accessKeyId);
214
+ const secretAccessKey = (credentials === null || credentials === void 0 ? void 0 : credentials.SecretKey) || (credentials === null || credentials === void 0 ? void 0 : credentials.secretAccessKey);
215
+ const sessionToken = (credentials === null || credentials === void 0 ? void 0 : credentials.SessionToken) || (credentials === null || credentials === void 0 ? void 0 : credentials.sessionToken);
216
+ if (!accessKeyId || !secretAccessKey) {
217
+ throw new Error('Signed endpoint credentials are missing required key fields.');
218
+ }
219
+ const client = new aws4fetch_1.AwsClient({
220
+ accessKeyId,
221
+ secretAccessKey,
222
+ sessionToken,
223
+ service: ESRI_SIGNING_SERVICE,
224
+ region: ESRI_SIGNING_REGION,
225
+ });
226
+ await client.fetch(url, {
227
+ method: 'POST',
228
+ headers: {
229
+ 'Content-Type': 'application/json',
230
+ },
231
+ body: JSON.stringify(buildBatchEventPayload({
232
+ queuedEvents,
233
+ trackerName,
234
+ appName,
235
+ appVersion,
236
+ })),
237
+ });
238
+ (0, shared_1.debugLog)('Endpoint event sent', {
239
+ trackerName,
240
+ eventCount: queuedEvents.length,
241
+ });
242
+ }
243
+ catch (error) {
244
+ isDisabled = true;
245
+ clearIdleTimer();
246
+ clearDebounceTimer();
247
+ clearPendingEvents();
248
+ removeAllLifecycleListeners();
249
+ warnOnce('Esri telemetry disabled after endpoint track failure', {
250
+ eventName: (_a = queuedEvents[queuedEvents.length - 1]) === null || _a === void 0 ? void 0 : _a.eventName,
251
+ trackerName,
252
+ message: (error === null || error === void 0 ? void 0 : error.message) || String(error),
253
+ });
254
+ }
255
+ })();
256
+ };
257
+ const flushPendingEvents = (eventToAppend) => {
258
+ clearDebounceTimer();
259
+ const queuedEvents = dequeuePendingEvents();
260
+ if (eventToAppend) {
261
+ queuedEvents.push(eventToAppend);
262
+ }
263
+ sendQueuedEvents(queuedEvents);
264
+ };
265
+ const scheduleDebounceFlush = () => {
266
+ clearDebounceTimer();
267
+ debounceTimerId = setTimeout(() => {
268
+ flushPendingEvents();
269
+ }, debounceMs);
270
+ };
152
271
  const removeAllLifecycleListeners = () => {
153
272
  removeLifecycleListeners.splice(0).forEach((removeListener) => {
154
273
  removeListener();
@@ -163,7 +282,7 @@ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID,
163
282
  startUnixMs: now,
164
283
  };
165
284
  };
166
- const sendEvent = (eventName, payload, sessionOverride) => {
285
+ const sendEvent = (eventName, payload, sessionOverride, options, forceImmediate = false) => {
167
286
  if (isDisabled || !url || !userPoolID) {
168
287
  (0, shared_1.debugLog)('Skipping esri track call', {
169
288
  eventName,
@@ -171,63 +290,32 @@ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID,
171
290
  });
172
291
  return false;
173
292
  }
174
- (0, shared_1.debugLog)('Sending esri endpoint event', {
293
+ (0, shared_1.debugLog)('Queueing esri endpoint event', {
175
294
  eventName,
176
295
  trackerName,
177
- url,
178
- });
179
- void (0, auth_1.getCredentials)(userPoolID, { fips })
180
- .then((credentials) => {
181
- const accessKeyId = (credentials === null || credentials === void 0 ? void 0 : credentials.AccessKeyId) || (credentials === null || credentials === void 0 ? void 0 : credentials.accessKeyId);
182
- const secretAccessKey = (credentials === null || credentials === void 0 ? void 0 : credentials.SecretKey) || (credentials === null || credentials === void 0 ? void 0 : credentials.secretAccessKey);
183
- const sessionToken = (credentials === null || credentials === void 0 ? void 0 : credentials.SessionToken) || (credentials === null || credentials === void 0 ? void 0 : credentials.sessionToken);
184
- if (!accessKeyId || !secretAccessKey) {
185
- throw new Error('Signed endpoint credentials are missing required key fields.');
186
- }
187
- const client = new aws4fetch_1.AwsClient({
188
- accessKeyId,
189
- secretAccessKey,
190
- sessionToken,
191
- service: ESRI_SIGNING_SERVICE,
192
- region: ESRI_SIGNING_REGION,
193
- });
194
- return client.fetch(url, {
195
- method: 'POST',
196
- headers: {
197
- 'Content-Type': 'application/json',
198
- },
199
- body: JSON.stringify(buildBatchEventPayload({
200
- eventName,
201
- payload: payload,
202
- trackerName,
203
- appName,
204
- appVersion,
205
- session: sessionOverride || activeSession,
206
- })),
207
- });
208
- })
209
- .then(() => {
210
- (0, shared_1.debugLog)('Endpoint event sent', {
211
- eventName,
212
- trackerName,
213
- });
214
- })
215
- .catch((error) => {
216
- isDisabled = true;
217
- clearIdleTimer();
218
- removeAllLifecycleListeners();
219
- warnOnce('Esri telemetry disabled after endpoint track failure', {
220
- eventName,
221
- trackerName,
222
- message: (error === null || error === void 0 ? void 0 : error.message) || String(error),
223
- });
296
+ immediate: Boolean((options === null || options === void 0 ? void 0 : options.immediate) || forceImmediate),
224
297
  });
298
+ const queuedEvent = {
299
+ eventName,
300
+ payload: payload,
301
+ session: sessionOverride || activeSession,
302
+ browserInfo: (0, shared_1.getBrowserClientInfo)(),
303
+ timestamp: new Date().toISOString(),
304
+ unixMs: Date.now(),
305
+ };
306
+ if ((options === null || options === void 0 ? void 0 : options.immediate) || forceImmediate) {
307
+ flushPendingEvents(queuedEvent);
308
+ }
309
+ else {
310
+ enqueueEvent(queuedEvent);
311
+ scheduleDebounceFlush();
312
+ }
225
313
  return true;
226
314
  };
227
315
  const sendSessionLifecycleEvent = (eventName, reason, sessionOverride) => {
228
316
  return sendEvent(eventName, {
229
317
  reason,
230
- }, sessionOverride);
318
+ }, sessionOverride, undefined, true);
231
319
  };
232
320
  const stopSession = (reason) => {
233
321
  if (!hasSessionStarted || sessionStopSent) {
@@ -297,7 +385,8 @@ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID,
297
385
  lifecycleListenersAttached = true;
298
386
  };
299
387
  return {
300
- track: (eventName, payload) => {
388
+ track: (eventName, payload, options) => {
389
+ void options;
301
390
  attachLifecycleListeners();
302
391
  const isSessionStopEvent = eventName === SESSION_STOP_EVENT;
303
392
  if (!hasSessionStarted &&
@@ -322,7 +411,7 @@ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID,
322
411
  resetIdleTimer();
323
412
  }
324
413
  const sessionForEvent = activeSession;
325
- const didSend = sendEvent(eventName, payload, sessionForEvent);
414
+ const didSend = sendEvent(eventName, payload, sessionForEvent, options, eventName === SESSION_START_EVENT || eventName === SESSION_STOP_EVENT);
326
415
  if (isSessionStopEvent && didSend) {
327
416
  activeSession = undefined;
328
417
  }
@@ -1 +1 @@
1
- {"version":3,"file":"esri.js","sourceRoot":"","sources":["../../../src/plugins/esri.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,kCAAyC;AAEzC,qCAA4D;AAW5D,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAC3C,MAAM,mBAAmB,GAAG,WAAW,CAAC;AACxC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE,CAC1C,oCAAoC,KAAK,SAAS,CAAC;AACrD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAC7C,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AA+D/C,oEAAoE;AACpE,SAAS,SAAS,CAAC,KAAkC,EAAE,QAAQ,GAAG,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,SAAS,cAAc,CAAC,OAA8B;IAIpD,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;QAC3B,MAAM;QACN,UAAU;QACV,YAAY;QACZ,kBAAkB;QAClB,YAAY;QACZ,aAAa;QACb,MAAM;QACN,SAAS;QACT,KAAK;QACL,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACrD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YAClE,OAAO;SACR;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACvD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACrB,OAAO;SACR;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;YAC3D,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO;SACR;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACrD,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACzC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,UAAU;QACV,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,OAAO,EACP,WAAW,EACX,OAAO,EACP,UAAU,EACV,OAAO,GASR;;IACC,MAAM,UAAU,GAAG,IAAA,sBAAa,GAAE,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,cAAc,GAClB,OAAO;QACN;YACC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAC1D,cAAc,EAAE,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SACL,CAAC;IACvB,MAAM,WAAW,GAAG,SAAS,KAAK,kBAAkB,CAAC;IACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO;QACL,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,EAAE,EAAE,UAAU;gBACd,MAAM,EAAE;oBACN,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,KAAI,EAAE;oBAC/B,KAAK,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,EAAE;iBAClC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,EAAE;oBACzB,OAAO,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,EAAE;oBAC/B,GAAG,EAAE,SAAS,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC;oBAC5B,GAAG,EAAE,SAAS,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC;iBAC7B;gBACD,WAAW,EAAE;oBACX,QAAQ,EAAE,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,OAAO,mCAAI,WAAW;oBACrD,UAAU,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,UAAU;oBAC7C,gBAAgB,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,mCAAI,WAAW;iBAC3D;aACF;YACD,MAAM,EAAE;gBACN;oBACE,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE,SAAS;oBACpB,OAAO,EAAE;wBACP,EAAE,EAAE,cAAc,CAAC,EAAE;wBACrB,cAAc,EAAE,cAAc,CAAC,cAAc;wBAC7C,YAAY,EAAE,SAAS;wBACvB,QAAQ,EAAE,WAAW;4BACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,WAAW,CAAC;4BACtD,CAAC,CAAC,CAAC;qBACN;oBACD,UAAU,EAAE,UAAU;oBACtB,OAAO,EAAE,OAAO;iBACjB;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,OAAO,EACP,KAAK,EACL,UAAU,EACV,UAAU,EACV,IAAI,GACc;IAClB,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,aAAyC,CAAC;IAC9C,IAAI,WAAsD,CAAC;IAC3D,IAAI,0BAA0B,GAAG,KAAK,CAAC;IACvC,MAAM,wBAAwB,GAAsB,EAAE,CAAC;IAEvD,MAAM,SAAS,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,CAAC;IAEnE,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,OAAiB,EAAQ,EAAE;QAC5D,IAAI,SAAS,EAAE;YACb,OAAO;SACR;QAED,SAAS,GAAG,IAAI,CAAC;QACjB,IAAA,gBAAO,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,IAAA,iBAAQ,EAAC,8BAA8B,EAAE;QACvC,WAAW;QACX,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,EAAE;QACR,UAAU,GAAG,IAAI,CAAC;QAClB,QAAQ,CAAC,8DAA8D,EAAE;YACvE,WAAW;SACZ,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,IAAI,CAAC;QAClB,QAAQ,CAAC,mDAAmD,EAAE;YAC5D,WAAW;SACZ,CAAC,CAAC;KACJ;IAED,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,UAAU,GAAG,IAAI,CAAC;QAClB,QAAQ,CAAC,sDAAsD,EAAE;YAC/D,WAAW;SACZ,CAAC,CAAC;KACJ;IAED,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QAED,YAAY,CAAC,WAAW,CAAC,CAAC;QAC1B,WAAW,GAAG,SAAS,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,GAAS,EAAE;QAC7C,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;YAC5D,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,0BAA0B,GAAG,KAAK,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAmB,EAAE;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACnD,cAAc,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;YAC3C,WAAW,EAAE,GAAG;SACjB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAChB,SAAiB,EACjB,OAAgB,EAChB,eAAgC,EACvB,EAAE;QACX,IAAI,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE;YACrC,IAAA,iBAAQ,EAAC,0BAA0B,EAAE;gBACnC,SAAS;gBACT,MAAM,EAAE,iBAAiB;aAC1B,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;SACd;QAED,IAAA,iBAAQ,EAAC,6BAA6B,EAAE;YACtC,SAAS;YACT,WAAW;YACX,GAAG;SACJ,CAAC,CAAC;QAEH,KAAK,IAAA,qBAAc,EAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC;aACtC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YACpB,MAAM,WAAW,GACf,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAA,CAAC;YACvD,MAAM,eAAe,GACnB,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,CAAA,CAAC;YACzD,MAAM,YAAY,GAChB,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,CAAA,CAAC;YAEzD,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,EAAE;gBACpC,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;aACH;YAED,MAAM,MAAM,GAAG,IAAI,qBAAS,CAAC;gBAC3B,WAAW;gBACX,eAAe;gBACf,YAAY;gBACZ,OAAO,EAAE,oBAAoB;gBAC7B,MAAM,EAAE,mBAAmB;aAC5B,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBACvB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,sBAAsB,CAAC;oBACrB,SAAS;oBACT,OAAO,EAAE,OAAgC;oBACzC,WAAW;oBACX,OAAO;oBACP,UAAU;oBACV,OAAO,EAAE,eAAe,IAAI,aAAa;iBAC1C,CAAC,CACH;aACF,CAAC,CAAC;QACL,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,EAAE;YACT,IAAA,iBAAQ,EAAC,qBAAqB,EAAE;gBAC9B,SAAS;gBACT,WAAW;aACZ,CAAC,CAAC;QACL,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;YACpB,UAAU,GAAG,IAAI,CAAC;YAClB,cAAc,EAAE,CAAC;YACjB,2BAA2B,EAAE,CAAC;YAC9B,QAAQ,CAAC,sDAAsD,EAAE;gBAC/D,SAAS;gBACT,WAAW;gBACX,OAAO,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,MAAM,CAAC,KAAK,CAAC;aACzC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,CAChC,SAAiE,EACjE,MAAc,EACd,eAAgC,EACvB,EAAE;QACX,OAAO,SAAS,CACd,SAAS,EACT;YACE,MAAM;SACP,EACD,eAAe,CAChB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE;QAC9C,IAAI,CAAC,iBAAiB,IAAI,eAAe,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QAED,MAAM,aAAa,GAAG,aAAa,CAAC;QAEpC,MAAM,OAAO,GAAG,yBAAyB,CACvC,kBAAkB,EAClB,MAAM,EACN,aAAa,CACd,CAAC;QACF,IAAI,OAAO,EAAE;YACX,eAAe,GAAG,IAAI,CAAC;YACvB,iBAAiB,GAAG,KAAK,CAAC;YAC1B,cAAc,EAAE,CAAC;YACjB,aAAa,GAAG,SAAS,CAAC;SAC3B;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAW,EAAE;QAC/C,IAAI,iBAAiB,EAAE;YACrB,OAAO,KAAK,CAAC;SACd;QAED,aAAa,GAAG,aAAa,IAAI,aAAa,EAAE,CAAC;QAEjD,MAAM,cAAc,GAAG,aAAa,CAAC;QACrC,MAAM,QAAQ,GAAG,yBAAyB,CACxC,mBAAmB,EACnB,MAAM,EACN,cAAc,CACf,CAAC;QACF,IAAI,QAAQ,EAAE;YACZ,iBAAiB,GAAG,IAAI,CAAC;YACzB,eAAe,GAAG,KAAK,CAAC;SACzB;aAAM;YACL,aAAa,GAAG,SAAS,CAAC;SAC3B;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,IAAI,CAAC,SAAS,IAAI,UAAU,IAAI,CAAC,iBAAiB,EAAE;YAClD,OAAO;SACR;QAED,cAAc,EAAE,CAAC;QACjB,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,WAAW,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,IAAI,UAAU,EAAE;YACd,OAAO;SACR;QAED,IAAI,CAAC,iBAAiB,EAAE;YACtB,YAAY,CAAC,QAAQ,CAAC,CAAC;SACxB;QAED,cAAc,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAC3B,MAAyB,EACzB,SAAiB,EACjB,QAAuB,EACjB,EAAE;QACR,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7C,wBAAwB,CAAC,IAAI,CAAC,GAAG,EAAE;YACjC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,GAAS,EAAE;QAC1C,IAAI,CAAC,SAAS,IAAI,0BAA0B,IAAI,UAAU,EAAE;YAC1D,OAAO;SACR;QAED,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrE,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACnC,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,cAA+B,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE;YAChD,WAAW,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,0BAA0B,GAAG,IAAI,CAAC;IACpC,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,CAAC,SAAiB,EAAE,OAAgB,EAAW,EAAE;YACtD,wBAAwB,EAAE,CAAC;YAE3B,MAAM,kBAAkB,GAAG,SAAS,KAAK,kBAAkB,CAAC;YAE5D,IACE,CAAC,iBAAiB;gBAClB,SAAS,KAAK,mBAAmB;gBACjC,CAAC,kBAAkB,EACnB;gBACA,YAAY,CAAC,MAAM,CAAC,CAAC;aACtB;YAED,IAAI,SAAS,KAAK,mBAAmB,EAAE;gBACrC,aAAa,GAAG,aAAa,IAAI,aAAa,EAAE,CAAC;gBACjD,iBAAiB,GAAG,IAAI,CAAC;gBACzB,eAAe,GAAG,KAAK,CAAC;aACzB;YAED,IAAI,kBAAkB,EAAE;gBACtB,eAAe,GAAG,IAAI,CAAC;gBACvB,iBAAiB,GAAG,KAAK,CAAC;gBAC1B,cAAc,EAAE,CAAC;aAClB;YAED,IAAI,iBAAiB,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE;gBAC9D,aAAa,GAAG,aAAa,EAAE,CAAC;aACjC;YAED,IAAI,iBAAiB,IAAI,CAAC,kBAAkB,EAAE;gBAC5C,cAAc,EAAE,CAAC;aAClB;YAED,MAAM,eAAe,GAAG,aAAa,CAAC;YACtC,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YAE/D,IAAI,kBAAkB,IAAI,OAAO,EAAE;gBACjC,aAAa,GAAG,SAAS,CAAC;aAC3B;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AA3TD,4CA2TC"}
1
+ {"version":3,"file":"esri.js","sourceRoot":"","sources":["../../../src/plugins/esri.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,kCAAyC;AAYzC,2CAKwB;AAExB,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAC3C,MAAM,mBAAmB,GAAG,WAAW,CAAC;AACxC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE,CAC1C,oCAAoC,KAAK,SAAS,CAAC;AACrD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAC7C,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/C,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAKjC,oEAAoE;AACpE,SAAS,SAAS,CAAC,KAAkC,EAAE,QAAQ,GAAG,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,kEAAkE;AAClE,SAAS,cAAc,CAAC,OAA8B;IAIpD,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;QAC3B,MAAM;QACN,UAAU;QACV,YAAY;QACZ,kBAAkB;QAClB,YAAY;QACZ,aAAa;QACb,MAAM;QACN,SAAS;QACT,KAAK;QACL,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACrD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YAClE,OAAO;SACR;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACvD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACrB,OAAO;SACR;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;YAC3D,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO;SACR;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACrD,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACzC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,UAAU;QACV,OAAO;KACR,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,SAAS,sBAAsB,CAAC,EAC9B,YAAY,EACZ,WAAW,EACX,OAAO,EACP,UAAU,GAMX;;IACC,MAAM,aAAa,GACjB,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC;YACC,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,EAAE;SACA,CAAC;IACpB,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,IAAI,EAAE,CAAC;IAEpD,MAAM,UAAU,GAAG,IAAA,sBAAa,GAAE,CAAC;IACnC,MAAM,QAAQ,GAAyD,EAAE,CAAC;IAE1E,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;QACjB,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;KAC9B;IAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE;QACpB,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;KACpC;IAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,MAAK,SAAS,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,MAAK,IAAI,EAAE;QACvD,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACvC;IAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,MAAK,SAAS,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,MAAK,IAAI,EAAE;QACvD,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACvC;IAED,OAAO;QACL,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,EAAE,EAAE,UAAU;gBACd,MAAM,kBACJ,MAAM,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,KAAI,EAAE,EACnC,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAA,IAAI,EAAE,EACpD,KAAK,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAA,IAAI,EAAE,EACvD,YAAY,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,KAAI,EAAE,EACxC,QAAQ,EAAE,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,0CAAE,IAAI,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAA,IAAI,EAAE,IAC3D,CAAC,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,0CAAE,OAAO;oBAC1B,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;oBAC7C,CAAC,CAAC,EAAE,CAAC,CACR;gBACD,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE;oBACX,QAAQ,EAAE,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,OAAO,mCAAI,WAAW;oBACrD,UAAU,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,UAAU;oBAC7C,gBAAgB,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,mCAAI,WAAW;iBAC3D;aACF;YACD,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBACvC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;gBACxC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACpE,MAAM,cAAc,GAClB,WAAW,CAAC,OAAO;oBAClB;wBACC,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBAClE,cAAc,EAAE,SAAS;wBACzB,WAAW,EAAE,WAAW,CAAC,MAAM;qBACb,CAAC;gBACvB,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,KAAK,kBAAkB,CAAC;gBAEjE,OAAO;oBACL,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,SAAS,EAAE,SAAS;oBACpB,OAAO,EAAE;wBACP,EAAE,EAAE,cAAc,CAAC,EAAE;wBACrB,cAAc,EAAE,cAAc,CAAC,cAAc;wBAC7C,YAAY,EAAE,SAAS;wBACvB,QAAQ,EAAE,WAAW;4BACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC;4BAC9D,CAAC,CAAC,CAAC;qBACN;oBACD,UAAU,EAAE,UAAU;oBACtB,OAAO,EAAE,OAAO;iBACjB,CAAC;YACJ,CAAC,CAAC;SACH;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,OAAO,EACP,KAAK,EACL,UAAU,EACV,UAAU,EACV,IAAI,EACJ,UAAU,GAAG,mBAAmB,GACd;IAClB,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,aAAyC,CAAC;IAC9C,IAAI,WAAsD,CAAC;IAC3D,IAAI,eAA0D,CAAC;IAC/D,IAAI,0BAA0B,GAAG,KAAK,CAAC;IACvC,MAAM,wBAAwB,GAAsB,EAAE,CAAC;IACvD,IAAI,aAAa,GAAkB,EAAE,CAAC;IAEtC,MAAM,SAAS,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,CAAC;IAEnE,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,OAAiB,EAAQ,EAAE;QAC5D,IAAI,SAAS,EAAE;YACb,OAAO;SACR;QAED,SAAS,GAAG,IAAI,CAAC;QACjB,IAAA,gBAAO,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,IAAA,iBAAQ,EAAC,8BAA8B,EAAE;QACvC,WAAW;QACX,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,EAAE;QACR,UAAU,GAAG,IAAI,CAAC;QAClB,QAAQ,CAAC,8DAA8D,EAAE;YACvE,WAAW;SACZ,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,IAAI,CAAC;QAClB,QAAQ,CAAC,mDAAmD,EAAE;YAC5D,WAAW;SACZ,CAAC,CAAC;KACJ;IAED,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,UAAU,GAAG,IAAI,CAAC;QAClB,QAAQ,CAAC,sDAAsD,EAAE;YAC/D,WAAW;SACZ,CAAC,CAAC;KACJ;IAED,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QAED,YAAY,CAAC,WAAW,CAAC,CAAC;QAC1B,WAAW,GAAG,SAAS,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAS,EAAE;QACpC,IAAI,CAAC,eAAe,EAAE;YACpB,OAAO;SACR;QAED,YAAY,CAAC,eAAe,CAAC,CAAC;QAC9B,eAAe,GAAG,SAAS,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAS,EAAE;QACpC,aAAa,GAAG,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAQ,EAAE;QAChD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAkB,EAAE;QAC/C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAO,EAAE,CAAC;SACX;QAED,MAAM,YAAY,GAAG,aAAa,CAAC;QACnC,aAAa,GAAG,EAAE,CAAC;QACnB,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,YAA2B,EAAQ,EAAE;;QAC7D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,OAAO;SACR;QAED,IAAI,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE;YACrC,IAAA,iBAAQ,EAAC,0BAA0B,EAAE;gBACnC,SAAS,EAAE,MAAA,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,SAAS;gBAC3D,MAAM,EAAE,iBAAiB;aAC1B,CAAC,CAAC;YACH,OAAO;SACR;QAED,IAAA,iBAAQ,EAAC,mCAAmC,EAAE;YAC5C,WAAW;YACX,GAAG;YACH,UAAU,EAAE,YAAY,CAAC,MAAM;SAChC,CAAC,CAAC;QAEH,KAAK,CAAC,KAAK,IAAI,EAAE;;YACf,IAAI;gBACF,MAAM,WAAW,GAAG,MAAM,IAAA,qBAAc,EAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/D,MAAM,WAAW,GACf,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAA,CAAC;gBACvD,MAAM,eAAe,GACnB,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,CAAA,CAAC;gBACzD,MAAM,YAAY,GAChB,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,CAAA,CAAC;gBAEzD,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,EAAE;oBACpC,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;iBACH;gBAED,MAAM,MAAM,GAAG,IAAI,qBAAS,CAAC;oBAC3B,WAAW;oBACX,eAAe;oBACf,YAAY;oBACZ,OAAO,EAAE,oBAAoB;oBAC7B,MAAM,EAAE,mBAAmB;iBAC5B,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;oBACtB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;qBACnC;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,sBAAsB,CAAC;wBACrB,YAAY;wBACZ,WAAW;wBACX,OAAO;wBACP,UAAU;qBACX,CAAC,CACH;iBACF,CAAC,CAAC;gBAEH,IAAA,iBAAQ,EAAC,qBAAqB,EAAE;oBAC9B,WAAW;oBACX,UAAU,EAAE,YAAY,CAAC,MAAM;iBAChC,CAAC,CAAC;aACJ;YAAC,OAAO,KAAU,EAAE;gBACnB,UAAU,GAAG,IAAI,CAAC;gBAClB,cAAc,EAAE,CAAC;gBACjB,kBAAkB,EAAE,CAAC;gBACrB,kBAAkB,EAAE,CAAC;gBACrB,2BAA2B,EAAE,CAAC;gBAC9B,QAAQ,CAAC,sDAAsD,EAAE;oBAC/D,SAAS,EAAE,MAAA,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,SAAS;oBAC3D,WAAW;oBACX,OAAO,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,MAAM,CAAC,KAAK,CAAC;iBACzC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,aAA2B,EAAQ,EAAE;QAC/D,kBAAkB,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;QAC5C,IAAI,aAAa,EAAE;YACjB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAClC;QACD,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAS,EAAE;QACvC,kBAAkB,EAAE,CAAC;QACrB,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,kBAAkB,EAAE,CAAC;QACvB,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,GAAS,EAAE;QAC7C,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;YAC5D,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,0BAA0B,GAAG,KAAK,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAmB,EAAE;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACnD,cAAc,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;YAC3C,WAAW,EAAE,GAAG;SACjB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAChB,SAAiB,EACjB,OAAgB,EAChB,eAAgC,EAChC,OAAsB,EACtB,cAAc,GAAG,KAAK,EACb,EAAE;QACX,IAAI,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE;YACrC,IAAA,iBAAQ,EAAC,0BAA0B,EAAE;gBACnC,SAAS;gBACT,MAAM,EAAE,iBAAiB;aAC1B,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;SACd;QAED,IAAA,iBAAQ,EAAC,8BAA8B,EAAE;YACvC,SAAS;YACT,WAAW;YACX,SAAS,EAAE,OAAO,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,cAAc,CAAC;SACzD,CAAC,CAAC;QAEH,MAAM,WAAW,GAAgB;YAC/B,SAAS;YACT,OAAO,EAAE,OAAgC;YACzC,OAAO,EAAE,eAAe,IAAI,aAAa;YACzC,WAAW,EAAE,IAAA,6BAAoB,GAAE;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE;SACnB,CAAC;QAEF,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,cAAc,EAAE;YACxC,kBAAkB,CAAC,WAAW,CAAC,CAAC;SACjC;aAAM;YACL,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1B,qBAAqB,EAAE,CAAC;SACzB;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,CAChC,SAAiE,EACjE,MAAc,EACd,eAAgC,EACvB,EAAE;QACX,OAAO,SAAS,CACd,SAAS,EACT;YACE,MAAM;SACP,EACD,eAAe,EACf,SAAS,EACT,IAAI,CACL,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE;QAC9C,IAAI,CAAC,iBAAiB,IAAI,eAAe,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QAED,MAAM,aAAa,GAAG,aAAa,CAAC;QAEpC,MAAM,OAAO,GAAG,yBAAyB,CACvC,kBAAkB,EAClB,MAAM,EACN,aAAa,CACd,CAAC;QACF,IAAI,OAAO,EAAE;YACX,eAAe,GAAG,IAAI,CAAC;YACvB,iBAAiB,GAAG,KAAK,CAAC;YAC1B,cAAc,EAAE,CAAC;YACjB,aAAa,GAAG,SAAS,CAAC;SAC3B;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAW,EAAE;QAC/C,IAAI,iBAAiB,EAAE;YACrB,OAAO,KAAK,CAAC;SACd;QAED,aAAa,GAAG,aAAa,IAAI,aAAa,EAAE,CAAC;QAEjD,MAAM,cAAc,GAAG,aAAa,CAAC;QACrC,MAAM,QAAQ,GAAG,yBAAyB,CACxC,mBAAmB,EACnB,MAAM,EACN,cAAc,CACf,CAAC;QACF,IAAI,QAAQ,EAAE;YACZ,iBAAiB,GAAG,IAAI,CAAC;YACzB,eAAe,GAAG,KAAK,CAAC;SACzB;aAAM;YACL,aAAa,GAAG,SAAS,CAAC;SAC3B;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,IAAI,CAAC,SAAS,IAAI,UAAU,IAAI,CAAC,iBAAiB,EAAE;YAClD,OAAO;SACR;QAED,cAAc,EAAE,CAAC;QACjB,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,WAAW,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,IAAI,UAAU,EAAE;YACd,OAAO;SACR;QAED,IAAI,CAAC,iBAAiB,EAAE;YACtB,YAAY,CAAC,QAAQ,CAAC,CAAC;SACxB;QAED,cAAc,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAC3B,MAAyB,EACzB,SAAiB,EACjB,QAAuB,EACjB,EAAE;QACR,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7C,wBAAwB,CAAC,IAAI,CAAC,GAAG,EAAE;YACjC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,GAAS,EAAE;QAC1C,IAAI,CAAC,SAAS,IAAI,0BAA0B,IAAI,UAAU,EAAE;YAC1D,OAAO;SACR;QAED,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrE,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACnC,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,cAA+B,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE;YAChD,WAAW,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,0BAA0B,GAAG,IAAI,CAAC;IACpC,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,CACL,SAAiB,EACjB,OAAgB,EAChB,OAAsB,EACb,EAAE;YACX,KAAK,OAAO,CAAC;YAEb,wBAAwB,EAAE,CAAC;YAE3B,MAAM,kBAAkB,GAAG,SAAS,KAAK,kBAAkB,CAAC;YAE5D,IACE,CAAC,iBAAiB;gBAClB,SAAS,KAAK,mBAAmB;gBACjC,CAAC,kBAAkB,EACnB;gBACA,YAAY,CAAC,MAAM,CAAC,CAAC;aACtB;YAED,IAAI,SAAS,KAAK,mBAAmB,EAAE;gBACrC,aAAa,GAAG,aAAa,IAAI,aAAa,EAAE,CAAC;gBACjD,iBAAiB,GAAG,IAAI,CAAC;gBACzB,eAAe,GAAG,KAAK,CAAC;aACzB;YAED,IAAI,kBAAkB,EAAE;gBACtB,eAAe,GAAG,IAAI,CAAC;gBACvB,iBAAiB,GAAG,KAAK,CAAC;gBAC1B,cAAc,EAAE,CAAC;aAClB;YAED,IAAI,iBAAiB,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE;gBAC9D,aAAa,GAAG,aAAa,EAAE,CAAC;aACjC;YAED,IAAI,iBAAiB,IAAI,CAAC,kBAAkB,EAAE;gBAC5C,cAAc,EAAE,CAAC;aAClB;YAED,MAAM,eAAe,GAAG,aAAa,CAAC;YACtC,MAAM,OAAO,GAAG,SAAS,CACvB,SAAS,EACT,OAAO,EACP,eAAe,EACf,OAAO,EACP,SAAS,KAAK,mBAAmB,IAAI,SAAS,KAAK,kBAAkB,CACtE,CAAC;YAEF,IAAI,kBAAkB,IAAI,OAAO,EAAE;gBACjC,aAAa,GAAG,SAAS,CAAC;aAC3B;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AA7ZD,4CA6ZC"}