@alore/auth-react-ui 1.0.3-alpha → 1.0.5-alpha

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 (83) hide show
  1. package/dist/cjs/auth/Login.d.ts +2 -1
  2. package/dist/cjs/auth/Login.js +76 -54
  3. package/dist/cjs/auth/Login.js.map +1 -1
  4. package/dist/cjs/auth/Register.d.ts +2 -1
  5. package/dist/cjs/auth/Register.js +88 -85
  6. package/dist/cjs/auth/Register.js.map +1 -1
  7. package/dist/cjs/components/Auth.d.ts +6 -3
  8. package/dist/cjs/components/Auth.js +38 -17
  9. package/dist/cjs/components/Auth.js.map +1 -1
  10. package/dist/cjs/components/AuthProvider.d.ts +13 -3
  11. package/dist/cjs/components/AuthProvider.js.map +1 -1
  12. package/dist/cjs/components/BackButton.js +1 -1
  13. package/dist/cjs/components/BackButton.js.map +1 -1
  14. package/dist/cjs/components/CheckboxForm.js +1 -1
  15. package/dist/cjs/components/CheckboxForm.js.map +1 -1
  16. package/dist/cjs/components/InputForm.js +2 -47
  17. package/dist/cjs/components/InputForm.js.map +1 -1
  18. package/dist/cjs/components/InputOTP.js +1 -1
  19. package/dist/cjs/components/InputOTP.js.map +1 -1
  20. package/dist/cjs/components/TermsModal.js +3 -3
  21. package/dist/cjs/components/TermsModal.js.map +1 -1
  22. package/dist/cjs/dictionaries/en.json +9 -1
  23. package/dist/cjs/dictionaries/pt.json +13 -5
  24. package/dist/cjs/get-dictionary.d.ts +24 -0
  25. package/dist/cjs/helpers/index.d.ts +2 -0
  26. package/dist/cjs/helpers/index.js +31 -1
  27. package/dist/cjs/helpers/index.js.map +1 -1
  28. package/dist/cjs/hooks/useAuthService.d.ts +36 -6
  29. package/dist/cjs/hooks/useAuthServiceInstance.d.ts +12 -2
  30. package/dist/cjs/hooks/useDictionary.d.ts +8 -0
  31. package/dist/cjs/index.d.ts +1 -1
  32. package/dist/cjs/index.js.map +1 -1
  33. package/dist/cjs/machine/index.d.ts +24 -4
  34. package/dist/cjs/machine/index.js +32 -12
  35. package/dist/cjs/machine/index.js.map +1 -1
  36. package/dist/cjs/machine/index.typegen.d.ts +2 -2
  37. package/dist/cjs/machine/types.d.ts +11 -1
  38. package/dist/cjs/styles/themes.d.ts +4 -0
  39. package/dist/cjs/styles/themes.js +53 -0
  40. package/dist/cjs/styles/themes.js.map +1 -0
  41. package/dist/cjs/types.d.ts +1 -33
  42. package/dist/mjs/auth/Login.d.ts +2 -1
  43. package/dist/mjs/auth/Login.js +79 -55
  44. package/dist/mjs/auth/Login.js.map +1 -1
  45. package/dist/mjs/auth/Register.d.ts +2 -1
  46. package/dist/mjs/auth/Register.js +91 -86
  47. package/dist/mjs/auth/Register.js.map +1 -1
  48. package/dist/mjs/components/Auth.d.ts +6 -3
  49. package/dist/mjs/components/Auth.js +40 -19
  50. package/dist/mjs/components/Auth.js.map +1 -1
  51. package/dist/mjs/components/AuthProvider.d.ts +13 -3
  52. package/dist/mjs/components/AuthProvider.js.map +1 -1
  53. package/dist/mjs/components/BackButton.js +1 -1
  54. package/dist/mjs/components/BackButton.js.map +1 -1
  55. package/dist/mjs/components/CheckboxForm.js +1 -1
  56. package/dist/mjs/components/CheckboxForm.js.map +1 -1
  57. package/dist/mjs/components/InputForm.js +3 -48
  58. package/dist/mjs/components/InputForm.js.map +1 -1
  59. package/dist/mjs/components/InputOTP.js +1 -1
  60. package/dist/mjs/components/InputOTP.js.map +1 -1
  61. package/dist/mjs/components/TermsModal.js +4 -4
  62. package/dist/mjs/components/TermsModal.js.map +1 -1
  63. package/dist/mjs/dictionaries/en.json +9 -1
  64. package/dist/mjs/dictionaries/pt.json +13 -5
  65. package/dist/mjs/get-dictionary.d.ts +24 -0
  66. package/dist/mjs/helpers/index.d.ts +2 -0
  67. package/dist/mjs/helpers/index.js +28 -0
  68. package/dist/mjs/helpers/index.js.map +1 -1
  69. package/dist/mjs/hooks/useAuthService.d.ts +36 -6
  70. package/dist/mjs/hooks/useAuthServiceInstance.d.ts +12 -2
  71. package/dist/mjs/hooks/useDictionary.d.ts +8 -0
  72. package/dist/mjs/index.d.ts +1 -1
  73. package/dist/mjs/index.js.map +1 -1
  74. package/dist/mjs/machine/index.d.ts +24 -4
  75. package/dist/mjs/machine/index.js +32 -12
  76. package/dist/mjs/machine/index.js.map +1 -1
  77. package/dist/mjs/machine/index.typegen.d.ts +2 -2
  78. package/dist/mjs/machine/types.d.ts +11 -1
  79. package/dist/mjs/styles/themes.d.ts +4 -0
  80. package/dist/mjs/styles/themes.js +62 -0
  81. package/dist/mjs/styles/themes.js.map +1 -0
  82. package/dist/mjs/types.d.ts +1 -33
  83. package/package.json +5 -4
