@gaddario98/react-native-core 1.0.32 → 2.0.0

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 (60) hide show
  1. package/LICENSE.txt +20 -20
  2. package/README.md +15 -15
  3. package/dist/auth/index.d.ts +1 -1
  4. package/dist/auth/index.js +1 -1
  5. package/dist/auth/index.mjs +1 -1
  6. package/dist/config/index.d.ts +11 -16
  7. package/dist/config/index.js +122 -25
  8. package/dist/config/index.js.map +1 -1
  9. package/dist/config/index.mjs +122 -25
  10. package/dist/config/index.mjs.map +1 -1
  11. package/dist/expo/index.d.ts +17 -1
  12. package/dist/expo/index.js +445 -1
  13. package/dist/expo/index.js.map +1 -1
  14. package/dist/expo/index.mjs +445 -1
  15. package/dist/expo/index.mjs.map +1 -1
  16. package/dist/form/index.d.ts +1 -1
  17. package/dist/form/index.js +1 -1
  18. package/dist/form/index.mjs +1 -1
  19. package/dist/index.d.ts +160 -26
  20. package/dist/index.js +1 -26
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.mjs +1 -26
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/layouts/index.d.ts +30 -1
  25. package/dist/layouts/index.js +43 -1
  26. package/dist/layouts/index.js.map +1 -1
  27. package/dist/layouts/index.mjs +43 -1
  28. package/dist/layouts/index.mjs.map +1 -1
  29. package/dist/localization/index.d.ts +1 -1
  30. package/dist/localization/index.js +1 -1
  31. package/dist/localization/index.mjs +1 -1
  32. package/dist/pages/index.d.ts +11 -1
  33. package/dist/pages/index.js +231 -1
  34. package/dist/pages/index.js.map +1 -1
  35. package/dist/pages/index.mjs +231 -1
  36. package/dist/pages/index.mjs.map +1 -1
  37. package/dist/providers/index.d.ts +18 -1
  38. package/dist/providers/index.js +24 -1
  39. package/dist/providers/index.js.map +1 -1
  40. package/dist/providers/index.mjs +24 -1
  41. package/dist/providers/index.mjs.map +1 -1
  42. package/dist/queries/index.d.ts +1 -1
  43. package/dist/queries/index.js +1 -1
  44. package/dist/queries/index.mjs +1 -1
  45. package/dist/state/index.d.ts +10 -1
  46. package/dist/state/index.js +241 -1
  47. package/dist/state/index.js.map +1 -1
  48. package/dist/state/index.mjs +241 -1
  49. package/dist/state/index.mjs.map +1 -1
  50. package/dist/tabs/index.d.ts +89 -1
  51. package/dist/tabs/index.js +485 -1
  52. package/dist/tabs/index.js.map +1 -1
  53. package/dist/tabs/index.mjs +485 -1
  54. package/dist/tabs/index.mjs.map +1 -1
  55. package/dist/utiles/index.d.ts +5 -1
  56. package/dist/utiles/index.js +3 -1
  57. package/dist/utiles/index.js.map +1 -1
  58. package/dist/utiles/index.mjs +3 -1
  59. package/dist/utiles/index.mjs.map +1 -1
  60. package/package.json +181 -153