@@ -23,7 +23,10 @@ declare const useAuthService: () => readonly [import("xstate").State<import("../
23
23
  };
24
24
  } | {
25
25
  type: "GOOGLE_LOGIN";
26
- googleToken: string;
26
+ payload: {
27
+ accessToken: string;
28
+ providerName: string;
29
+ };
27
30
  } | {
28
31
  type: "START_PASSKEY_LOGIN";
29
32
  payload: {
@@ -233,6 +236,8 @@ declare const useAuthService: () => readonly [import("xstate").State<import("../
233
236
  };
234
237
  } | {
235
238
  type: "SIGN_IN_WITH_PASSKEY";
239
+ } | {
240
+ type: "USER_CREATE_ACCOUNT_BUT_NOT_LOGIN";
236
241
  } | {
237
242
  type: "SET_CONDITIONAL_UI_PASSKEY";
238
243
  }, any, {
@@ -263,7 +268,10 @@ declare const useAuthService: () => readonly [import("xstate").State<import("../
263
268
  };
264
269
  } | {
265
270
  type: "GOOGLE_LOGIN";
266
- googleToken: string;
271
+ payload: {
272
+ accessToken: string;
273
+ providerName: string;
274
+ };
267
275
  } | {
268
276
  type: "START_PASSKEY_LOGIN";
269
277
  payload: {
@@ -473,6 +481,8 @@ declare const useAuthService: () => readonly [import("xstate").State<import("../
473
481
  };
474
482
  } | {
475
483
  type: "SIGN_IN_WITH_PASSKEY";
484
+ } | {
485
+ type: "USER_CREATE_ACCOUNT_BUT_NOT_LOGIN";
476
486
  } | {
477
487
  type: "SET_CONDITIONAL_UI_PASSKEY";
478
488
  }, import("xstate").BaseActionObject, import("../machine/types").AuthMachineServices>>>, (event: import("xstate").SingleOrArray<import("xstate").Event<{
@@ -500,7 +510,10 @@ declare const useAuthService: () => readonly [import("xstate").State<import("../
500
510
  };
501
511
  } | {
502
512
  type: "GOOGLE_LOGIN";
503
- googleToken: string;
513
+ payload: {
514
+ accessToken: string;
515
+ providerName: string;
516
+ };
504
517
  } | {
505
518
  type: "START_PASSKEY_LOGIN";
506
519
  payload: {
@@ -710,6 +723,8 @@ declare const useAuthService: () => readonly [import("xstate").State<import("../
710
723
  };
711
724
  } | {
712
725
  type: "SIGN_IN_WITH_PASSKEY";
726
+ } | {
727
+ type: "USER_CREATE_ACCOUNT_BUT_NOT_LOGIN";
713
728
  } | {
714
729
  type: "SET_CONDITIONAL_UI_PASSKEY";
715
730
  }>> | import("xstate").SCXML.Event<{
@@ -737,7 +752,10 @@ declare const useAuthService: () => readonly [import("xstate").State<import("../
737
752
  };
738
753
  } | {
739
754
  type: "GOOGLE_LOGIN";
740
- googleToken: string;
755
+ payload: {
756
+ accessToken: string;
757
+ providerName: string;
758
+ };
741
759
  } | {
742
760
  type: "START_PASSKEY_LOGIN";
743
761
  payload: {
@@ -947,6 +965,8 @@ declare const useAuthService: () => readonly [import("xstate").State<import("../
947
965
  };
948
966
  } | {
949
967
  type: "SIGN_IN_WITH_PASSKEY";
968
+ } | {
969
+ type: "USER_CREATE_ACCOUNT_BUT_NOT_LOGIN";
950
970
  } | {
951
971
  type: "SET_CONDITIONAL_UI_PASSKEY";
952
972
  }>, payload?: import("xstate").EventData | undefined) => import("xstate").State<import("../machine/types").AuthMachineContext, {
@@ -974,7 +994,10 @@ declare const useAuthService: () => readonly [import("xstate").State<import("../
974
994
  };
975
995
  } | {
976
996
  type: "GOOGLE_LOGIN";
977
- googleToken: string;
997
+ payload: {
998
+ accessToken: string;
999
+ providerName: string;
1000
+ };
978
1001
  } | {
979
1002
  type: "START_PASSKEY_LOGIN";
980
1003
  payload: {
@@ -1184,6 +1207,8 @@ declare const useAuthService: () => readonly [import("xstate").State<import("../
1184
1207
  };
1185
1208
  } | {
1186
1209
  type: "SIGN_IN_WITH_PASSKEY";
1210
+ } | {
1211
+ type: "USER_CREATE_ACCOUNT_BUT_NOT_LOGIN";
1187
1212
  } | {
1188
1213
  type: "SET_CONDITIONAL_UI_PASSKEY";
1189
1214
  }, any, {
@@ -1214,7 +1239,10 @@ declare const useAuthService: () => readonly [import("xstate").State<import("../
1214
1239
  };
1215
1240
  } | {
1216
1241
  type: "GOOGLE_LOGIN";
1217
- googleToken: string;
1242
+ payload: {
1243
+ accessToken: string;
1244
+ providerName: string;
1245
+ };
1218
1246
  } | {
1219
1247
  type: "START_PASSKEY_LOGIN";
1220
1248
  payload: {
@@ -1424,6 +1452,8 @@ declare const useAuthService: () => readonly [import("xstate").State<import("../
1424
1452
  };
1425
1453
  } | {
1426
1454
  type: "SIGN_IN_WITH_PASSKEY";
1455
+ } | {
1456
+ type: "USER_CREATE_ACCOUNT_BUT_NOT_LOGIN";
1427
1457
  } | {
1428
1458
  type: "SET_CONDITIONAL_UI_PASSKEY";
1429
1459
  }, import("xstate").BaseActionObject, import("../machine/types").AuthMachineServices>>>];
@@ -23,7 +23,10 @@ declare const useAuthServiceInstance: () => import("xstate").Interpreter<import(
23
23
  };
24
24
  } | {
25
25
  type: "GOOGLE_LOGIN";
26
- googleToken: string;
26
+ payload: {
27
+ accessToken: string;
28
+ providerName: string;
29
+ };
27
30
  } | {
28
31
  type: "START_PASSKEY_LOGIN";
29
32
  payload: {
@@ -233,6 +236,8 @@ declare const useAuthServiceInstance: () => import("xstate").Interpreter<import(
233
236
  };
234
237
  } | {
235
238
  type: "SIGN_IN_WITH_PASSKEY";
239
+ } | {
240
+ type: "USER_CREATE_ACCOUNT_BUT_NOT_LOGIN";
236
241
  } | {
237
242
  type: "SET_CONDITIONAL_UI_PASSKEY";
238
243
  }, {
@@ -263,7 +268,10 @@ declare const useAuthServiceInstance: () => import("xstate").Interpreter<import(
263
268
  };
264
269
  } | {
265
270
  type: "GOOGLE_LOGIN";
266
- googleToken: string;
271
+ payload: {
272
+ accessToken: string;
273
+ providerName: string;
274
+ };
267
275
  } | {
268
276
  type: "START_PASSKEY_LOGIN";
269
277
  payload: {
@@ -473,6 +481,8 @@ declare const useAuthServiceInstance: () => import("xstate").Interpreter<import(
473
481
  };
474
482
  } | {
475
483
  type: "SIGN_IN_WITH_PASSKEY";
484
+ } | {
485
+ type: "USER_CREATE_ACCOUNT_BUT_NOT_LOGIN";
476
486
  } | {
477
487
  type: "SET_CONDITIONAL_UI_PASSKEY";
478
488
  }, import("xstate").BaseActionObject, import("../machine/types").AuthMachineServices>>>;
@@ -43,6 +43,7 @@ declare const useDictionary: (locale: Locale) => {
43
43
  };
44
44
  login: {
45
45
  login: string;
46
+ passkeyLogin: string;
46
47
  password: string;
47
48
  continue: string;
48
49
  passkey: string;
@@ -60,6 +61,7 @@ declare const useDictionary: (locale: Locale) => {
60
61
  verifyEmail: string;
61
62
  verifyEmailDescription: string;
62
63
  wrongCode: string;
64
+ codeExpired: string;
63
65
  confirmCode: string;
64
66
  resendCode: string;
65
67
  inform2FACode: string;
@@ -78,6 +80,8 @@ declare const useDictionary: (locale: Locale) => {
78
80
  selectMethodPasskey: string;
79
81
  passkeyNotSupported: string;
80
82
  passkeyNotSupportedDescription: string;
83
+ noPasskey: string;
84
+ noPasskeyDescription: string;
81
85
  };
82
86
  register: {
83
87
  password: string;
@@ -85,6 +89,9 @@ declare const useDictionary: (locale: Locale) => {
85
89
  passkeyNotSupported: string;
86
90
  continue: string;
87
91
  title: string;
92
+ passkeyCreatedButNotAuthenticated: string;
93
+ passkeyCreatedButNotAuthenticatedDescription: string;
94
+ backToLogin: string;
88
95
  forgeTitle: string;
89
96
  emailLabel: string;
90
97
  emailPlaceholder: string;
@@ -101,6 +108,7 @@ declare const useDictionary: (locale: Locale) => {
101
108
  verifyEmail: string;
102
109
  informCode: string;
103
110
  wrongCode: string;
111
+ codeExpired: string;
104
112
  confirmCode: string;
105
113
  resendCode: string;
106
114
  createPassword: string;
@@ -1,8 +1,8 @@
1
+ import { AuthProviderConfig } from '@alore/auth-react-sdk/dist/types';
1
2
  import Auth, { AuthProps } from './components/Auth';
2
3
  import { AuthProvider } from './components/AuthProvider';
3
4
  import useAuthService from './hooks/useAuthService';
4
5
  import { SessionUser } from './machine/types';
5
- import { AuthProviderConfig } from './types';
6
6
  export type { AuthProps, SessionUser, AuthProviderConfig };
7
7
  export { useAuthService, AuthProvider };
8
8
  export default Auth;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":";;;;;;AAAA,6DAAoD;AACpD,4DAAyD;AAMhC,6FANhB,2BAAY,OAMgB;AALrC,4EAAoD;AAK3C,yBALF,wBAAc,CAKE;AACvB,kBAAe,cAAI,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":";;;;;;AAEA,6DAAoD;AACpD,4DAAyD;AAKhC,6FALhB,2BAAY,OAKgB;AAJrC,4EAAoD;AAI3C,yBAJF,wBAAc,CAIE;AACvB,kBAAe,cAAI,CAAC"}
@@ -24,7 +24,10 @@ export declare const authMachine: import("xstate").StateMachine<AuthMachineConte
24
24
  };
25
25
  } | {
26
26
  type: "GOOGLE_LOGIN";
27
- googleToken: string;
27
+ payload: {
28
+ accessToken: string;
29
+ providerName: string;
30
+ };
28
31
  } | {
29
32
  type: "START_PASSKEY_LOGIN";
30
33
  payload: {
@@ -234,6 +237,8 @@ export declare const authMachine: import("xstate").StateMachine<AuthMachineConte
234
237
  };
235
238
  } | {
236
239
  type: "SIGN_IN_WITH_PASSKEY";
240
+ } | {
241
+ type: "USER_CREATE_ACCOUNT_BUT_NOT_LOGIN";
237
242
  } | {
238
243
  type: "SET_CONDITIONAL_UI_PASSKEY";
239
244
  }, {
@@ -264,7 +269,10 @@ export declare const authMachine: import("xstate").StateMachine<AuthMachineConte
264
269
  };
265
270
  } | {
266
271
  type: "GOOGLE_LOGIN";
267
- googleToken: string;
272
+ payload: {
273
+ accessToken: string;
274
+ providerName: string;
275
+ };
268
276
  } | {
269
277
  type: "START_PASSKEY_LOGIN";
270
278
  payload: {
@@ -474,6 +482,8 @@ export declare const authMachine: import("xstate").StateMachine<AuthMachineConte
474
482
  };
475
483
  } | {
476
484
  type: "SIGN_IN_WITH_PASSKEY";
485
+ } | {
486
+ type: "USER_CREATE_ACCOUNT_BUT_NOT_LOGIN";
477
487
  } | {
478
488
  type: "SET_CONDITIONAL_UI_PASSKEY";
479
489
  }, import("xstate").BaseActionObject, AuthMachineServices>>;
@@ -502,7 +512,10 @@ export declare const authService: (services: {}, context: AuthMachineContext) =>
502
512
  };
503
513
  } | {
504
514
  type: "GOOGLE_LOGIN";
505
- googleToken: string;
515
+ payload: {
516
+ accessToken: string;
517
+ providerName: string;
518
+ };
506
519
  } | {
507
520
  type: "START_PASSKEY_LOGIN";
508
521
  payload: {
@@ -712,6 +725,8 @@ export declare const authService: (services: {}, context: AuthMachineContext) =>
712
725
  };
713
726
  } | {
714
727
  type: "SIGN_IN_WITH_PASSKEY";
728
+ } | {
729
+ type: "USER_CREATE_ACCOUNT_BUT_NOT_LOGIN";
715
730
  } | {
716
731
  type: "SET_CONDITIONAL_UI_PASSKEY";
717
732
  }, {
@@ -742,7 +757,10 @@ export declare const authService: (services: {}, context: AuthMachineContext) =>
742
757
  };
743
758
  } | {
744
759
  type: "GOOGLE_LOGIN";
745
- googleToken: string;
760
+ payload: {
761
+ accessToken: string;
762
+ providerName: string;
763
+ };
746
764
  } | {
747
765
  type: "START_PASSKEY_LOGIN";
748
766
  payload: {
@@ -952,6 +970,8 @@ export declare const authService: (services: {}, context: AuthMachineContext) =>
952
970
  };
953
971
  } | {
954
972
  type: "SIGN_IN_WITH_PASSKEY";
973
+ } | {
974
+ type: "USER_CREATE_ACCOUNT_BUT_NOT_LOGIN";
955
975
  } | {
956
976
  type: "SET_CONDITIONAL_UI_PASSKEY";
957
977
  }, import("xstate").BaseActionObject, AuthMachineServices>>>;
@@ -19,6 +19,7 @@ const initialContext = {
19
19
  active2fa: undefined,
20
20
  sessionId: undefined,
21
21
  registerUser: undefined,
22
+ socialProviderRegisterUser: undefined,
22
23
  googleOtpCode: undefined,
23
24
  googleUser: undefined,
24
25
  sessionUser: undefined,
@@ -27,7 +28,7 @@ const initialContext = {
27
28
  RCRPublicKey: undefined,
28
29
  };
29
30
  exports.authMachine = (0, xstate_1.createMachine)({
30
- /** #no-spell-check @xstate-layout N4IgpgJg5mDOIC5QEMCuAXAFgWWQY0wEsA7MAYgCUBRAZSoBUB9AYQHkA5eqgDXoG0ADAF1EoAA4B7WIXSEJxUSAAeiALQBmAIwCAdAHYATHoCcANnUAOUwBYLevQBoQATzUGDmzTuMWB603oWBuohpgC+YU5oWLgEJGA6JPiyAG7kAJLs6fTpAIIAMukAWlSCIkggktKy8ooqCBrW1jrq1vaaBkECVqaaAKxOrg2adhY6pgJtHkZWbeoRURg4+ESkicTJhGlkmdl5hSV8muXiUjJyChX1qpp6pjqavbfGBn161sYvji5qI5M6QXsfQMAhefjsCxA0WWcTWm221Do-GEiiq51qV0Q2jGI0+QWmrT6AlMgzcAk8LWsrWM5NMPjakOhsVWCXh5Bo6QA4uxGABVAAKZVRZxql1A9QMVOM+iammswVMNgC3yGqncHW8NJpfWMJnUr0ZS2Z8R0bLIHO5fMFx2F1QudUQkvU0ve1jlCqV9lJDWmfQegVaHwsWluhpiKxNZvyrE5mSFFTRoodCHcFj9-RMwPspgM5gs3rV2l01gE3V1bxeboMYZhLNNeFS5AAYqwKJzWEx+bkaDQAOqtgAi8dOdox4sdAj6YzsRJMk0+NmsBc0xj692MthCmnUdwstj6NeNcIbWwSAHcwAAjdTMeSkBsSABOOjwd7AJ+IUDIbHYTfSFGwRheyoAAhdRGGjWN2GHSoRXtTEEEeOwHgMHwvlzHd5W9dw1x0PprGBKwp1GatIihI0I2PRsdAva9b2Ie90CfHQwAAW2QQgABt0mIMQMDIAA1KgKHSJsAE1GCobBcnSfJJMKWMQNk7IxJgxN4PHRDTCCFC0KMDD3gMbCQTGfDCNMYjAlIxZw1hVkTzSGirxvN8H2fNJH0IAAzZwSCgKh2K4qhOMIKBCEvLiZGcMgIHkBISBSCQAGtWQouz62o2iXIY98mPcsBPJ8vyAo4zjgtC8LIvQZwEASiQ8GQUUyjUuCx2ULETGldRyTuewDKwn4U38PQdEmczLKCQ9KPszLnPoxjmI87zfM-EqgpCsKIpC6qyAKx9mLETjGq8p9WNNNK6zZJy6NcvKdCWorVsCsqNsq7aarqhqmuEFrRzFdrEM6loeuVfqjMGyVczwgjOgsiwSKm9Krqy+bcuYtjSoMLzkFvCByCEkTxJYfIZMA38mCkmS5IMJtcl+9F-vqW5-kVTx5UMcxDOw2x7jG2GJus8jbMuhzzzm27FoK5a-OYI7CFY9gvPQNbOKx5AYri9ZEpS87hcjUXruyhb8sKlaoFljiFaVlW1dq4hEq+i5mpRBNWsZrELEecYCL6W4Ocw8GhleWxofG+GrMRkXZpunK3PuqXHvNuWreV561d2x99ufQ7jtO3Xa316OjbRk3pc-C35cV1PMexu2Hcap2fpdkcGeTEYvZsPpfb6zmBqDiYxj5ojw8msimWmjLT0N1G48ICBOPZKh8ioZgmB-dgV-oVt6aTBC5Q1N0LBedRfd8SxsO6rxUKnARc3lGx5jHi7C6nziJDC4hzQYAVGGoWMaC4BQPkdAKA7w0gDEsbQ8Kggss8E+HQSSDXlH6EE7g8SeEnBZA8T89ZUVfu-Eg5p6C5AoJ2bsNAADSVAJKQTjM3WCf1kzOlePoNc+ozABjsEuQatwLL6D0F3N0jxnQjEji-Ryb8P6JHnuQWhPJezZAABJAVAjeDgG9V7b3oepNqTMqReHeDqTwPh3gjHzDwncuhVyLiPsgkI1gxF4IkQQ4g0iF5kHbDGZeEEYx0JOAw1uCF2bpjdNYXoa53CBG9LqAwOhgjGE8H0fUeh-CtEcTNfBUi57uNyAOASuR2DMCoIwLejAuw9n7BQIc2i3bJiaCwgI7dgy6kCOYoY2l1AtBCJ8Vc8oCKhhwQXJxCRJEkDceyLkPJMhASUWU8hVDVI1MYQhIwegvC2BLAI4EjxtLehGHw7S3QiQ0hBBs9Jk9nFZJkV-Zeq85kVMHIwbADBFGsGqf4nR7sUyGBdPhSUt9SzkgIns4IzQBGPHlPqI+wJwiDKPBky5YzsmL1uWQh5VSnkvLeUcD5tSEJaElOMCYJgOi2BBOoPZoS8IpPsLqJU25zlXVGa45FNzN73L7I8559BXlDgMLi5Zml9TyjwrqUsntDJym4UMfozoARWBCJYX2U5BbjyRgbZl4ydBvwapxfkyBYCwBSs4GgoVP5-iyDQZR5TKHUJ8VBMBujECWH8N7cwpZupWD3NhN4sTOj4mOQINZehGUapcVqnVyA9UGqNWAE1ZqyAgVyMwChjqvmtCMOMfwBELLmG0MYClEMqTNCCF3E+ayj5H1DdRTVyLtX1Sjfqw1xrTVQE-jahZjB2AdkYDQAU-JWxcHebaQJQq3S6CPo8HppYEkCOwoEXQcNTHaSaJA6tmSkUyJ0NINtvYZCYCbbG6KFr0hWo5Z2uRaamFJPuJDT25JnRvCaNhbozR-A5h1JYEs2CbJDIRSM8Ndad3ED3VgQ9xrE3JtTUs0dANOgirlL4FJVJDDnwhq+h4NhdQdDpWkuFE8mWAa3cB0DB6Y0QY7Xa7tTA+38gHaQqgw7XaCrg8CTpCSXhvGIq8AYENJRXz0KCPcZjiSTnXYillW7oQ0DwI+MAYBP5IhYBwAcewOAFD5Okc91Cr34tBM0DoqFupUlvp0FUjosMtDWfUzouI0ziYA1che+cZNyYU2QE9Z7KM0N8dBGDu8hVjQBB8CY2h3iGUQUHN0I1i1-DsB4I+qrn7DPrU51KWBXPyfbfMqjPbaP0aHbpzS197grjuLiAiupgzzt8OMKcAQzDWKDQ51Lm7nN7SfB53YXmcs+Ydf58B9QtyxMwdpWl8NyTYW0H6SwG5u7+G6HKFrtat0dcfGQbzXa8v9sHYxorrHgjeBXK8AR8MeMXypC0P5NIT50iCI-X98KLmObGcy7AYAsASAgDQMAC8TzyDZXcm1lSmMtwCxAgRI3PYEXnDOyLWJFSxK7mzbS8NFTOmW+Gt7H3MBfZ+390UkGU37fqG0KBeYUnqjTC8PZZb+FygzVZDcIb8PqpreGuT6BPJgBSH5GgUb0AazWHVHWaqo4btcZz7nvPPz884ugOuDbvpCBJ4gNoXcATAlCZ7VCxg9mTi8Fh+pQQC3B0x1IqXhAed84FxnLOOgc7oBOo+M6YvxEvclx96XNv5eK8dvIZ2ArYOk-6OmQItx7GKlLLxoYhgDM6h8P0RL2lzdIt4hgQ9Z4nwQCJ9BoP4PScn2aK8EeYSTfejTJ01mtw1wnOQanll6f0CZ+z7nnFI6C9q5C9S-o2gOmWHMwgZnXTL4hGJIY2Fj2CNhqyU3lvj4c9sGwPyZeXBGCeM5N4i0Uy-P58G2rxUzQcylg6bKkYezCR4TpB0W4R8xUPaFn+57rXG98WbzGrPC-BLCVEn1vxHf98EAPhDBvYmhgRcwONC0hg7BeYqR4YkktAuhNAG945TY-J8gXEhd4p7Zkp0sn9CMpEHozYMCP4-cG4A8m498nUEA1w-BRpUxnRAh8IQgY9EBfBmhb45RtQIDPYH83cUtNUiD0DMDYphccDRdkt-0X9UCy4oASCSAyDld29mNg9EAu4fBvBugx8-Bgg2k2CNCUkC0Ulb5DEqQUChDPx5DP5RDsDtY8CnsCCxkLC5CXFFDG4Vd+UADqD1CxgaRgxuodC0MZUPUARyQ7BuojACIzDWdxcJMZDE4rCsCtZcD84HCZ8nCE5iDXDPpyDiBmp1AqCvk1wKQ8wklyVeg+4sRmZ9BRN3BupDBeDzDMjhCP47cDojonc85+CpDBDmjLDsicD-c8jKCvCvkc1mg8QSxJgRgpwoC1DtJNQjBSw1lb5-BjAUDYBUA8A8A4BYAvJUBOJEjqAmxERlFk0ikewSlWAqFd9Ri25b4Sx5UT5fBiQkl8JvQUkxgAgPhkEeYQsNiJAlYzxkA5N04fw-wAJe1exlMBxSgBtqDfBeg8JtxDCzNb8PjPYdAmhBMn0dw6QLIASgSQSwB05eQ6BGBFESEBxewSFikaY6Z4Svk7gNwAQYk1lFx6tvQuM4lESSxtxb8OhCT0BgTQTsY29GTkwbB+gWgcw9xgw4Z9QPiwkHhy00xehuhPZJ9H80j2dCC+ioA1ZcZyAbDkiJDcEejw1nDDSvswA3CKCVcJSEI7AQD3QNlekIUlT1kM1LAPBtxoip82cJd4izZrS8YkiRd7Dp9dSMi0DPxQzbScilCbQVDO8h9yRdBOpphv1KiEATARoBF-BZVYZJg+DJDn9ejYyDTsYjS2js4OjndXcyzHDXErTqybS7ThiHTCjkxETSt25txtIXgPAK8dQsStdmYSyQQf1tSoygzMAQSIARSSSxSyTikaBWAmx6AaTqBGB6TVdcz8TRokk-i1xZxvRBzNQC0SxVxu4LAUD5yF8lz04CZf8KToTcheQeV9zeTRodlyi0wj5vQdw-QJgy0PhQRQQQQtTujyzw0HzFziT04k1idHTNIu5zBRUjAJhj4pxpVnV4ZoF-B8IC0XUCSYj3dpDSAzwBxrcdjvwOAITAJYSBJ0gikYS4TuyEINwvZQQNwAjNS5ih9Lt2Z9RLBtxgK7zyKBDw0qKaLec6LEQqB2ABx2LvyzBOlgLBNghsQ9DEJILRp4YdwtAPgNxmspKLS9TKyayTSIzUjZy4jnCjSOzA87iuLPgvATdVxnRoccyhy4lQQUkpwu5PYpwmirKbTayHd6yuimz0iWz9SnLEz3D9zmdOlw87h2E6RUJ9d9QHg8QNxYFTCUC5NYAFMIAZZ5AvJCAXdciVZwzxDIzAy4iSqyqKriAqqarRQVZnKRiUzAD4ZlSqQtBiINxUw9kpUAQVxegM1gwxNzLYKpEMYuJ05FLlLVLUKAZTtpRo9Jxa9nj4dEIpR5VQR95kk3QUClrVYxSXyiZKZZJdzaZ9ymC-Qg1b5gQEk2grAQVPh9A79JQF1yR+gLq04xTkK89XLNJzAzAsTiRbAIVRrWDEJuoupQs1kRgQwWcAzYiPdgzioQb1YbKGq7KmqcbnCbZa4kr7Tvy6QRpPhAVMJjlB9twGkb86QIK9wAgwrZDyb1Y1sorc4XdibsbpCyb8aequyIbNq0wRoj57AtBLAuE8LEJqjBMJg6ig1bNSzzSFqxkWriByqnpSprLNZbKYLmydA9aDb-JnpErBjciXK+rqDsxdBHg-YfA74aceFD46sqQ7tByV0ubE5FEzxcglh6q7ChaKKKzZDg7Q6sBxaUqVwQLcxggklQ93AgLoapS9x6ttJVlA6zZY6w7CaI6za4rcbPwi747KbOzlCwdAC6Uxgdw7gQRljV1M77hs6CIehARMaZySaRb9Sq7MBIrHcGzI7pLLKY6Q6lgE6Nr6h2CUFNwn0JgSxBKPgvBgR0yiLmbPYUCvIPtYQoAmwnwYABxGoCaTaiay7ozXED70Aj6T7Hwz6L657OKhUAxfrPhLFD9YYPiQgYbwLv1Aq3h97D7Vhj7T6wBz70BebM52iBbGztbzb77H6oGYHkA37Jahs+KARegBFpjcw51BopTQicTug2bSxkD5rzbnDOQJB34F5EiS6Uib6gy6GGGoAmGBj64lD575iVwHgOgBEhy1x3hKU1lvY5QjFPAdxcwC6-J6HGGwBEi+ax6YrkHy6OHlGrCsHHaxi3hB417Ft6QvqvaiR9BbgeMFwj4tb8Dy6oBOHuHWiWGzT7Hb6dBHGdGeGldkr+GaC-TxhgxSV309QL9LsiGEkT4n1fUUCvGuGVGRCr7S7YqPH4nnGFCa7mpkz67vDFUukdQGjQQgisRJRpRT5PAUTd7qGsao7w10nEnWi1HorBa2G4iGndGsnercmxj7s4lfZX15tHgQViR9AxL3AbAgQkliqvcrcZdzY5M8ZiBZAo0KBmAKBw7WHUmgzLdrdy5FmFMVnOI1mKA9Gem6knhRpj9Vag0yU9k9wrEZjDA2ZEMZmuc5mZYDnlnCBVn1nR6WmkH3GdnZm9mFnIBDmfnjn1mzmAlUywkKRKc06RGcM9lBNOkg1kdPh9IsKNizVPnwXvnfmNnPNrVet7V-99G6kObRoFtnRzAcx+gX0KROhSx+klVSVcW218WlmjmTnxT36AZ3rmgmhMFUJsQEl7mcwVTCmSxocQg+62mcbgNuWIWiW28cnYXACb0PL4NJx-Aj5b49kzAwVOhonHg5agaaHy7lX9mCXeW-nNtqNe0dsGNQdNXvDJgwU6RV1PXtxEbbhtwaXyR8quNpzFXB7KyKAwAwpYB0ACp+RUBLwQo8AKE41mAvmjnNm3GdT2H9So2Y243HwE2k3CAU202M3IWYXPkqWkS+ps13g6QtBjINQiQByRGKxHgFHPx83CBY343E3k3U3nB027XIWs3Grhbo7E4e2+2i2B3S2h2R2eXK2umVcNXq2gkElYkcNIVpblVjIdI9RS12XXg7Gc2HK83o3e3C3i3B3y3R2o1x2J6LKYzZCZ2b352y3h2K2o0E7PDKXN2FjYbnhnmdxdLU77gvVXQg0C0u2oB33+2S2v2l3VXOIn3w2p2zYEO52kPF2f3OIE6CjsG1CYOs03QnhdQwlBLIYvBljWZiRDKktNGPHnDsPb2F373l3H3mnEHn2db4rI2r3Z32PkP8Oq28VNJQl7h+ltIiQkk9WX1uh+m-T+Ttw-Az37LSbL2C3EO73v2H20OePOjWntmL3BOdOcO9OUPCWCPV2673X00vVNdFQGsabPaZV-CsTmS4CTqOgNOB65MLPxlzRXloTAFsAaAnk3kCh9yiRDselkcdxpHB81Q3r+nFQVUrBiQU8rXqJAvr2Cpgu6A1q-5T16AKBcgcgOBJJpJZJ9yyVfCKiixBEwDlxiK4lWhBzJhPiWt8vZ3gvcl8lClilSlgdBxYv3AMzmYrBUJw9Eabhup2MTAPAYVEt8JeuhPC3gu5EZkeUVEwJ15N4tEBWmZfAxhnnghAUaQQtadcIYF1PJwpQu4NugvWUkQf5SuAFhJgFhJ6vmkHhx09Q2aa9lwC1Dd7BHveErBLXamUs+utvWUN9vFL1-HT40rAhDBdx5P5uVw6CNkBEsFg53gXuCvnxC3WJYBsAvtH3mBoxyTwvIvsBov8h6vPgRp8Jgw2hZVg3Qe+FTGCIIighObcup54fCvSr9a8bSp0PTOEgxfnwJerbuq7PUfwssSRFc0c1GXBobgpjRp5QpynQcISf+vFepeuJ-nePw35ft1WrDauJxOWNSc06UJkMaVcQce1lpQ79LFotMfJLYepCbfLqBIo055cjv9CYJI7qWf-HV631TF6QA3dKbgXP-RgwU6dQQsA-+7hbg-npQ+QoIAI+waJuXgYbrFgxfUAg2uMK0wQRPAcIC0IQRfHJ8-SpC-w-CdVqVK2BYTYu7BF14Zbh1dcwVxlwUlpO0wgrAh1KTetvRbpfXGJ2KKbfF+HeVeTvEBc0xhZvcLJ-Zhlwq+ZQfBARfUPB5-Cv1+0Pl++Oro1-9Tle7akyt+EBD8-R9Eu41w3QFbQeg0WgEuvsBJLMBz7W9NuV-R-s9Bl7MdRe4A0uInCf68Nkq-7c5ghACBIkrAayLuN1zCQHUbg9ITDNxWvg5oTAl-eAWbDqpGdx6YAoLtf0d6qE3+wcS8rqG8pzY8BveWjoJm0A-Eb4oDVvnLzgEvg5MjUMAPPkXysBl8q+YpJ93K6Vd0gHAJ6rZk1yPATIxFN0MuDT7kc3ggVU-gyn4EW1BBsmMACILEG54rijAdIAOGXhPVQQ6YMsIZk8CGUCwK3WJN3Xwg14FaZAoQcYLjamDS+cfVCLoEwgmA6QPgMRhPz3BxIdku1RVKhi8GvhWIh0D7H5HfaPgI+t-GgaTxfASBEhC8WQN2025pDRQ9A1Mpwm8CdwkMoQj4BoJsBHZc0nwN4KfniE5Ckh+Q+DoUIj5UCNGQLNvoYJaF5CUhHQ4oZv2I65kpwI0XoAWi+AJI-SR-EOBARXALgMqDifQTb1QClVHwI7EQTnmOKnFGA5xWgJFy3g3FvyIwCYXSji5ZV-AR-FtiYGEyw1TsXgy2oMILZFCLgdVDIbLwMFBdnhBQ14bVWeglCtWa4MYG6FXA7IggtwDQbqH9AssHi5gdwCsMD7P4beHTJJmIRSYwDehQXNEaQRGEAdIat8XfrwSMDdQoaKXMxOxjk5JISUpmJjj0IEE4inGjTQhJ8KxGMishuIzJs-2SrrsJOAMCYN1CPJc9WgM4MwKDzuAGV-qq4Pft0C8FcjP4XQkzuyO+GcjmRnTHkVTVR5mYABk-GGIiUDi-A0wzQHUNslMT9ApyTwkFvM2YB-M2RDI1Uf112Y2joW+I1AZDS8p4RWgr1KPMEwLDH5NCPGe+JOHsBWj3moLW0RsyVGAtz2HIp0daJliujNRtdOPtDm8C+0NwYIVcHrh15s84kPGSnC8AaHrFVhggyNJxEjGtpzU3WUlj2E7QyDfu-jZGp0jO6dQ2ecBFLq0BbGYRGss4PpP5zz5liG0FY9ZlWI2xksnW+WXbG6w3bFYsWXol4OYC7FWMCwHwdjCCBpDkhIYwvZEffyHG6pKxCafwa-2bGhE7APSSjgPmcE6QHiC4VcLcydBeDyxJzMcSS20wSQPyX5Jsd+hpZFjYabQLBM4IIhRCymg-DhH0ifHDiXxR4qDOYMsHWCmxxTM8W2MvF2A2uTdC8XSD7GPjSxQXZ8aOITSOttsdGacfuVPGtiLx7wK8bmPuDjCQs94wyP6Vz6r9BBwJc4J+Cfp8sAEJCNFLaj-y3ECRAMZGgJllIQE3gzobCOUwSxA8c6NgekbGMdFbczen4ETtZ0zb2iFJNvZSVAFUlic3RDnZMKdhGhfpjy4+MJjrzRxedv04SGmsCC8HaTdJBnS3sZxjGadFJ4vO3jpM-ZqSV2yYh2u6IFGfAOCIQHXJ9X9QFhTseEGbqhmQyjxdxBsG3vL3eyfZvsv2XKBcEBy8SQc+5WTiNjCQPpJggIDQQIm8BgUsEsCKtLhKyFJScceONKf9kUzEJSE743+FQH-iAIcp5gD-n4HcqZjTsy4KFJSA1JTCXgZ8K0RZ2Sm45UpBODKceNGGCikcII7yitzpADSoYgmYkI8CEzaCwx3ubtnaOSZbMVRiUhMftNOb6TZxUtWoT4D1bUgTIEUy7GKO1BThTK8ktySdPDHzM+W0Yu-glMEHOiUhSYpAVqNf53ByQlIXgZKDzqCVVAR1YMO8F7EPimJmQ03p5LjoHpvJ+HaAQ6K0loylgjkrjrZz8ndMDJTpGYg8GRzBgHmXvHHmsTwiEQeptgh+PZLxlgZMZTkn6SjKUmsyMZSHHyb+wun8iF65MwEKhFQibIqQy4TaVEN7yBAAg3QSUC1mdyON38hqT-BACK5KVe+byDiqMOsyaEOgA1AINCk0DOC-OQjFcPAm0CkoFWXw5WRIFVmwB1ZwXRSllPG6o9HiBEO4AM1don4JRugerOpzRweAkRzElLPbMdnOztJxtDEUdIdERyxBtvSXuXHbKCynepTF0vlNXB2Ak6KfAkP5X4zHYaU0FO2afQdmJzo5EVTmaXOfrlyP82eJOVbVtrAyUxr-EKliVRzGyT4RhJWql1HIRF9w1Ob4iXJVEJz65C+HQFRVMHgl-wgEMblUieqBAeSQaE+HfDvgp8Zim9HUHdhA5nclZZcyOQ3NgDIB5mpgjSW5LHlqyj5J8vyGIKBHUE1OXUaJlshEQEoj+U4fptvPwhzgNwoc8NpfKdnXzT548nPNXNHkHyK5N8lSSAvvlMlgw3gMVgazk6gUJ+5fMkVOXqwJIw2XwzVDazBaEy+WREmjC60Kx8j05ATHijAnxAmRS0eyUCkSmDZ5hCpG4SCQeIIltpxxdY3LMQpImut7Ol0iUAuBqI6hCp4qL0Dr2-4AhRK98RoaFgiBkRiANpeABUG6KjCNAaCtoGsk6AmRWY83KGVfCS6m4eo51eakkFFhqKxWYzA3LN0mE18de5KF6lYDMCJJyUuoBzKMNXRjlvZ1s9UsSGcFGUjs7MNWqBVtkqiUYEsR8KMIHLCtcQqdP4CUxTC2DNQG9afjNwZD6DwlscO6K+CyV+QolAvIRvfB7gBxuYpYUOPzBHhvSB6mS42CxGeg8Q38+SpJIUqIb+wuYEMN4vrzDgIwMl4sLJZLErIqxyom0KqEMACl6JmlbMVpWDGwiKhym+ouGD0vilFwZ4d0S6vGSaWdIploMXuIaJTBphaOCygWC1hqUlwK6ScS2FXB5qbKWlOykpRDDCHlLh4SysOVIVOVxxLq9EDqqxEgA3LtlxS9pUMC0ABAulFSl5eG3eV3RkUTS6UGzxwF6gNaU2eBVoADDiSTMVgBvKMMhi01jsXGM7F3Cmyb0k6rxcAmEkMAoFoVgkiUOriOycZTspaf1ikk3q2Ag5u1QRBSq3TljwMcaKsaMMJAeVtI-QMwJzx1CzKPgNLIwJxjlBBoamry-jlqhIz7puVYy0mcVj6gPATq4IQUVmCNbl9W6RYZbg3w5XOZpMRghTFivxA1FEMtgQwL7AOoe0aWxmOSSYkmDGqEga2C1UKN9QvSHmPQJWhMyrxJJFxBacENgpVGapscKU-HOlLagCK1cOEMco0n0SDkmaMMcoVZGPJmQ5R+gzVADNlwC4PFDQ0aCSvwiycC0+uTNLNmy7Og2g2oClXPhAUeK0aoqMJJ0G3khUK8koz1qZkH5bjQlDozDi0RICjCYUfoewIiVnBUzXgFeR4iYD5LjEfANgDYlsR2KGp9ihxFxFEtWLlMK0RhcwN+hHL5kSyanTcELyFJPlsYowroPcEEzIIJmfgEwLTkExeds5EPUsK8FlUYdLS+pDZVSrYLgUeSe4AfD8U9gfEPAY5JVOoQZwjyB1cFBcheuQB6yfkv1WflKmaSI1gK4wR7hnzCJEhQBOCmSmAGoq0UwAV6+Ag8Gh5LjKRulA1aKjHx94-A2gAcXUynqJwjSow7DNKAF7wIheKSQShxjHIsDCQaOMyssuBaVz2q1VdiF1WegcaNadWb-g1jonjUNcVIYOIWVBSghgaNcRDX+oPKTgaWmPcLLQRzEypgVia32uARzBuKc136wZfjSvUQEjybGLPjML2VqdF0hmIvO4N4QzNtJKsdjXpsMhpUc6tgaWqyyfUmtdqW0nwvhvDV2bp66Mq9WEmLxnYxUGPYEEBUkbZ0uMxIHcCWLE1xFUGEDJ+i-VgZ8rgmUjfpH61lZcl4uXwfLSYlsBwclGCTKwh4qF48khVta0IcQxlQ-8sNieH0rNwIhxN1Rm6vTWnXTA5gvex+BJBZHGqPFFhJYJviyr-kEaLcp0-BahxOYeKM0dWDWt0i3GCUa8QQlpL6VPJy1OWxAFVjZ122TbaQ+vZ0tiBBGmaPYtbGJOOmEQM44ObHT9nhwM4eLceHclgb4H+SeApsFjZmM9K-RmAyBWK5bnVmzBpgdCPgZwbDFFR+t4CD65jXD0EGUrxlJHN4PwkSxzrJ+qC6cKvM9g0g86n6r4Tb3J6U9qenEEddMX16Thpi4KZ9PYvEpEovKt8POpVMK1xjuZyc62qVA8WdL+gUwF4GFneI68k8Y6zrnJMVT6svBIfMPsX3BxxqaCMBRNQqDuFk4cekzfhA22jy5gwiXg6-vNM+reBZ+cXWRabIV1aVJqkw2xFoCDRxacZhg4Qb4MbVBbbm0CFeZOFnRvAah0nR4GuEOSijggzQ3IckL+HXs3hsaoWYgAEQpJ1e5YBAp1GN2KgsSke-dVuCrBeD1hBULYXGwgCObb4l5aJu4GyoK7FQoIqYvqCJBQpb4Vo7SakIBES7JtZTfhGtt9QKyJ+tQ8WfUgRGdAbNwu9yc+AVEjrmCBlIDXDGsl-9fCcnIMXhoK1yq9xPwrbZGPmmwJRowq+kHUXPw68cwWykRhzW0i9Aqlg4vCcOMPFtoLVjxCyMjtb2oQU+XYqRQjKwlIzcdQffcUS15V6bdWSOrHqjrzmghKQJKMLbLR5heC2JbQzies2f2LptBsnCAw9M1z+FtFhgDWl7s0mCCHJ7MwmXrKhnBZb1pKtngWHhjncycA+GbfFnGmk9JpdUmaSnvIWH5QRkoH1StwpFf98x9iYflCkn1b6-pO+z6YDIoB6z2EWaGblVjpbzdV6WJQELwUsD6Z1tx0ogzzIJmocr1Qq8YCoK3DDVJZCuy7umKiJdxTsF-fQQAvVmFrXBjQn2b4rwHqgRsp7ZuoiS0D7za5h8ieQTtVWCsl5JZIKiywYJmzDslTEig1gfQ+GVZFczyYFsJ16USpJZT3Z3Hdq9ysyNRfjLP2saaH45ECkBdkLxg-ZlmUS2cHVjWJUdgKk4CI2CgeJQV5wcwOI3XKvkTyp5-u5I70C+Ialkc1mc-e-NiS+AxUveGVS8FaN+GNZx84Be0cr16bpsxeIVQWh1C5ggNQx0IqMYGZe9b9FFOww3LEAgL+caQeY8kdDwy1m6JKXoB+hhkzFfkWfUScXvkVAA */
31
+ /** #no-spell-check @xstate-layout N4IgpgJg5mDOIC5QEMCuAXAFgWWQY0wEsA7MAYgCUBRAZSoBUB9AYQHkA5eqgDXoG0ADAF1EoAA4B7WIXSEJxUSAAeiALQBmAIwCAdAHYATHoCcANnUAOUwBYLevQBoQATzUGDmzTuMWB603oWBuohpgC+YU5oWLgEJGA6JPiyAG7kAJLs6fTpAIIAMukAWlSCIkggktKy8ooqCBrW1jrq1vaaBkECVqaaAKxOrg2adhY6pgJtHkZWbeoRURg4+ESkicTJhGlkmdl5hSV8muXiUjJyChX1qpp6pjqavbfGBn161sYvji5qI5M6QXsfQMAhefjsCxA0WWcTWm221Do-GEiiq51qV0Q2jGI0+QWmrT6AlMgzcAk8LWsrWM5NMPjakOhsVWCXh5Bo6QA4uxGABVAAKZVRZxql1A9QMVOM+iammswVMNgC3yGqncHW8NJpfWMJnUr0ZS2Z8R0bLIHO5fMFx2F1QudUQkvU0ve1jlCqV9lJDWmfQegVaHwsWluhpiKxNZvyrE5mSFFTRoodCHcFj9-RMwPspgM5gs3rV2l01gE3V1bxeboMYZhLNNeFS5AAYqwKJzWEx+bkaDQAOqtgAi8dOdox4sdAj6YzsRJMk0+NmsBc0xj692MthCmnUdwstj6NeNcIbWwSAHcwAAjdTMeSkBsSABOOjwd7AJ+IUDIbHYTfSFGwRheyoAAhdRGGjWN2GHSoRXtTEEEeOwHgMHwvlzHd5W9dw1x0PprGBKwp1GatIihI0I2PRsdAva9b2Ie90CfHQwAAW2QQgABt0mIMQMDIAA1KgKHSJsAE1GCobBcnSfJJMKWMQNk7IxJgxN4PHRDTCCFC0KMDD3gMbCQTGfDCNMYjAlIxZw1hVkTzSGirxvN8H2fNJH0IAAzZwSCgKh2K4qhOMIKBCEvLiZGcMgIHkBISBSCQAGtWQouz62o2iXIY98mPcsBPJ8vyAo4zjgtC8LIvQZwEASiQ8GQUUyjUuCx2ULETGldRyTuewDKwn4U38PQdEmczLKCQ9KPszLnPoxjmI87zfM-EqgpCsKIpC6qyAKx9mLETjGq8p9WNNNK6zZJy6NcvKdCWorVsCsqNsq7aarqhqmuEFrRzFdrEM6loeuVfqjMGyVczwgjOgsiwSKm9Krqy+bcuYtjSoMLzkFvCByCEkTxJYfIZMA38mCkmS5IMJtcl+9F-vqW5-kVTx5UMcxDOw2x7jG2GJus8jbMuhzzzm27FoK5a-OYI7CFY9gvPQNbOKx5AYri9ZEpS87hcjUXruyhb8sKlaoFljiFaVlW1dq4hEq+i5mpRBNWsZrELEecYCL6W4Ocw8GhleWxofG+GrMRkXZpunK3PuqXHvNuWreV561d2x99ufQ7jtO3Xa316OjbRk3pc-C35cV1PMexu2Hcap2fpdkcGeTEYvZsPpfb6zmBqDiYxj5ojw8msimWmjLT0N1G48ICBOPZKh8ioZgmB-dgV-oVt6aTBC5Q1N0LBedRfd8SxsO6rxUKnARc3lGx5jHi7C6nziJDC4hzQYAVGGoWMaC4BQPkdAKA7w0gDEsbQ8Kggss8E+HQSSDXlH6EE7g8SeEnBZA8T89ZUVfu-Eg5p6C5AoJ2bsNAADSVAJKQTjM3WCf1kzOlePoNc+ozABjsEuQatwLL6D0F3N0jxnQjEji-Ryb8P6JHnuQWhPJezZAABJAVAjeDgG9V7b3oepNqTMqReHeDqTwPh3gjHzDwncuhVyLiPsgkI1gxF4IkQQ4g0iF5kHbDGZeEEYx0JOAw1uCF2bpjdNYXoa53CBG9LqAwOhgjGE8H0fUeh-CtEcTNfBUi57uNyAOASuR2DMCoIwLejAuw9n7BQIc2i3bJiaCwgI7dgy6kCOYoY2l1AtBCJ8Vc8oCKhhwQXJxCRJEkDceyLkPJMhASUWU8hVDVI1MYQhIwegvC2BLAI4EjxtLehGHw7S3QiQ0hBBs9Jk9nFZJkV-Zeq85kVMHIwbADBFGsGqf4nR7sUyGBdPhSUt9SzkgIns4IzQBGPHlPqI+wJwiDKPBky5YzsmL1uWQh5VSnkvLeUcD5tSEJaElOMCYJgOi2BBOoPZoS8IpPsLqJU25zlXVGa45FNzN73L7I8559BXlDgMLi5Zml9TyjwrqUsntDJym4UMfozoARWBCJYX2U5BbjyRgbZl4ydDSCgMQXsMhMD8mQLAWAKVop-iyDQZR5TKHUJ8VBMBujEAn38HE+UntyTOjeE0bC3Rmj+BzDqSwJZsE2SGQikZLitU6r1Qao1JqzVkBArkZgFDHVfM6CKuUvgUlUkMOfCGfqHg2F1B0OlaS4UTyZVG5F2rQqxqwPG01YBoo2oWYwdgHZGA0AFPyVsXB3m2kCZpV4wRvArleAI+GrwBgQ0lFfPQoI9xmOJJORlGqa0yPzjQPAj4wBgE-ha9IVqOXtrkemphY0AQfAmNod4hlEFBzdCNKkh9uiGFxKq5+wydCatrdCHde6D1kDbXaztTAe38j7aQqgg7XaCoBtfe4K47i4gIrqYM2FAi6DhgEMw1iBB6HXdRP9W69pPjIEek9oGaG+Ogks4dAMtyxMwdpWl8NyTYW0H6SwG5u7+G6HKYjmSkVkczhRmjHau2QegwOi9KzgSdISS8N4xEZ0XypC0P5NIT50iCI-MN8KLmRqkcy7AYAsASAgDQMAC8TzyDZXcm1lS4Mt13ppNowJRqewIvOUsZg9mKliV3Nm2l4aKmdMJxFrizMWcwFZmzdnRRJpTWmhj7mIH3vGJYFJ6o0wvD2V3Tp7RX0zFQgySt6qSNRr3egTyYAUh+RoMgTi6ANZrDqjrNVUcROuNq-Vxrn5mutbrvVBu8hnYCsY-UTzfo0zztsGW4wezJxeBLfUoIxh9T4SiyZsZ-XCANaay1tr5Hs5HXQCdR8Z1uviL231izA3jsjc+uN4gk2h0ZZm-0dMgRbj2MVKWWdQxDDNH6OgqcLxtK7d-TW3iGAm1nifBAFLqb5MeZPs0V4I8wmbe9GmTprNbhrhOcgmHf74foER8j1HaabTwem4gJoZhqX9G0B0nL0SoGKs9d1AIBFYWGarRurJlPqePhR2wbA-Jl5cEYJ4zk3iLRTPo1Nr7TPFTNBzKWDpsqRh7MJHhOkHRbhHzFQZoW4bjOw9F3xKnxrYBI4l4JYSolaMOvS+AmbMTvZNGBLmZTFLBp2F5lSeGSStBdE0OTqND0zb5Bce1+K9tkqpVwRGm3Yy49+QTx-UbjsJtNzV17xAa4-CjVTM6QI+EQjA8QL4Zot85TagD57C3t2f2auz5+XPhDYodZT1179Geu8J3jy4-Pb3mr07cyXhAXcfDeG6CEUs+oC1DCPmMFJW2Um30MVSGPUju9QF75-fvyftZp6t9Wo-Y+c8T9e99IQfB+WfbnwvsYNJgzdT8MENpWJV8ARyQ7BuojACID9Ksetot45TZ78P4k8tZU984jMb8s878e8H8U8C93sfp1Bi8nV58nhssCdyVeg+4sRmZ9BV13BupDA29D80DYCMD4CzsdAc5Ls84O8R9Y90CT9MD64n90cIE1xmg8QSxJgRgpwg8hg1xP8vhSw1lb5-BjAGDXFYBUA8A8A4BYAvJUBOJT9KAqAmxERlEU0ikewSlWAqFVc38CDtB-l5UT5fBiQkl8JvQUkxh+cNxg5ZgzBVDtUJAlYzxkA9104fw-wAJu1ewWA3lShPcCDfBeg8Jtxt9Og1kolBo-sdAmhF1vUdw6QLJ-DYBAj0BgjQjsYyBeQ6BGBFESEBxewSFikaY6Z4ivk7gNwAQYk1lFwpxH1S8BE4lEiSxtxTcOgiiSiyiwB05k00dWjkwbB+gWgcw9xgw4Z9R3CwkHgT5q9ehuhPZBdLcUCRdGCy4oA1ZcZyBz9ECh909rdR8mCzjsYLjJ9BC5iEI7BDAHg+k9xekIUNj1lWg-8PBtwIChcqtesYDTjzirNLjNZOsr8jjqtb8HjoS8YXjG5n8Z8Al1cEAaRtB9BPhpgQ1yCEATARoBF-BZVYZJh29h87ieCUSniYSM4s42CLsrsbs6TUDXFj9USwB0TC9n83jNJEjkN25txtIXgPB8cdRsjgRn1SwqQQRQ1DjhckSxlMAQiIBJj04qjikaBWAmx6AGjqBGBmihD6h2jeYkkeYBdZxvRJTNQtsSxVxu4LB-DNSJcdSKiCY3cajojcheQeULT69iRG8dlSC0wj5vQdw-QJgisPhQRQQQQDiuD6SpFPTtSQipiKiZi0t8Cvku5zBRUjAJhj4pxpVnV4ZoF-B8IttLBaz-DSAzwBwjstDvwOAIjAIBwqABJ0gikYieyQzcS3ReZPgqRxVhEudOl2Y1829Yz3TIC7tM9XFmzWzGt2zEQqB2ABxBy4iCzkwj5izYzF1ghsR-9EJkzvNgwUlm8NxCN-Dj8LiED4TkC1SISnyYSBScChSDyEIekvBNtVxnQfMSSpS4lQQUkpwu5PYpxHzeDnzWD2COS3zwToDPy0TH8MThyNwUl9AJVzBUI6RUIVt9QHg8QNxYF99-C91YAD0IAZZ5AvJCBrs3sVYXzB8ET3zoDaL6LGLiBmLWLRQVZvyPsGccT4ZNiqQtBiJvDOg9kpUAQVxehATgw10lzO8o0MYuJ04tydy9zhyp1pQgdJwScnC+jEIpR5VQR95kk3R-DtLVYfTXciZKZZIzTaZDK0w-RCNb5gQEk2grAQVPh8LCTArSxEkHK05czUthzzAWcSwbB9iPhkEDdQQliepPBgxPAiMNLuDkTTibYKirjXy0zuTITE4irkBRKi9bCvkrBdRNRAVMJjkVQsRttxgTc6Qky9wAh4KHiqqWSDp2TOCuTjieTeCqqarfy6rkxq8Roj57AtBLAuFKzEJKDF0JgaDCNOgGU8r0z9s4A+KnpSpnySrOLUKoD7sdBeLiAGKTquJnisLBTDK7hdBHg-YfA74CseFD5xga89NJTtIHF9ryrj9FEzxcglgOLL9Lrlz7jTiIaoasBpqcKVw4zcxggkkft3AYyWcFi9xejtJVl+rEbIbobzrYayrxqKqzYkalhUasTPlkw6Uxgdw7gQQFCmg1rnR7gCaCIehARcqwSrqVzaa-J6asAhrztc5rs4bNKCrE5JbMBUbhSAYG8UFNxvUJgSxpCmcEk8IQRtBaztxdr-CvILNYQoAmwnwYABxGp1ZKakDqb1TXELb0ArabbHw7aHbVa-yhUAxQqd9iQbBYZ3CQhsi-MQ0oK3hzbLbVhrbbawB7b0B1YkKRq5aXaIT3bPak6U7qrnqfzhznRNMrBicJDcwBEHS3QgDcjuhuqIrSbE5OQJB34F4DCnabjr8abj8W626wBT8-bZqEI1wVwHgOgBEpS1x3hKU1lvY5QjFPAdxcwm6zY+6oB27E907ZbOTbiwbeD17N689C6xLZ8CCCJAhRpdbBN6QgrfqiR9BbgZ0Fwj5aS96aaoBW6N6B7E9O6uK0LrrP7+7B6T7arxL39Ek4kUNrFcwQ6DckkWhVxm8ZK8MVDQaP6v6j6+84SLqs7oCgHv6QGsCp8foma8VNJ8JyRvA3g9w9ikkjkQUj4HggVDBvVDAjB-CCGsHP5t6ODM6xrXadAuGf7j7iHXj-aIF9M4lfY-V+NHgQViR9BLAOg74gQkkaLHtDtBtzY908ZiBZAWsKBmAKAYbnaBGISDsjty5dGD0DHOIjGKAh7wHz6iDiQQRNrCMyU9laHx00wP195bANG6stGZYbH9HCBDHjHpa2Sd75b8rDrgmrGdHIBbGIn7HjGnGz6vkwkKRctsbJ6y09lF1OlCMQtCT2G7gij61QmUnwnImTGqNrV5k7Vz01aZterRoBNeb-APA68UxyQr5nD+klVSUqndUam9G7GHHadhz-LmgmhMFUJsQElvGcwtidR3hBNpLhbVSAGxaY0JnUn6mZmyGEN6gkkkighaGLmj5b49kzAwVOgT5fZlQZKxniBDm6n0mTHJNwNu1e1+1YNZnJgwU6RuaQXtw+nbhtxOnyQKLVMVS8HrqDnrHampmonfnpMAWYMhxTnGd59PBeYYF8QTIggoX4yiU4W8xJhbFV6-IKAwAwpYB0ACp+RUBLwQo8AKEW1mAwm7HTGu7ESPzeCGWmWWXHw2WOXCAuWeW+W0nMnsS58eYDF80bB3g6QtBjINQiQJTJ6KxHg6XPxRXCBmXWX2XOXuXnBeW0W0mBX-7RaEbE5jXTWJXzXpXLXrXJn5XQHMSJHvcNQy1IU-HlVjIdI9QyWRnXg37u7BHj9nXxXJWLXZWbWWs7W4mDqJqHj42zWpWZWrW5WWtUbX9nHsmzBB4FiySPAdwLysb7grBVrCMttDWoBs3XXc2PWC3OI02kWxa43GWTWE23W83PWjnOJUa8Dh6KHG3stRzjF1W9aUx5QvAFDWZiR4Z9Rm3W3E33Xk2vXU3eGUKe3HWzYt2h2O2U2x2fXhzQl7h+ltIiR6GklfVuhpGQSRjtw-Bo2hX0KRX+2XXt3h3O3onkLRr37Y3f2xWc2k382L3Ga-WqztIAQ1xFQTA6QTBA4PYI62gwXLAbKOgv3uKEg91IPnxWUrVWBojAFsAaAnk3kChgWx0ekQsdwF62qfQ-LpHFQVUrAQ7FyRblziOB2Cpxkv59K-5j16AKBcgcgOBJJpJZJr2rnvAyCixBE-dlw6y4lWhJTJgPCYdBOXWRPcl8lClilSlnNBxZn3BdB0j67UI-s+mbhuolN0P+hcwj5g59O-3xWRO5EZkeUVEwJ15N4tF4PEJfAt8CRAUaQb1CtcIYFP3JwpQu4vOSOROkQf5xOAFhJgFhJr3AhpRekfBTKZgLKbhbFvBQggxZwPho90HqIDOfPWUFdvFWmwvT5itAhDBdxH3lwdNsi9wBEsFg53hUuhPnxxXWJYBsArNU3mBoxqiqOaPsA6P8hr3PgRp8Jgw2hZU4W+u+Fb6CJQCgg+r6up5GvhO6K7ripnpu3zHHILvnwrv7r-JnoFXmaR6sspRHgRDR7HO5RSwr7rP5T9QDQzuHvvPLvjrXvSpgOM7d6Y3zvIenvoeRKr22mmdsaUJc0aVcR-u1lpQzdLFn1uu+PdnRbHuWJnoBIWs543sXdCYJI3K1uMeEAdb-VTF6RoWLybhFRkMAxMadQb0yee3KfHKaeQoIB6e8yrOXhI7rFgw3hK6NPiz5sBmcItsIRweiPkeqfSoJe6fks9Ldy2AhzWepxF1xh4ZbhPNcwVxlwUlb3vK-GjyCO9nKfj92K-702roPfJq3v0ewuLJEP7OKzHfZhlxFeZQfBAQlePAxvDPPfbvvfRfdek-So4PJ2AZNc-R9Eu4RDtx4Y+vCNEHPgyn9lAntebq0--fYeU-7ude0v0+uIi2g-UMARGku5dOwkyuVw9xi0Nwy0zI8ME+fPm+u2D3QPEeIem-a+W-A+s-6hA1RCelt9bE1wNOKRfLtAUqb5Y6q-Kfd0wBGowBxdJdWBpdZdiksvJPpP0gOBDLdqkPHgTI6y3Rlw+fsifulqdRre3eKfdeR-E-mf1pyWFGA6QAcMvEMr2Fa6KqOdnxgLAeBFQo0UsKgkWp+VR+wnIASyxAEy9Wei6T4n4CfqEZGkdzQaGqBIHeBJQX1LcEeRBr8cf0h-CQKxEOgWZ6W3nR8PT3r5gckeaXV8CwIXiyAjWHAt7O93IYAxOEynAWiQPHLLZyBOyUQj9zpCrhdwWgTAc+H4GsChBLbEQclkn78MeBM-cbi+GYFaD2BYrTgaKDEFnNEAU6EaL0C2xfAEkIJSPiHADwrgFwdwCtAwIzyU9UAdFR8NaxP4o5qAxhWgKYWYDmEaOW8awsOU9jIQ0OFkW+MRX8CR9tWJgZdGGSnTqDq+z3cwQO0sEXAveODKmg32r5pdbqL3eNoUPkBo8xG2Fc3rIS-5INFQQQW4B-0apP1nCkoQipKByHCMO6JQsxoYMb7GCBh-BMbOI0X6IAtqYwXaskj5xV5I+wYahqZR3AJJb47gfoZgxEbYMB8pQkYeULGE7CiGAhbCnixxITBuoo0fCGslaAzgAs8gulN5klCZhQ+3QbYcAy3riYZafDBHt+1GGGdxhojM4S9XN5pFEGjvGGIkQw7DA0wzQHUNslMRud1KPg63JT0sbaNIhJjbgdP0BE+dMRMsDJgvxLbzFgKeEVoL5UBzZUCw2uJfDOnviTh7AOQwkeXCib6D-hhHI4YZ1ZHmxiR9QsEUHx8zeAqQYLMEKuDkGqgNucSGdLlheBl80GaI33rrzfgNROI2ImgPWkoy7BqMzTCSDfzy6s9uoW2IAnYB6S6gw8bHRoJ0hvI3pVwnjJ0DkNVEtYNRWozFhBmxZyZWeqEOXkkihz2ItAhgAsB8CUwggaQ5ISGKdyVEGxKezo9UcY01G6oQMeoqTB6KgyAtcWYXH0fcFyIxdnCHxAsCIQBBr574bwQHHV2jENcVRY2eMRQETGfw8BYXY0TaPfTmj3gnOcgZ0BYzUD8MNXR0Qf2rFqiHG9Y7UZaiaY9h20gZYMkaJDSdN5RYZbDl3EQEEQoG1AuwDAkMj0DyeAnQcfUxHF5kwBEAqAUaNBAtizRq-S0RpzZrmi6QfY0EtuMYG69gi5wT8F7WmYAISEaKW1O7j8TTCEAxohdMsQDxvBnQ2EaUNsjNH+BCaodHIXkM-AAcR2XzO7ocMp5wSoACEzttYPxZ2CWghNSkcqC2wFhws2RTZn9zQ7AhYJ0PDCRezh6xNU+aXNCdRL3aXsBRRdVnsoMbwhBPYrwq5jzynR4QrA+kHcPcK-QoTdej3czJZmsy2ZcoFwRzF+JcxxV5sV9W9N1DJRWjHgAxV0tpyLKnxFRD43weJOR6ST4s0kpLHJI-GkJT0dqA0aAnYnmBc+fgT4CuA+BTplwUKSkHsUcEvAz4LI4yXFgSwyT7MDY2KuxN-x4RZCIFXpnSHclQxF0xIR4EujeA7N6Jxg3kdM1xEAjuRBIzRkkwcZYScSgQGwN4F8AR4PgJkAsO2IBCT1tQkOEsKJLxHZThO6U9kT8JiZ-CfeMYoyYk20b5SSRWTOarekpB78eh+mYMXKltG9iHR941KYZzQnI1DUQ7RCfy0ylcjUJ0PBaUxNHYFS588Q9MCFmDC0MCe-3ZQhFM6BOTQQIhf-juIYkbSlgW0pCRyM6lVjbp13T8JtKWmYT+pirBIpIQBD6R5RmyKkMuASlQM2cRUxdEEC3E9srsn9e3CaidwQB0u25E3rEWgGiEIxklAINCk0CID8O49FcPAm0CkoUpZQ2GRIHhmO5kcInLcgpMs7m8SwcpO4DIw+o64+ulvXop+3CweBoZZM22hTLP7apoeZ1IYYKy5HkzKZiMoWW9PNhflvpH3TSBPViRygyyFvdGjzwJAQV50E6GlKmT5ne0BZDuKWWhMQptSQOBgxqRLMFkmy5ZrE0+j9PqqLFccVgAMEGhnqdjJwXUW+PuHyz849Zhwq2UbOpnNkQB4Rf8IBAs5VJXqcwnNCfDvh3weekhLwAvj0zPBsMIvfWXDOtnIBtGIA1aXs0DkIzqZsAHOX5DP47S7CxorpF3C2QiICUkfKcNIx1AWQ2gWoJoDDkLlUyJc2qUufBKDnO4npMM-mZLOLm9z0J-ciABXLaIrD5RuIScJgknAO85efOZUr0QSSIsyhpGBeLDjVFNozUI4xptZJ-E2FSR+KfiahBCCoR4h9gSYNzGQHggPA3hEOqTMOFbzI0u8h3PvK1GNi-xgJewf4DtLmBtAhEiGK+n+lFY3guII+P4VrRxi95LaEce6P+bpicWxdN0LoCPiPAek-mYnFhl8D-UuESEcFrzNfmbpt5AGI-sBiRAxEdyewDgAUD5DpAj5xdUEGDjQRqTQCaRbCCWhaBrJ6ku1TfBvLElpc4xw4rUXqSATGMqA0nYpGYVYC8hOAjAECEGVTH2pfxp8oVG3n9AYZhi86cwERN9j-SA0+iHmNAoHFpcxAn85NsEJAgYB2AFMhaaky+iQBQBpSI8fuT-G2BFGhfathPXWEFgOESjX2FjQ+qmIIgZEYgDCXgAVAuCf4jQMvLaBrIux9dcJMuPeD8JwxboccuVnORJBRYcSpZko1Wz2cHBAQRAX4B8oNUngwIJyS-LxGeKmgTM2BLSCLBlc-8L6FOa8BiQ2AYcKMCWI+D-ESl5mn6eBGfBraXTNQHwZKWYG6gUSq+fS2OHdFfCLK-Igyo7uPXvg9wA43MQHmZH5gjwGpWUhZcbD15cQeIduNZQgzZiV1-YXMCGK4SvphwEY8y8WIsslgDVno5UTaFVCGADS946y65aDF7iwjcwdIUOPsueWVip4xykuKcqco4wYSlyzpICq2V3Kg4aYZdtCLhiQqDJ1uGFXHCfLJwq4VVJFRspuVgwwJaYcFcPBxU9t8Vd0RyvREEqsRIApKlFbcpJJaAAgjyiFRHBeUxwTlyKS5YVzFRtBW5tBEFSME6SBjFeuabqFYFUJ-jIYI0ZTJOjUxLiIYFIX2EgwpIbgNwWvKFdASFUaLEMnmcdCpinRksoWt5aGGfFw758dsVfN+XWl1T6pG0Vi35Q7OTCrJlZNlcEFcKzD3M5enNIsOhyNowKt0FCoDP9AVmIZ8QVBbNLYFYbyMIYPCxLmEnlAmJJgEa7eWdiVVqVqU2OekCkrWruBiyFkZhBq3BBCLGpmqWLFJMSyyS2osambDhDlKNJ9EkpNjgvViQcII24BIkBnNIVSJeRw2dAJ4rL4oCsE+Ee9iAplR75cJNICLLhW1AwKxcE8zxWsmTmUVOgzc2CvjjuBX16paRCKhwydUMlTip+P8TCj9D2BEis4Q6a8HxyMyTAwxAXEGB6XnqpE6hTQtoV0L6EXEgy2+IvgJSm172rQBdvSHwp3AqQRIZJMSHGJBFsyasP8V0BzGTBR0sDfxTwjeDFhMwHxQFK8ArG4r96jJBFXjFQ2JlBie4HLClU9juEPAcpJVAvjlD+APSWpb0sgD-F9QXQowAKpuFXAxkBi8ZTcEbTTAfCv1YyNcm2TACobw8DwMuuYEjyHSVsJfINJfFXRaA-AzbC4n+NLTSgjuoyyuiEGiRj10MKSQkOFgfKSaHsNsgSixXYjCVnoemnav9REJ4YLea1RJLn22yij8OLpKKjXC40mrLSFLPwN13vRl5JR7VL2O+trJlr7OzbElSFvrwB4bhimIXs4NhEfscMKjTHPhByr+za1NWI6jLJVi6aUtpJSFPhXALh54pXm71PoFXmJSP8Q64rYrTprk0sAlG4qZ0E2wECZwsIljvPWDbEh1hcdD2gnS9o+1U6v87KvPX6SQsSwF5RTJqCMDrCTElfQ1ddV7onDANlWslPcF2pC9UOG3KFm6EJxLpC+aCQxJwz20fxr1MlYtEYGUphifuClRmR4OPVC8G8QTJ7Ki2YkONPFgJf6jtW6QRiF25dSEf4zXDJTrpCtMZCi2SaA7jG162kFfQ+LYhZC0W8LkkUrboLhErGzdsjwA7ntmJnilcMWDQ64d-kngLjA-WZi1Tg0fhcxeNyVXod-q2YcTewg1k-4tiqEMMfaJ8BFasplPY1X8qnZvB+EHnV9Y7yXnTg45nsJdW0JyGTdpus3TiGjprqTB55z6X2D6k7HbhCct40AsTTMXbampKPMrc5oO0PL+gUwF4HejcLyDoKSjHvpCkVTQ5WdhncXrTyl4ZYW1peEPO2oVAZCxV-3NVvwnVZA5YGoib3WPzn6a7KtarT-AVyJCTpWYDvW+EpQcG2ItNgQHIdgNP4brKtBAhEQoVmUJIBEGkz-qOWQ5nwyU8OwyXwNMGCD8hzLGoTGvEGWkQJ2RKvEVg20R7kBde8wNJX3iHK1puvfwQVCCEssIAqG1BE6WebuASK8g1odkXELbZf8vgCfe7yMloTqhbFG3RLoBjykXQ7wDWoYG6CwibgMGuJBuHqS9DFqnwwhvtpP3nMa815UURWUwTF9P8D7BkYOv0mzScpPUokRQD-Fcdl2ZbekDQX1zkCcwyKyer1W0i9Bd9AAkRTWNdG6p81jMiyFzrg1XyCwEG4se8Cmmbim96I3cd83rG4GcMyU+9r-h8DlKuorc7NPDAtEKr49wnZ8doLfGo7KtmaegwQaYN8TmgUZS+YCHcadBKJMsh6XY2409Dr0i6GGD2KtHwwt8YqnLDmC67oGbpaU-yQ2qCkB7u9MwpKtkUlCQ42hbwDTl3BlH2I-+nQXUH5LANGsBD7+2wewmII5gMMvNRzjrQG4zAjdvgB-bIZe4fTc2y0tJqhvBydVEDy1e3QuxuDBArEfuH2FOnj5V9O5iMidbEgvrNLWZxIRAdMArwzrrOW6sHhbuyPUzxdXqz7oPFg3zYd9TzPGWOk8CEzhoeJSg1dGqPdybZFGyrU7qvq0FZgv-SUK0bBTezTcKmIXh3OHmCzXweMGzPo0GWzh-qyhMJCEAESLzDdhKU8vKFXQpUUkcxg2SPO7khyS9HhtniMHGB0Nu4Ks4IA3NiQhHF0bOQjBOhONZyJ5Pc3OZcbqOKykuUDHUFth1DudgZ8g5SS8fJAyMCeehn9L0aRmWKi5EuZrGkHn2DGa5pB2lB9UDRJHJCvyIXkBKrA5r35LWeBc4FoOVbCQgFbSODg6ToZuFHwTpkYBUwA81kOQpE82hg42K7FDipYE4uCFZ8mIYgNQGW1GiO9aURtbGU4AXhKwmcE5R+vpDQ4TonAl4CmUxFYiimQQ4p4aOh1pAZFPIUATAOOoQA+wbOSs5Uz9TPBzxutiEEEE4EwBgBQoxppnOYhmwKmklHMfTTfrFOEZdTYITSYuQiBAA */
31
32
  id: 'authMachine',
32
33
  predictableActionArguments: true,
33
34
  tsTypes: {},
@@ -73,6 +74,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
73
74
  googleOtpCode: () => undefined,
74
75
  googleUser: () => undefined,
75
76
  registerUser: () => undefined,
77
+ socialProviderRegisterUser: () => undefined,
76
78
  salt: () => undefined,
77
79
  sessionId: () => undefined,
78
80
  }),
@@ -130,7 +132,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
130
132
  states: {
131
133
  idle: {
132
134
  states: {
133
- localPasskeySign: {
135
+ signWithPasskey: {
134
136
  on: {
135
137
  FINISH_PASSKEY_LOGIN: '#authMachine.active.login.verifyingRegisterPublicKeyCredential',
136
138
  BACK: '#authMachine.active.login.idle.error',
@@ -142,23 +144,22 @@ exports.authMachine = (0, xstate_1.createMachine)({
142
144
  },
143
145
  },
144
146
  },
145
- signWithPasskey: {
147
+ authScreen: {
146
148
  on: {
147
149
  FINISH_PASSKEY_LOGIN: '#authMachine.active.login.verifyingRegisterPublicKeyCredential',
148
- BACK: '#authMachine.active.login.idle.error',
149
150
  PASSKEY_NOT_SUPPORTED: {
150
151
  target: '#authMachine.active.login.idle.authScreen',
151
152
  actions: (0, xstate_1.assign)({
152
153
  error: (_, event) => event.payload.error,
153
154
  }),
154
155
  },
155
- },
156
- },
157
- authScreen: {
158
- on: {
159
156
  SET_CONDITIONAL_UI_PASSKEY: {
160
157
  target: '#authMachine.active.login.idle.localPasskeySign',
161
158
  },
159
+ },
160
+ },
161
+ error: {
162
+ on: {
162
163
  FINISH_PASSKEY_LOGIN: '#authMachine.active.login.verifyingRegisterPublicKeyCredential',
163
164
  PASSKEY_NOT_SUPPORTED: {
164
165
  target: '#authMachine.active.login.idle.authScreen',
@@ -168,15 +169,16 @@ exports.authMachine = (0, xstate_1.createMachine)({
168
169
  },
169
170
  },
170
171
  },
171
- error: {
172
+ localPasskeySign: {
172
173
  on: {
173
- FINISH_PASSKEY_LOGIN: '#authMachine.active.login.verifyingRegisterPublicKeyCredential',
174
174
  PASSKEY_NOT_SUPPORTED: {
175
175
  target: '#authMachine.active.login.idle.authScreen',
176
176
  actions: (0, xstate_1.assign)({
177
177
  error: (_, event) => event.payload.error,
178
178
  }),
179
179
  },
180
+ BACK: '#authMachine.active.login.idle.error',
181
+ FINISH_PASSKEY_LOGIN: '#authMachine.active.login.verifyingRegisterPublicKeyCredential',
180
182
  },
181
183
  },
182
184
  },
@@ -193,6 +195,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
193
195
  googleOtpCode: () => undefined,
194
196
  googleUser: () => undefined,
195
197
  registerUser: () => undefined,
198
+ socialProviderRegisterUser: () => undefined,
196
199
  sessionId: () => undefined,
197
200
  CCRPublicKey: () => undefined,
198
201
  RCRPublicKey: () => undefined,
@@ -218,6 +221,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
218
221
  actions: (0, xstate_1.assign)({
219
222
  googleUser: () => undefined,
220
223
  registerUser: () => undefined,
224
+ socialProviderRegisterUser: () => undefined,
221
225
  error: () => undefined,
222
226
  }),
223
227
  },
@@ -251,6 +255,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
251
255
  actions: (0, xstate_1.assign)({
252
256
  googleUser: () => undefined,
253
257
  registerUser: () => undefined,
258
+ socialProviderRegisterUser: () => undefined,
254
259
  error: () => undefined,
255
260
  }),
256
261
  cond: 'isPasskeyEnabled',
@@ -304,6 +309,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
304
309
  entry: (0, xstate_1.assign)({
305
310
  googleUser: () => undefined,
306
311
  registerUser: () => undefined,
312
+ socialProviderRegisterUser: () => undefined,
307
313
  }),
308
314
  on: {
309
315
  REFRESH_ACCESS_TOKEN: {
@@ -491,7 +497,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
491
497
  {
492
498
  target: 'idle',
493
499
  actions: (0, xstate_1.assign)({
494
- registerUser: (_, event) => { var _a; return (_a = event.data) === null || _a === void 0 ? void 0 : _a.registerUser; },
500
+ socialProviderRegisterUser: (_, event) => { var _a; return (_a = event.data) === null || _a === void 0 ? void 0 : _a.socialProviderRegisterUser; },
495
501
  }),
496
502
  cond: 'isNewUser',
497
503
  },
@@ -515,6 +521,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
515
521
  entry: (0, xstate_1.assign)({
516
522
  googleUser: () => undefined,
517
523
  registerUser: () => undefined,
524
+ socialProviderRegisterUser: () => undefined,
518
525
  }),
519
526
  },
520
527
  retrievingCredentialRCR: {
@@ -628,6 +635,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
628
635
  googleOtpCode: () => undefined,
629
636
  googleUser: () => undefined,
630
637
  registerUser: () => undefined,
638
+ socialProviderRegisterUser: () => undefined,
631
639
  }),
632
640
  },
633
641
  ADVANCE_TO_PASSWORD: 'createPassword',
@@ -719,11 +727,12 @@ exports.authMachine = (0, xstate_1.createMachine)({
719
727
  actions: (0, xstate_1.assign)({
720
728
  googleUser: () => undefined,
721
729
  registerUser: () => undefined,
730
+ socialProviderRegisterUser: () => undefined,
722
731
  error: () => undefined,
723
732
  }),
724
733
  },
725
734
  BACK: {
726
- target: 'emailValidation',
735
+ target: '#authMachine.active.login',
727
736
  actions: (0, xstate_1.assign)({
728
737
  error: () => undefined,
729
738
  }),
@@ -750,6 +759,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
750
759
  entry: (0, xstate_1.assign)({
751
760
  googleUser: () => undefined,
752
761
  registerUser: () => undefined,
762
+ socialProviderRegisterUser: () => undefined,
753
763
  }),
754
764
  on: {
755
765
  REFRESH_ACCESS_TOKEN: {
@@ -801,6 +811,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
801
811
  entry: (0, xstate_1.assign)({
802
812
  googleUser: () => undefined,
803
813
  registerUser: () => undefined,
814
+ socialProviderRegisterUser: () => undefined,
804
815
  }),
805
816
  },
806
817
  retrievingCCR: {
@@ -847,6 +858,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
847
858
  on: {
848
859
  FINISH_PASSKEY_AUTH: '#authMachine.active.register.sendingAuthPublicCredential',
849
860
  BACK_TO_IDLE: '#authMachine.active.register.idle',
861
+ USER_CREATE_ACCOUNT_BUT_NOT_LOGIN: 'passkeyCreatedButNotAuthenticated',
850
862
  },
851
863
  },
852
864
  waitingForRCR: {
@@ -881,6 +893,7 @@ exports.authMachine = (0, xstate_1.createMachine)({
881
893
  actions: (0, xstate_1.assign)({
882
894
  googleUser: () => undefined,
883
895
  registerUser: () => undefined,
896
+ socialProviderRegisterUser: () => undefined,
884
897
  error: () => undefined,
885
898
  }),
886
899
  },
@@ -922,6 +935,11 @@ exports.authMachine = (0, xstate_1.createMachine)({
922
935
  },
923
936
  },
924
937
  },
938
+ passkeyCreatedButNotAuthenticated: {
939
+ on: {
940
+ BACK_TO_IDLE: 'idle',
941
+ },
942
+ },
925
943
  },
926
944
  initial: 'idle',
927
945
  entry: (0, xstate_1.assign)({
@@ -1210,6 +1228,7 @@ const authService = (services, context) => {
1210
1228
  error: () => undefined,
1211
1229
  active2fa: () => undefined,
1212
1230
  registerUser: () => undefined,
1231
+ socialProviderRegisterUser: () => undefined,
1213
1232
  googleOtpCode: () => undefined,
1214
1233
  googleUser: () => undefined,
1215
1234
  sessionUser: () => undefined,
@@ -1223,6 +1242,7 @@ const authService = (services, context) => {
1223
1242
  .onTransition((state) => {
1224
1243
  const shouldUpdate = state.changed &&
1225
1244
  (state.matches('inactive') ||
1245
+ state.matches('active.login.idle') ||
1226
1246
  state.matches('active.register.userCreated') ||
1227
1247
  state.matches('active.login.successfulLogin') ||
1228
1248
  state.matches('active.web3Connector.emailConfirmed') ||