@@ -1 +1,445 @@
1
- 'use strict';var expo=require('@gaddario98/expo');Object.keys(expo).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return expo[k]}})});//# sourceMappingURL=index.js.map
1
+ 'use strict';var compilerRuntime=require('react/compiler-runtime'),react=require('react'),Device=require('expo-device'),Notifications=require('expo-notifications'),reactNative=require('react-native');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Device__namespace=/*#__PURE__*/_interopNamespaceDefault(Device);var Notifications__namespace=/*#__PURE__*/_interopNamespaceDefault(Notifications);function _arrayLikeToArray(r, a) {
2
+ (null == a || a > r.length) && (a = r.length);
3
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
4
+ return n;
5
+ }
6
+ function _arrayWithHoles(r) {
7
+ if (Array.isArray(r)) return r;
8
+ }
9
+ function asyncGeneratorStep(n, t, e, r, o, a, c) {
10
+ try {
11
+ var i = n[a](c),
12
+ u = i.value;
13
+ } catch (n) {
14
+ return void e(n);
15
+ }
16
+ i.done ? t(u) : Promise.resolve(u).then(r, o);
17
+ }
18
+ function _asyncToGenerator(n) {
19
+ return function () {
20
+ var t = this,
21
+ e = arguments;
22
+ return new Promise(function (r, o) {
23
+ var a = n.apply(t, e);
24
+ function _next(n) {
25
+ asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
26
+ }
27
+ function _throw(n) {
28
+ asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
29
+ }
30
+ _next(void 0);
31
+ });
32
+ };
33
+ }
34
+ function _iterableToArrayLimit(r, l) {
35
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
36
+ if (null != t) {
37
+ var e,
38
+ n,
39
+ i,
40
+ u,
41
+ a = [],
42
+ f = true,
43
+ o = false;
44
+ try {
45
+ if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true);
46
+ } catch (r) {
47
+ o = true, n = r;
48
+ } finally {
49
+ try {
50
+ if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
51
+ } finally {
52
+ if (o) throw n;
53
+ }
54
+ }
55
+ return a;
56
+ }
57
+ }
58
+ function _nonIterableRest() {
59
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
60
+ }
61
+ function _regenerator() {
62
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
63
+ var e,
64
+ t,
65
+ r = "function" == typeof Symbol ? Symbol : {},
66
+ n = r.iterator || "@@iterator",
67
+ o = r.toStringTag || "@@toStringTag";
68
+ function i(r, n, o, i) {
69
+ var c = n && n.prototype instanceof Generator ? n : Generator,
70
+ u = Object.create(c.prototype);
71
+ return _regeneratorDefine(u, "_invoke", function (r, n, o) {
72
+ var i,
73
+ c,
74
+ u,
75
+ f = 0,
76
+ p = o || [],
77
+ y = false,
78
+ G = {
79
+ p: 0,
80
+ n: 0,
81
+ v: e,
82
+ a: d,
83
+ f: d.bind(e, 4),
84
+ d: function (t, r) {
85
+ return i = t, c = 0, u = e, G.n = r, a;
86
+ }
87
+ };
88
+ function d(r, n) {
89
+ for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
90
+ var o,
91
+ i = p[t],
92
+ d = G.p,
93
+ l = i[2];
94
+ r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
95
+ }
96
+ if (o || r > 1) return a;
97
+ throw y = true, n;
98
+ }
99
+ return function (o, p, l) {
100
+ if (f > 1) throw TypeError("Generator is already running");
101
+ for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
102
+ i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
103
+ try {
104
+ if (f = 2, i) {
105
+ if (c || (o = "next"), t = i[o]) {
106
+ if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
107
+ if (!t.done) return t;
108
+ u = t.value, c < 2 && (c = 0);
109
+ } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
110
+ i = e;
111
+ } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
112
+ } catch (t) {
113
+ i = e, c = 1, u = t;
114
+ } finally {
115
+ f = 1;
116
+ }
117
+ }
118
+ return {
119
+ value: t,
120
+ done: y
121
+ };
122
+ };
123
+ }(r, o, i), true), u;
124
+ }
125
+ var a = {};
126
+ function Generator() {}
127
+ function GeneratorFunction() {}
128
+ function GeneratorFunctionPrototype() {}
129
+ t = Object.getPrototypeOf;
130
+ var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () {
131
+ return this;
132
+ }), t),
133
+ u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
134
+ function f(e) {
135
+ return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
136
+ }
137
+ return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine(u), _regeneratorDefine(u, o, "Generator"), _regeneratorDefine(u, n, function () {
138
+ return this;
139
+ }), _regeneratorDefine(u, "toString", function () {
140
+ return "[object Generator]";
141
+ }), (_regenerator = function () {
142
+ return {
143
+ w: i,
144
+ m: f
145
+ };
146
+ })();
147
+ }
148
+ function _regeneratorDefine(e, r, n, t) {
149
+ var i = Object.defineProperty;
150
+ _regeneratorDefine = function (e, r, n, t) {
151
+ function o(r, n) {
152
+ _regeneratorDefine(e, r, function (e) {
153
+ return this._invoke(r, n, e);
154
+ });
155
+ }
156
+ r ? i ? i(e, r, {
157
+ value: n,
158
+ enumerable: !t,
159
+ configurable: !t,
160
+ writable: !t
161
+ }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
162
+ }, _regeneratorDefine(e, r, n, t);
163
+ }
164
+ function _slicedToArray(r, e) {
165
+ return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
166
+ }
167
+ function _unsupportedIterableToArray(r, a) {
168
+ if (r) {
169
+ if ("string" == typeof r) return _arrayLikeToArray(r, a);
170
+ var t = {}.toString.call(r).slice(8, -1);
171
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
172
+ }
173
+ }Notifications__namespace.setNotificationHandler({
174
+ handleNotification: function () {
175
+ var _handleNotification = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
176
+ return _regenerator().w(function (_context) {
177
+ while (1) switch (_context.n) {
178
+ case 0:
179
+ return _context.a(2, {
180
+ shouldShowBanner: true,
181
+ shouldShowList: true,
182
+ shouldPlaySound: true,
183
+ shouldSetBadge: true
184
+ });
185
+ }
186
+ }, _callee);
187
+ }));
188
+ function handleNotification() {
189
+ return _handleNotification.apply(this, arguments);
190
+ }
191
+ return handleNotification;
192
+ }()
193
+ });
194
+ var useExpoNotifications = function useExpoNotifications(t0) {
195
+ var $ = compilerRuntime.c(12);
196
+ var updateToken = t0.updateToken,
197
+ setNotification = t0.setNotification;
198
+ var _useState = react.useState(""),
199
+ _useState2 = _slicedToArray(_useState, 2),
200
+ expoPushToken = _useState2[0],
201
+ setExpoPushToken = _useState2[1];
202
+ var _useState3 = react.useState(null),
203
+ _useState4 = _slicedToArray(_useState3, 2),
204
+ permissionStatus = _useState4[0],
205
+ setPermissionStatus = _useState4[1];
206
+ var resolvePermissionStatus = _temp;
207
+ var t1;
208
+ if ($[0] === Symbol["for"]("react.memo_cache_sentinel")) {
209
+ t1 = /*#__PURE__*/function () {
210
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
211
+ var existingPermissions, existingStatus, permissions_0, normalizedStatus, _yield$Notifications$, token, _t;
212
+ return _regenerator().w(function (_context2) {
213
+ while (1) switch (_context2.n) {
214
+ case 0:
215
+ if (!(reactNative.Platform.OS === "android")) {
216
+ _context2.n = 1;
217
+ break;
218
+ }
219
+ _context2.n = 1;
220
+ return Notifications__namespace.setNotificationChannelAsync("default", {
221
+ name: "default",
222
+ importance: Notifications__namespace.AndroidImportance.MAX,
223
+ vibrationPattern: [0, 250, 250, 250],
224
+ lightColor: "#FF231F7C"
225
+ });
226
+ case 1:
227
+ if (Device__namespace.isDevice) {
228
+ _context2.n = 2;
229
+ break;
230
+ }
231
+ setPermissionStatus("undetermined");
232
+ return _context2.a(2);
233
+ case 2:
234
+ _context2.n = 3;
235
+ return Notifications__namespace.getPermissionsAsync();
236
+ case 3:
237
+ existingPermissions = _context2.v;
238
+ existingStatus = resolvePermissionStatus(existingPermissions);
239
+ if (!(existingStatus === "granted")) {
240
+ _context2.n = 4;
241
+ break;
242
+ }
243
+ _t = existingPermissions;
244
+ _context2.n = 6;
245
+ break;
246
+ case 4:
247
+ _context2.n = 5;
248
+ return Notifications__namespace.requestPermissionsAsync();
249
+ case 5:
250
+ _t = _context2.v;
251
+ case 6:
252
+ permissions_0 = _t;
253
+ normalizedStatus = resolvePermissionStatus(permissions_0);
254
+ setPermissionStatus(normalizedStatus);
255
+ if (!(normalizedStatus !== "granted")) {
256
+ _context2.n = 7;
257
+ break;
258
+ }
259
+ return _context2.a(2);
260
+ case 7:
261
+ _context2.n = 8;
262
+ return Notifications__namespace.getExpoPushTokenAsync({
263
+ projectId: process.env.EXPO_PUBLIC_EAS_PROJECT_ID
264
+ });
265
+ case 8:
266
+ _yield$Notifications$ = _context2.v;
267
+ token = _yield$Notifications$.data;
268
+ return _context2.a(2, token);
269
+ }
270
+ }, _callee2);
271
+ }));
272
+ return function t1() {
273
+ return _ref.apply(this, arguments);
274
+ };
275
+ }();
276
+ $[0] = t1;
277
+ } else {
278
+ t1 = $[0];
279
+ }
280
+ var registerForPushNotificationsAsync = t1;
281
+ var t2;
282
+ if ($[1] !== updateToken) {
283
+ t2 = /*#__PURE__*/function () {
284
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(token_0) {
285
+ var error, _t2;
286
+ return _regenerator().w(function (_context3) {
287
+ while (1) switch (_context3.p = _context3.n) {
288
+ case 0:
289
+ _context3.p = 1;
290
+ _context3.n = 2;
291
+ return updateToken(token_0);
292
+ case 2:
293
+ _context3.n = 4;
294
+ break;
295
+ case 3:
296
+ _context3.p = 3;
297
+ _t2 = _context3.v;
298
+ error = _t2;
299
+ throw new Error("Failed to save token to Firestore " + error);
300
+ case 4:
301
+ return _context3.a(2);
302
+ }
303
+ }, _callee3, null, [[1, 3]]);
304
+ }));
305
+ return function t2(_x) {
306
+ return _ref2.apply(this, arguments);
307
+ };
308
+ }();
309
+ $[1] = updateToken;
310
+ $[2] = t2;
311
+ } else {
312
+ t2 = $[2];
313
+ }
314
+ var saveTokenToFirestore = t2;
315
+ var t3;
316
+ if ($[3] !== saveTokenToFirestore) {
317
+ t3 = /*#__PURE__*/function () {
318
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
319
+ var token_1, error_0, _t3;
320
+ return _regenerator().w(function (_context4) {
321
+ while (1) switch (_context4.p = _context4.n) {
322
+ case 0:
323
+ if (!(reactNative.Platform.OS === "web")) {
324
+ _context4.n = 1;
325
+ break;
326
+ }
327
+ return _context4.a(2);
328
+ case 1:
329
+ _context4.p = 2;
330
+ _context4.n = 3;
331
+ return registerForPushNotificationsAsync();
332
+ case 3:
333
+ token_1 = _context4.v;
334
+ if (!token_1) {
335
+ _context4.n = 4;
336
+ break;
337
+ }
338
+ setExpoPushToken(token_1);
339
+ _context4.n = 4;
340
+ return saveTokenToFirestore(token_1);
341
+ case 4:
342
+ _context4.n = 6;
343
+ break;
344
+ case 5:
345
+ _context4.p = 5;
346
+ _t3 = _context4.v;
347
+ error_0 = _t3;
348
+ throw new Error("Failed to initialize notifications: " + error_0);
349
+ case 6:
350
+ return _context4.a(2);
351
+ }
352
+ }, _callee4, null, [[2, 5]]);
353
+ }));
354
+ return function t3() {
355
+ return _ref3.apply(this, arguments);
356
+ };
357
+ }();
358
+ $[3] = saveTokenToFirestore;
359
+ $[4] = t3;
360
+ } else {
361
+ t3 = $[4];
362
+ }
363
+ var initializeNotifications = t3;
364
+ var sendLocalNotification = _temp2;
365
+ var t4;
366
+ var t5;
367
+ if ($[5] !== setNotification) {
368
+ t4 = function t4() {
369
+ var notificationListener = Notifications__namespace.addNotificationReceivedListener(setNotification);
370
+ var responseListener = Notifications__namespace.addNotificationResponseReceivedListener(_temp3);
371
+ return function () {
372
+ notificationListener.remove();
373
+ responseListener.remove();
374
+ };
375
+ };
376
+ t5 = [setNotification];
377
+ $[5] = setNotification;
378
+ $[6] = t4;
379
+ $[7] = t5;
380
+ } else {
381
+ t4 = $[6];
382
+ t5 = $[7];
383
+ }
384
+ react.useEffect(t4, t5);
385
+ var t6;
386
+ if ($[8] !== expoPushToken || $[9] !== initializeNotifications || $[10] !== permissionStatus) {
387
+ t6 = {
388
+ expoPushToken: expoPushToken,
389
+ permissionStatus: permissionStatus,
390
+ initializeNotifications: initializeNotifications,
391
+ sendLocalNotification: sendLocalNotification
392
+ };
393
+ $[8] = expoPushToken;
394
+ $[9] = initializeNotifications;
395
+ $[10] = permissionStatus;
396
+ $[11] = t6;
397
+ } else {
398
+ t6 = $[11];
399
+ }
400
+ return t6;
401
+ };
402
+ function _temp(permissions) {
403
+ var granted = permissions.granted,
404
+ canAskAgain = permissions.canAskAgain;
405
+ if (granted) {
406
+ return "granted";
407
+ }
408
+ return canAskAgain ? "undetermined" : "denied";
409
+ }
410
+ function _temp2(_x2, _x3, _x4) {
411
+ return _temp4.apply(this, arguments);
412
+ }
413
+ function _temp4() {
414
+ _temp4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(title, body, t0) {
415
+ var data, error_1, _t4;
416
+ return _regenerator().w(function (_context5) {
417
+ while (1) switch (_context5.p = _context5.n) {
418
+ case 0:
419
+ data = t0 === undefined ? {} : t0;
420
+ _context5.p = 1;
421
+ _context5.n = 2;
422
+ return Notifications__namespace.scheduleNotificationAsync({
423
+ content: {
424
+ title: title,
425
+ body: body,
426
+ data: data
427
+ },
428
+ trigger: null
429
+ });
430
+ case 2:
431
+ _context5.n = 4;
432
+ break;
433
+ case 3:
434
+ _context5.p = 3;
435
+ _t4 = _context5.v;
436
+ error_1 = _t4;
437
+ throw new Error("Error sending local notification: " + error_1);
438
+ case 4:
439
+ return _context5.a(2);
440
+ }
441
+ }, _callee5, null, [[1, 3]]);
442
+ }));
443
+ return _temp4.apply(this, arguments);
444
+ }
445
+ function _temp3(_) {}exports.useExpoNotifications=useExpoNotifications;//# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sources":["../../expo/hooks/useExpoNotifications.ts"],"sourcesContent":["import { useState, useEffect, useCallback } from \"react\";\nimport * as Device from \"expo-device\";\nimport * as Notifications from \"expo-notifications\";\nimport { Platform } from \"react-native\";\n\ntype NotificationPermissionStatus = \"granted\" | \"denied\" | \"undetermined\";\n\nexport interface UseNotificationsReturn {\n expoPushToken: string;\n permissionStatus: NotificationPermissionStatus | null;\n initializeNotifications: (id: string) => Promise<void>;\n sendLocalNotification: (\n title: string,\n body: string,\n data?: Record<string, unknown>,\n ) => Promise<void>;\n}\n\nNotifications.setNotificationHandler({\n handleNotification: async () => ({\n shouldShowBanner: true,\n shouldShowList: true,\n shouldPlaySound: true,\n shouldSetBadge: true,\n }),\n});\n\ninterface Props {\n updateToken: (token: string) => Promise<void>;\n setNotification: (notification: Notifications.Notification) => void;\n}\n\nexport const useExpoNotifications = ({\n updateToken,\n setNotification,\n}: Props): UseNotificationsReturn => {\n const [expoPushToken, setExpoPushToken] = useState<string>(\"\");\n const [permissionStatus, setPermissionStatus] =\n useState<NotificationPermissionStatus | null>(null);\n\n const resolvePermissionStatus = useCallback(\n (\n permissions: Notifications.NotificationPermissionsStatus,\n ): NotificationPermissionStatus => {\n const { granted, canAskAgain } = permissions as unknown as {\n granted: boolean;\n canAskAgain: boolean;\n };\n\n if (granted) {\n return \"granted\";\n }\n\n return canAskAgain ? \"undetermined\" : \"denied\";\n },\n [],\n );\n\n const registerForPushNotificationsAsync = useCallback(async (): Promise<\n string | undefined\n > => {\n if (Platform.OS === \"android\") {\n await Notifications.setNotificationChannelAsync(\"default\", {\n name: \"default\",\n importance: Notifications.AndroidImportance.MAX,\n vibrationPattern: [0, 250, 250, 250],\n lightColor: \"#FF231F7C\",\n });\n }\n\n if (!Device.isDevice) {\n setPermissionStatus(\"undetermined\");\n return undefined;\n }\n\n const existingPermissions = await Notifications.getPermissionsAsync();\n const existingStatus = resolvePermissionStatus(existingPermissions);\n const permissions =\n existingStatus === \"granted\"\n ? existingPermissions\n : await Notifications.requestPermissionsAsync();\n\n const normalizedStatus = resolvePermissionStatus(permissions);\n setPermissionStatus(normalizedStatus);\n\n if (normalizedStatus !== \"granted\") {\n return undefined;\n }\n\n const { data: token } = await Notifications.getExpoPushTokenAsync({\n projectId: process.env.EXPO_PUBLIC_EAS_PROJECT_ID,\n });\n\n return token;\n }, [resolvePermissionStatus]);\n\n const saveTokenToFirestore = useCallback(\n async (token: string): Promise<void> => {\n try {\n await updateToken(token);\n } catch (error) {\n throw new Error(\"Failed to save token to Firestore \" + error);\n }\n },\n [updateToken],\n );\n\n const initializeNotifications = useCallback(async (): Promise<void> => {\n if (Platform.OS === \"web\") return;\n try {\n const token = await registerForPushNotificationsAsync();\n if (token) {\n setExpoPushToken(token);\n await saveTokenToFirestore(token);\n }\n } catch (error) {\n throw new Error(\"Failed to initialize notifications: \" + error);\n }\n }, [registerForPushNotificationsAsync, saveTokenToFirestore]);\n\n const sendLocalNotification = useCallback(\n async (\n title: string,\n body: string,\n data: Record<string, unknown> = {},\n ): Promise<void> => {\n try {\n await Notifications.scheduleNotificationAsync({\n content: { title, body, data },\n trigger: null,\n });\n } catch (error) {\n throw new Error(\"Error sending local notification: \" + error);\n }\n },\n [],\n );\n\n useEffect(() => {\n const notificationListener =\n Notifications.addNotificationReceivedListener(setNotification);\n\n const responseListener =\n Notifications.addNotificationResponseReceivedListener(\n (_: Notifications.NotificationResponse) => {\n //\n },\n );\n\n return () => {\n notificationListener.remove();\n responseListener.remove();\n };\n }, [setNotification]);\n\n return {\n expoPushToken,\n permissionStatus,\n initializeNotifications,\n sendLocalNotification,\n };\n};\n"],"names":["Notifications","setNotificationHandler","handleNotification","_handleNotification","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","a","shouldShowBanner","shouldShowList","shouldPlaySound","shouldSetBadge","apply","arguments","useExpoNotifications","t0","$","_c","updateToken","setNotification","_useState","useState","_useState2","_slicedToArray","expoPushToken","setExpoPushToken","_useState3","_useState4","permissionStatus","setPermissionStatus","resolvePermissionStatus","_temp","t1","Symbol","_ref","_callee2","existingPermissions","existingStatus","permissions_0","normalizedStatus","_yield$Notifications$","token","_t","_context2","Platform","OS","setNotificationChannelAsync","name","importance","AndroidImportance","MAX","vibrationPattern","lightColor","Device","isDevice","getPermissionsAsync","v","requestPermissionsAsync","permissions","getExpoPushTokenAsync","projectId","process","env","EXPO_PUBLIC_EAS_PROJECT_ID","data","registerForPushNotificationsAsync","t2","_ref2","_callee3","token_0","error","_t2","_context3","p","Error","_x","saveTokenToFirestore","t3","_ref3","_callee4","token_1","error_0","_t3","_context4","initializeNotifications","sendLocalNotification","_temp2","t4","t5","notificationListener","addNotificationReceivedListener","responseListener","addNotificationResponseReceivedListener","_temp3","remove","useEffect","t6","granted","canAskAgain","_x2","_x3","_x4","_temp4","_callee5","title","body","error_1","_t4","_context5","undefined","scheduleNotificationAsync","content","trigger","_"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBAA,wBAAa,CAACC,sBAAsB,CAAC;EACnCC,kBAAkB,EAAA,YAAA;IAAA,IAAAC,mBAAA,GAAAC,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAE,SAAAC,OAAAA,GAAA;AAAA,MAAA,OAAAF,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAC,QAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAAA,OAAAD,QAAA,CAAAE,CAAA,CAAA,CAAA,EAAa;AAC/BC,cAAAA,gBAAgB,EAAE,IAAI;AACtBC,cAAAA,cAAc,EAAE,IAAI;AACpBC,cAAAA,eAAe,EAAE,IAAI;AACrBC,cAAAA,cAAc,EAAE;aACjB,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAR,OAAA,CAAA;IAAA,CAAC,CAAA,CAAA;AAAA,IAAA,SALFL,kBAAkBA,GAAA;AAAA,MAAA,OAAAC,mBAAA,CAAAa,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAAlBf,kBAAkB;AAAA,EAAA,CAAA;AAMnB,CAAA,CAAC;IAOWgB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,EAAA,EAAA;EAAA,IAAAC,CAAA,GAAAC,iBAAA,CAAA,EAAA,CAAA;AAAI,EAAA,IAAAC,WAAA,GAAAH,EAG7B,CAAAG,WAAA;IAAAC,eAAA,GAH6BJ,EAG7B,CAAAI,eAAA;AACN,EAAA,IAAAC,SAAA,GAA0CC,cAAQ,CAAS,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAAI,IAAAA,aAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,gBAAA,GAAAH,UAAA,CAAA,CAAA,CAAA;AAC9D,EAAA,IAAAI,UAAA,GACEL,cAAQ,CAAsC,IAAI,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAAE,IAAAA,gBAAA,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAAE,IAAAA,mBAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;EAErD,IAAAG,uBAAA,GAAgCC,KAgB/B;AAAC,EAAA,IAAAC,EAAA;EAAA,IAAAhB,CAAA,QAAAiB,MAAA,CAAA,KAAA,CAAA,CAAA,2BAAA,CAAA,EAAA;IAEoDD,EAAA,gBAAA,YAAA;MAAA,IAAAE,IAAA,GAAAlC,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,UAAAiC,QAAAA,GAAA;AAAA,QAAA,IAAAC,mBAAA,EAAAC,cAAA,EAAAC,aAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,KAAA,EAAAC,EAAA;AAAA,QAAA,OAAAzC,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAuC,SAAA,EAAA;UAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAArC,CAAA;AAAA,YAAA,KAAA,CAAA;AAAA,cAAA,IAAA,EAGhDsC,oBAAQ,CAAAC,EAAG,KAAK,SAAS,CAAA,EAAA;AAAAF,gBAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;AAAAqC,cAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,cAAA,OACrBV,wBAAa,CAAAkD,2BAA4B,CAAC,SAAS,EAAE;AAAAC,gBAAAA,IAAA,EACnD,SAAS;AAAAC,gBAAAA,UAAA,EACHpD,wBAAa,CAAAqD,iBAAkB,CAAAC,GAAI;gBAAAC,gBAAA,EAC7B,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAAAC,gBAAAA,UAAA,EACxB;AACb,eAAA,CAAC;AAAA,YAAA,KAAA,CAAA;cAAA,IAGCC,iBAAM,CAAAC,QAAS,EAAA;AAAAX,gBAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;cAClBuB,mBAAmB,CAAC,cAAc,CAAC;cAAA,OAAAc,SAAA,CAAApC,CAAA,CAAA,CAAA,CAAA;AAAA,YAAA,KAAA,CAAA;AAAAoC,cAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,cAAA,OAIHV,wBAAa,CAAA2D,mBAAoB,EAAE;AAAA,YAAA,KAAA,CAAA;cAAAnB,mBAAA,GAAAO,SAAA,CAAAa,CAAA;AAAAnB,cAAAA,cAAA,GAC9CP,uBAAuB,CAACM,mBAAmB,CAAC;cAAA,IAAA,EAEjEC,cAAc,KAAK,SAE8B,CAAA,EAAA;AAAAM,gBAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;AAAAoC,cAAAA,EAAA,GAFjDN,mBAEiD;AAAAO,cAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAAqC,cAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,cAAA,OAAvCV,wBAAa,CAAA6D,uBAAwB,EAAE;AAAA,YAAA,KAAA,CAAA;cAAAf,EAAA,GAAAC,SAAA,CAAAa,CAAA;AAAA,YAAA,KAAA,CAAA;AAAAlB,cAAAA,aAAA,GAAAI,EAAA;AAAAH,cAAAA,gBAAA,GAE1BT,uBAAuB,CAAC4B,aAAW,CAAC;cAC7D7B,mBAAmB,CAACU,gBAAgB,CAAC;cAAA,IAAA,EAEjCA,gBAAgB,KAAK,SAAS,CAAA,EAAA;AAAAI,gBAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;cAAA,OAAAqC,SAAA,CAAApC,CAAA,CAAA,CAAA,CAAA;AAAA,YAAA,KAAA,CAAA;AAAAoC,cAAAA,SAAA,CAAArC,CAAA,GAAA,CAAA;cAAA,OAIJV,wBAAa,CAAA+D,qBAAsB,CAAC;AAAAC,gBAAAA,SAAA,EACrDC,OAAO,CAAAC,GAAI,CAAAC;AACvB,eAAA,CAAC;AAAA,YAAA,KAAA,CAAA;cAAAvB,qBAAA,GAAAG,SAAA,CAAAa,CAAA;cAAAf,KAAA,GAAAD,qBAAA,CAAAwB,IAAA;AAAA,cAAA,OAAArB,SAAA,CAAApC,CAAA,CAAA,CAAA,EAEKkC,KAAK,CAAA;AAAA;AAAA,QAAA,CAAA,EAAAN,QAAA,CAAA;MAAA,CACb,CAAA,CAAA;AAAA,MAAA,OAAA,SAAAH,EAAAA,GAAA;AAAA,QAAA,OAAAE,IAAA,CAAAtB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;AAAA,IAAA,CAAA,EAAA;AAAAG,IAAAA,CAAA,MAAAgB,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAhB,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;EApCD,IAAAiD,iCAAA,GAA0CjC,EAoCb;AAAC,EAAA,IAAAkC,EAAA;EAAA,IAAAlD,CAAA,QAAAE,WAAA,EAAA;IAG5BgD,EAAA,gBAAA,YAAA;MAAA,IAAAC,KAAA,GAAAnE,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAA,SAAAkE,QAAAA,CAAAC,OAAA,EAAA;QAAA,IAAAC,KAAA,EAAAC,GAAA;AAAA,QAAA,OAAAtE,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAoE,SAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAC,CAAA,GAAAD,SAAA,CAAAlE,CAAA;AAAA,YAAA,KAAA,CAAA;AAAAkE,cAAAA,SAAA,CAAAC,CAAA,GAAA,CAAA;AAAAD,cAAAA,SAAA,CAAAlE,CAAA,GAAA,CAAA;cAAA,OAEUY,WAAW,CAACuB,OAAK,CAAC;AAAA,YAAA,KAAA,CAAA;AAAA+B,cAAAA,SAAA,CAAAlE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAAkE,cAAAA,SAAA,CAAAC,CAAA,GAAA,CAAA;cAAAF,GAAA,GAAAC,SAAA,CAAAhB,CAAA;AAAAc,cAAAA,KAAA,GAAAC,GAAA;AAAA,cAAA,MAElB,IAAIG,KAAK,CAAC,oCAAoC,GAAGJ,KAAK,CAAC;AAAA,YAAA,KAAA,CAAA;cAAA,OAAAE,SAAA,CAAAjE,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,QAAA,CAAA,EAAA6D,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;MAAA,CAEhE,CAAA,CAAA;AAAA,MAAA,OAAA,SAAAF,GAAAS,EAAA,EAAA;AAAA,QAAA,OAAAR,KAAA,CAAAvD,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;AAAA,IAAA,CAAA,EAAA;AAAAG,IAAAA,CAAA,MAAAE,WAAA;AAAAF,IAAAA,CAAA,MAAAkD,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAlD,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;EAPH,IAAA4D,oBAAA,GAA6BV,EAS5B;AAAC,EAAA,IAAAW,EAAA;EAAA,IAAA7D,CAAA,QAAA4D,oBAAA,EAAA;IAE0CC,EAAA,gBAAA,YAAA;MAAA,IAAAC,KAAA,GAAA9E,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,UAAA6E,QAAAA,GAAA;AAAA,QAAA,IAAAC,OAAA,EAAAC,OAAA,EAAAC,GAAA;AAAA,QAAA,OAAAjF,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAA+E,SAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAV,CAAA,GAAAU,SAAA,CAAA7E,CAAA;AAAA,YAAA,KAAA,CAAA;AAAA,cAAA,IAAA,EACtCsC,oBAAQ,CAAAC,EAAG,KAAK,KAAK,CAAA,EAAA;AAAAsC,gBAAAA,SAAA,CAAA7E,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;cAAA,OAAA6E,SAAA,CAAA5E,CAAA,CAAA,CAAA,CAAA;AAAA,YAAA,KAAA,CAAA;AAAA4E,cAAAA,SAAA,CAAAV,CAAA,GAAA,CAAA;AAAAU,cAAAA,SAAA,CAAA7E,CAAA,GAAA,CAAA;cAAA,OAEH2D,iCAAiC,EAAE;AAAA,YAAA,KAAA,CAAA;cAAAe,OAAA,GAAAG,SAAA,CAAA3B,CAAA;AAAA,cAAA,IAAA,CACnDf,OAAK,EAAA;AAAA0C,gBAAAA,SAAA,CAAA7E,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;cACPmB,gBAAgB,CAACgB,OAAK,CAAC;AAAA0C,cAAAA,SAAA,CAAA7E,CAAA,GAAA,CAAA;cAAA,OACjBsE,oBAAoB,CAACnC,OAAK,CAAC;AAAA,YAAA,KAAA,CAAA;AAAA0C,cAAAA,SAAA,CAAA7E,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAA6E,cAAAA,SAAA,CAAAV,CAAA,GAAA,CAAA;cAAAS,GAAA,GAAAC,SAAA,CAAA3B,CAAA;AAAAyB,cAAAA,OAAA,GAAAC,GAAA;AAAA,cAAA,MAG7B,IAAIR,KAAK,CAAC,sCAAsC,GAAGJ,OAAK,CAAC;AAAA,YAAA,KAAA,CAAA;cAAA,OAAAa,SAAA,CAAA5E,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,QAAA,CAAA,EAAAwE,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;MAAA,CAElE,CAAA,CAAA;AAAA,MAAA,OAAA,SAAAF,EAAAA,GAAA;AAAA,QAAA,OAAAC,KAAA,CAAAlE,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;AAAA,IAAA,CAAA,EAAA;AAAAG,IAAAA,CAAA,MAAA4D,oBAAA;AAAA5D,IAAAA,CAAA,MAAA6D,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAA7D,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;EAXD,IAAAoE,uBAAA,GAAgCP,EAW6B;EAE7D,IAAAQ,qBAAA,GAA8BC,MAgB7B;AAAC,EAAA,IAAAC,EAAA;AAAA,EAAA,IAAAC,EAAA;EAAA,IAAAxE,CAAA,QAAAG,eAAA,EAAA;AAEQoE,IAAAA,EAAA,YAAAA,EAAAA,GAAA;AACR,MAAA,IAAAE,oBAAA,GACE7F,wBAAa,CAAA8F,+BAAgC,CAACvE,eAAe,CAAC;AAEhE,MAAA,IAAAwE,gBAAA,GACE/F,wBAAa,CAAAgG,uCAAwC,CACnDC,MAEC,CACF;MAAC,OAEG,YAAA;QACLJ,oBAAoB,CAAAK,MAAO,EAAE;QAC7BH,gBAAgB,CAAAG,MAAO,EAAE;MAAA,CAC1B;IAAA,CACF;IAAEN,EAAA,GAAA,CAACrE,eAAe,CAAC;AAAAH,IAAAA,CAAA,MAAAG,eAAA;AAAAH,IAAAA,CAAA,MAAAuE,EAAA;AAAAvE,IAAAA,CAAA,MAAAwE,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAA,GAAAvE,CAAA,CAAA,CAAA,CAAA;AAAAwE,IAAAA,EAAA,GAAAxE,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;AAfpB+E,EAAAA,eAAS,CAACR,EAeT,EAAEC,EAAiB,CAAC;AAAA,EAAA,IAAAQ,EAAA;EAAA,IAAAhF,CAAA,CAAA,CAAA,CAAA,KAAAQ,aAAA,IAAAR,CAAA,QAAAoE,uBAAA,IAAApE,CAAA,CAAA,EAAA,CAAA,KAAAY,gBAAA,EAAA;IAEdoE,EAAA,GAAA;AAAAxE,MAAAA,aAAA,EACLA,aAAa;AAAAI,MAAAA,gBAAA,EACbA,gBAAgB;AAAAwD,MAAAA,uBAAA,EAChBA,uBAAuB;AAAAC,MAAAA,qBAAA,EACvBA;KACD;AAAArE,IAAAA,CAAA,MAAAQ,aAAA;AAAAR,IAAAA,CAAA,MAAAoE,uBAAA;AAAApE,IAAAA,CAAA,OAAAY,gBAAA;AAAAZ,IAAAA,CAAA,OAAAgF,EAAA;AAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAhF,CAAA,CAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALMgF,EAKN;AAAA;AAhIiC,SAAAjE,MAAA2B,WAAA,EAAA;AAY9B,EAAA,IAAAuC,OAAA,GAAiCvC,WAGhC,CAAAuC,OAAA;IAAAC,WAAA,GAHgCxC,WAGhC,CAAAwC,WAAA;AAED,EAAA,IAAID,OAAO,EAAA;AAAA,IAAA,OACF,SAAS;AAAA,EAAA;AACjB,EAAA,OAEMC,WAAW,GAAX,cAAuC,GAAvC,QAAuC;AAAA;AA4GnD,SAAAZ,MAAAA,CAAAa,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA;AAAA,EAAA,OAAAC,MAAA,CAAA1F,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA;AAAA,SAAAyF,MAAAA,GAAA;AAAAA,EAAAA,MAAA,GAAAtG,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAjImC,SAAAqG,QAAAA,CAAAC,KAAA,EAAAC,IAAA,EAAA1F,EAAA,EAAA;AAAA,IAAA,IAAAiD,IAAA,EAAA0C,OAAA,EAAAC,GAAA;AAAA,IAAA,OAAA1G,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAwG,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAnC,CAAA,GAAAmC,SAAA,CAAAtG,CAAA;AAAA,QAAA,KAAA,CAAA;UAAA0D,IAAA,GA4F9BjD,EAAkC,KAAlC8F,SAAkC,GAAlC,EAAkC,GAAlC9F,EAAkC;AAAA6F,UAAAA,SAAA,CAAAnC,CAAA,GAAA,CAAA;AAAAmC,UAAAA,SAAA,CAAAtG,CAAA,GAAA,CAAA;UAAA,OAG1BV,wBAAa,CAAAkH,yBAA0B,CAAC;AAAAC,YAAAA,OAAA,EACnC;AAAAP,cAAAA,KAAA,EAAEA,KAAK;AAAAC,cAAAA,IAAA,EAAEA,IAAI;AAAAzC,cAAAA,IAAA,EAAEA;aAAM;AAAAgD,YAAAA,OAAA,EACrB;AACV,WAAA,CAAC;AAAA,QAAA,KAAA,CAAA;AAAAJ,UAAAA,SAAA,CAAAtG,CAAA,GAAA,CAAA;AAAA,UAAA;AAAA,QAAA,KAAA,CAAA;AAAAsG,UAAAA,SAAA,CAAAnC,CAAA,GAAA,CAAA;UAAAkC,GAAA,GAAAC,SAAA,CAAApD,CAAA;AAAAkD,UAAAA,OAAA,GAAAC,GAAA;AAAA,UAAA,MAEI,IAAIjC,KAAK,CAAC,oCAAoC,GAAGJ,OAAK,CAAC;AAAA,QAAA,KAAA,CAAA;UAAA,OAAAsC,SAAA,CAAArG,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,IAAA,CAAA,EAAAgG,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;EAAA,CA6BpE,CAAA,CAAA;AAAA,EAAA,OAAAD,MAAA,CAAA1F,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA;AAjImC,SAAAgF,OAAAoB,CAAA,EAAA,CAAA"}