lpw
2026-07-16 003f651e16d763171a0b8255ec2df8edf94c7efb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
✨)8,@­ð
¤P ¬P
¿@
¯0
¿ 
¬ð
£°
A²ÐŒÂ+¸-ÈÂ+°Â/ˆ+¼Â(¬ÂC´B)ÐB(B(ÐB(<0B+¼)Ô+”Â/¸B(´B)<-„‚,œB)ÐÂA Í(¼B+´B)¸-ü‚(°Â+ŒÂ*<8)”Â(°Â/ŒÂ+´B+”‚+ÐÂ,<0Â)ÈÂ+Ô,ü‚+„B+”Â,    2x% ,Tj€À 0"D1P Å ´ Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)lFBSDKLoginKitÞx86_64-apple-ios13.1-macabi…x2 Jà×è˜ 3Kc:@M@FBSDKLoginKit@objc(cs)FBSDKTooltipView(im)initConvenience constructor/// Convenience constructor
 ta7qc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginButton(py)authType¢Gets or sets the login authorization type to use in the login request. Defaults to rerequest. Use nil to avoid requesting permissions that were previously denied.w/// Gets or sets the login authorization type to use in the login request. Defaults to `rerequest`. Use `nil` to avoid
8/// requesting permissions that were previously denied.
 
8+2Ac:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginManager[Use this class to perform a device login flow. The device login flow starts by requesting a code from the device login API. This class informs the delegate when this code is received. You should then present the code to the user to enter. In the meantime, this class polls the device login API periodically and informs the delegate of the results.Î/**
 Use this class to perform a device login flow.
 The device login flow starts by requesting a code from the device login API.
   This class informs the delegate when this code is received. You should then present the
   code to the user to enter. In the meantime, this class polls the device login API
   periodically and informs the delegate of the results.
 
 See [Facebook Device Login](https://developers.facebook.com/docs/facebook-login/for-devices).
 */fÂc(Ss:13FBSDKLoginKit20DirectRefreshSessionC‰Performs the direct (silent, headless) refresh of a Limited Login id_token by POSTing to /limited_login/refresh with a DPoP proof header.Z/// Performs the direct (silent, headless) refresh of a Limited Login id_token by POSTing
:/// to `/limited_login/refresh` with a DPoP proof header.
///
@/// Unlike `SilentAuthenticationSession`, this path never opens
X/// `ASWebAuthenticationSession` and never shows the Apple consent modal â€” the server
Z/// authenticates the caller via the DPoP-bound `cnf.jkt` claim in the existing id_token.
Š|ö,Ms:13FBSDKLoginKit24BackgroundRefreshManagerC?Manages automatic background refresh of Limited Login sessions.D/// Manages automatic background refresh of Limited Login sessions.
///
U/// This class observes `UIApplication.willEnterForegroundNotification` and triggers
:/// a DPoP-bound refresh of the Limited Login session if:
]/// - A Limited Login profile is active (Profile.current exists, AccessToken.current is nil)
(/// - An AuthenticationToken is present
@/// - Enough time has elapsed since the last background refresh
///
T/// The refresh runs via `.directOnly` (a DPoP-bound HTTPS POST with no UI). Tokens
P/// without a `cnf.jkt` binding fall through as `.notDPoPBound` and the manager
R/// makes no further attempt for that foreground; the next interactive login will
S/// mint a bound token and unblock subsequent foregrounds. The server-side feature
T/// flag (`FBSDKFeatureLimitedLoginRefresh`) is the kill switch â€” when off, every
7/// attempt returns `.featureDisabled` and is a no-op.
///
Q/// On success, `Profile.current` and `AuthenticationToken.current` are updated,
I/// which automatically posts `ProfileDidChange` via the Profile setter.
///
/// ## Thread Safety
3/// All mutable state is protected by an `NSLock`.
NÝ^5]s:13FBSDKLoginKit14LoginEndpointsO12dpopJktParamSSvpZ›Parameter name for the JWK Thumbprint (RFC 7638) of the device’s DPoP key, sent with Limited Login so the server can bind the issued id_token to the key.O/// Parameter name for the JWK Thumbprint (RFC 7638) of the device's DPoP key,
S/// sent with Limited Login so the server can bind the issued id_token to the key.
œ,./s:13FBSDKLoginKit12LoginManagerC5logIn11permissions14viewController10completionySay09FBSDKCoreB010PermissionOG_So06UIViewI0CSgyAA0C6ResultOcSgtF6Logs the user in or authorizes additional permissions.á/**
   Logs the user in or authorizes additional permissions.
 
   Use this method when asking for permissions. You should only ask for permissions when they
   are needed and the value should be explained to the user. You can inspect the result's `declinedPermissions` to also
   provide more information to the user if they decline permissions.
 
   This method will present a UI to the user. To reduce unnecessary app switching, you should typically check if
   `AccessToken.current` already contains the permissions you need. If it does, you probably
   do not need to call this method.
 
   You can only perform one login call at a time. Calling a login method before the completion handler is called
   on a previous login will result in an error.
 
   - parameter permissions: Array of read permissions. Default: `[.PublicProfile]`
   - parameter viewController: Optional view controller to present from. Default: topmost view controller.
   - parameter completion: Optional callback.
   */|ªWZc:@M@FBSDKLoginKit@objc(pl)FBSDKLoginTooltipViewDelegate(im)loginTooltipViewWillAppear:‰Tells the delegate the tooltip view will appear, specifically after it’s been added to the super view but before the fade in animation.¹/**
   Tells the delegate the tooltip view will appear, specifically after it's been
   added to the super view but before the fade in animation.
 
   @param view The tooltip view.
   */\˜EPic:@M@FBSDKLoginKit@E@FBSDKDeviceLoginError@FBSDKDeviceLoginErrorExcessivePolling&Your device is polling too frequently.+/// Your device is polling too frequently.
  g3ac:@M@FBSDKLoginKit@objc(pl)FBSDKLoginButtonDelegateA delegate for FBSDKLoginButton*/**
 A delegate for `FBSDKLoginButton`
 */@®‹YKc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:nonce:HAttempts to initialize a new configuration with the expected parameters.ë/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for a login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   @param nonce an optional nonce to use for the login attempt. A valid nonce must be a non-empty string without whitespace.
   Creation of the configuration will fail if the nonce is invalid.
   */ ÖJËcÚc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:messengerPageId:HAttempts to initialize a new configuration with the expected parameters.z/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for the login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   @param messengerPageId the associated page id  to use for a login attempt.
   */hv¯_c:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorConsentRequiredçThe user has revoked one or more permissions, or new permissions are being requested that were not previously granted. The user must complete a full login flow to grant the missing consent. Maps to OIDC error code consent_required.O/// The user has revoked one or more permissions, or new permissions are being
T/// requested that were not previously granted. The user must complete a full login
S/// flow to grant the missing consent. Maps to OIDC error code `consent_required`.
!Ò\…Fsc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManagerLoginResult(py)isCancelled+Whether the login was cancelled by the user0/// Whether the login was cancelled by the user
"X“>}c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(py)tracking/The tracking  preference. Defaults to .enabled.6/// The tracking  preference. Defaults to `.enabled`.
#rÏ¡0ìc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginTooltipViewiRepresents a tooltip to be displayed next to a Facebook login button to highlight features for new users.k/**
 Represents a tooltip to be displayed next to a Facebook login button
 to highlight features for new users.
 
 The `FBSDKLoginButton` may display this view automatically. If you do
 not use the `FBSDKLoginButton`, you can manually call one of the `present*` methods
 as appropriate and customize behavior via `FBSDKLoginTooltipViewDelegate` delegate.
 
 By default, the `FBSDKLoginTooltipView` is not added to the superview until it is
 determined the app has migrated to the new login experience. You can override this
 (e.g., to test the UI layout) by implementing the delegate or setting `forceDisplay` to YES.
 */&!P_ac:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorFeatureDisabledThe Limited Login Refresh feature is disabled by the FBSDKFeatureLimitedLoginRefresh server-side feature flag. The SDK is behaving as a kill switch â€” no refresh path will run while the flag is off. Not retryable; recovery requires the flag to be flipped on server-side.9/// The Limited Login Refresh feature is disabled by the
K/// `FBSDKFeatureLimitedLoginRefresh` server-side feature flag. The SDK is
R/// behaving as a kill switch â€” no refresh path will run while the flag is off.
L/// Not retryable; recovery requires the flag to be flipped on server-side.
&IBùc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(py)codeVerifierhThe code verifier used in the PKCE process. If not provided, a code verifier will be randomly generated.0/// The code verifier used in the PKCE process.
A/// If not provided, a code verifier will be randomly generated.
'Ü2á8Éc:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginManagerResultURepresents the results of the a device login flow. This is used by DeviceLoginManager\/// Represents the results of the a device login flow. This is used by `DeviceLoginManager`
($E?D¯c:@M@FBSDKLoginKit@E@FBSDKDefaultAudience@FBSDKDefaultAudienceOnlyMeIIndicates that only the user is able to see posts made by the applicationN/// Indicates that only the user is able to see posts made by the application
( íp?Ãs:So17FBSDKAppEventNamea13FBSDKLoginKitE16sessionAuthStartABvpZSUse to log the start of an auth request that cannot be fulfilled by the token cacheX/// Use to log the start of an auth request that cannot be fulfilled by the token cache
)2¨P6Oc:@M@FBSDKLoginKit@objc(cs)FBSDKTooltipView(py)messageGets or sets the message./// Gets or sets the message.
0ևž'ßc:@M@FBSDKLoginKit@E@FBSDKLoginTracking_enabled and limited see: https://developers.facebook.com/docs/facebook-login/ios/limited-login/h/// `enabled` and `limited` see: https://developers.facebook.com/docs/facebook-login/ios/limited-login/
1xÝlFc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginTooltipView(py)shouldForceDisplayxif set to YES, the view will always be displayed and the delegate’s loginTooltipView:shouldAppear: will NOT be called.ˆ/**
   if set to YES, the view will always be displayed and the delegate's
   `loginTooltipView:shouldAppear:` will NOT be called.
   */3h¶Ù(s:13FBSDKLoginKit3JWTO0Lightweight, validation-free JWT payload reader.5/// Lightweight, validation-free JWT payload reader.
///
N/// `AuthenticationTokenClaims.init?(encodedClaims:nonce:)` enforces the full
N/// OIDC validation contract on a token (issuer, audience, nonce match, `iat`
P/// within the last 10 minutes, etc.). That's the right behavior when accepting
O/// a freshly issued token, but it's the wrong tool when you only need to read
S/// a structural claim (e.g. `cnf.jkt`) from a possibly-stale token â€” the 10-min
L/// window will reject any token older than that, regardless of whether the
</// claim you care about has anything to do with freshness.
///
Z/// `JWT.payload(from:)` decodes the second segment of a JWT (`header.payload.signature`)
M/// from base64url to a `[String: Any]` dictionary. It performs no signature
P/// verification and no semantic validation â€” callers are responsible for any
./// validation appropriate to their use case.
8DÞGÑc:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginManagerResult(py)isCancelledZIndicates if the login was cancelled by the user, or if the device login code has expired._/// Indicates if the login was cancelled by the user, or if the device login code has expired.
;~2(%s:13FBSDKLoginKit17SilentAuthTimeoutO1Configuration for silent authentication timeouts.6/// Configuration for silent authentication timeouts.
?ŠRL‰c:@M@FBSDKLoginKit@E@FBSDKLoginError@FBSDKLoginErrorSystemAccountAppDisabled±The Accounts framework failed without returning an error, indicating the app’s slider in the iOS Facebook Settings (device Settings -> Facebook -> App Name) has been disabled.a/// The Accounts framework failed without returning an error, indicating the app's slider in the
W/// iOS Facebook Settings (device Settings -> Facebook -> App Name) has been disabled.
?R]—9;c:@M@FBSDKLoginKit@E@FBSDKAppSwitch@FBSDKAppSwitchEnabled‰Use app switch if the Facebook app is installed. This allows users to switch to the Facebook app for authentication. This is the default.5/// Use app switch if the Facebook app is installed.
]/// This allows users to switch to the Facebook app for authentication. This is the default.
?K¶5s:13FBSDKLoginKit24BackgroundRefreshManagerC5resetyyF9Resets all internal state. Useful for logout and testing.>/// Resets all internal state. Useful for logout and testing.
Bâoöeµc:@M@FBSDKLoginKit@objc(pl)FBSDKDeviceLoginManagerDelegate(im)deviceLoginManager:startedWithCodeInfo:ÄIndicates the device login flow has started. You should parse codeInfo to present the code to the user to enter. @param loginManager the login manager instance. @param codeInfo the code info data.Ù/**
   Indicates the device login flow has started. You should parse `codeInfo` to present the code to the user to enter.
   @param loginManager the login manager instance.
   @param codeInfo the code info data.
   */B”ÿÓ?{c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(py)appSwitch.The app switch behavior. Defaults to .enabled.5/// The app switch behavior. Defaults to `.enabled`.
DJWFGc:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginCodeInfo(py)verificationURLThe verification URL./// The verification URL.
F¦º°Zc:@M@FBSDKLoginKit@objc(pl)FBSDKLoginTooltipViewDelegate(im)loginTooltipViewWillNotAppear:\Tells the delegate the tooltip view will not appear (i.e., was not added to the super view).Ž/**
   Tells the delegate the tooltip view will not appear (i.e., was not
   added to the super view).
 
   @param view The tooltip view.
   */F†=Å>“c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginButton(py)messengerPageId;Gets or sets an optional page id to use for login attempts.@/// Gets or sets an optional page id to use for login attempts.
    GȐiJûs:13FBSDKLoginKit18RefreshRateLimiterC12dateProvider10Foundation4DateVycvpgProvides the current date. Defaults to Date.init. Tests inject a controllable closure to avoid sleep().8/// Provides the current date. Defaults to `Date.init`.
</// Tests inject a controllable closure to avoid `sleep()`.
GÛi$As:13FBSDKLoginKit16LoginResultBlockaLogin Result Block/// Login Result Block
KÔôà9-c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginCompletionParametersvInternal Type exposed to facilitate transition to Swift. API Subject to change or removal without warning. Do not use.Ÿ/**
 Internal Type exposed to facilitate transition to Swift.
 API Subject to change or removal without warning. Do not use.
 - Warning INTERNAL:  DO NOT USE
 
 Structured interface for accessing the parameters used to complete a log in request.
 If `authenticationTokenString` is non-`nil`, the authentication succeeded. If `error` is
 non-`nil` the request failed. If both are `nil`, the request was cancelled.
 */LRç"$£s:13FBSDKLoginKit16DeviceLoginErrorVCCustom error type for device login errors in the login error domainH/// Custom error type for device login errors in the login error domain
QîèB%Âs:13FBSDKLoginKit17LoginURLCompleterVŽExtracts the log in completion parameters from the parameters dictionary, which must contain the parsed result of the return URL query string./**
 Extracts the log in completion parameters from the parameters dictionary,
 which must contain the parsed result of the return URL query string.
 
 The  user_id key is first used to derive the User ID. If that fails,  signed_request
 is used.
 
 Completion occurs synchronously.
 */Qfç2§s:13FBSDKLoginKit13FBTooltipViewC14ArrowDirectionO#FBSDKTooltipViewArrowDirection enuml/**
   FBSDKTooltipViewArrowDirection enum
 
    Passed on construction to determine arrow orientation.
   */S¼¯ñAs:13FBSDKLoginKit21NativeAppLoginHandlerC013shouldAttemptcdE0SbyF2Determines if native app login should be attempted7/// Determines if native app login should be attempted
S.Ýá/Lc:@M@FBSDKLoginKit@E@FBSDKRefreshFallbackPolicy3Strategy for LoginManager.refreshLimitedLogin(...).:/// Strategy for `LoginManager.refreshLimitedLogin(...)`.
///
V/// The SDK provides three concrete refresh mechanisms (`.silentOnly`, `.directOnly`,
U/// `.explicitOnly`) and one orchestrator (`.automatic`) that cascades through them.
T¸“
3òc:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginCodeInfogDescribes the initial response when starting the device login flow. This is used by DeviceLoginManager.s/**
 Describes the initial response when starting the device login flow.
 This is used by `DeviceLoginManager`.
 */V
ȆÏs:13FBSDKLoginKit18FBLoginTooltipViewC27serverConfigurationProvider06stringH0AcA06ServerG9Providing_p_AA019UserInterfaceStringK0_ptcfcCreate tooltip/// Create tooltip
/// - Parameters:
D///   - serverConfigurationProvider: Service configuration provider
(///   - stringProvider: String provider
Y؞?s:13FBSDKLoginKit11RetryConfigOuConfiguration for the exponential-backoff retry strategy used by RefreshRetryHandler. All time values are in seconds.E/// Configuration for the exponential-backoff retry strategy used by
;/// `RefreshRetryHandler`. All time values are in seconds.
\n×ã8    s:13FBSDKLoginKit18RefreshRateLimiterC13recordFailureyyF&Records that a refresh attempt failed.+/// Records that a refresh attempt failed.
///
C/// Call this method when a refresh operation fails. This triggers
A/// the extended failure cooldown period (5 minutes by default).
^ÂtÖ89c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginTooltipView(im)initCreate tooltip/// Create tooltip
až»xsÃs:13FBSDKLoginKit20DeviceRequestsHelperO25startAdvertisementService9loginCode8delegateSbSS_So05NSNetH8Delegate_ptFZÌStart the mDNS advertisement service for a device request @param loginCode The login code associated with the action for the device request. @return True if the service broadcast was successfully started.ß/**
   Start the mDNS advertisement service for a device request
   @param loginCode The login code associated with the action for the device request.
   @return True if the service broadcast was successfully started.
   */b‡¡cs:13FBSDKLoginKit13FBLoginButtonC5frame11permissionsACSo6CGRectV_Say09FBSDKCoreB010PermissionOGtcfcJCreate a new LoginButton with a given optional frame and read permissions./**
   Create a new `LoginButton` with a given optional frame and read permissions.
 
   - Parameter frame: Optional frame to initialize with. Default: `nil`, which uses a default size for the button.
   - Parameter permissions: Array of read permissions to request when logging in.
   */iFþWUc:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorTimeout—The refresh request did not complete within the SDK’s timeout (30 seconds). Safe to retry. Repeated timeouts may indicate a backend or network issue.P/// The refresh request did not complete within the SDK's timeout (30 seconds).
N/// Safe to retry. Repeated timeouts may indicate a backend or network issue.
j:¼;ùc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginButton(py)codeVerifierhThe code verifier used in the PKCE process. If not provided, a code verifier will be randomly generated.0/// The code verifier used in the PKCE process.
A/// If not provided, a code verifier will be randomly generated.
kÞ'|aºc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManager(im)logInFromViewController:configuration:completion:6Logs the user in or authorizes additional permissions.l/**
   Logs the user in or authorizes additional permissions.
 
   @param viewController the view controller from which to present the login UI. If nil, the topmost view
   controller will be automatically determined and used.
   @param configuration the login configuration to use.
   @param completion the login completion handler.
 
   Use this method when asking for permissions. You should only ask for permissions when they
   are needed and the value should be explained to the user. You can inspect the
   `FBSDKLoginManagerLoginResultBlock`'s `result.declinedPermissions` to provide more information
   to the user if they decline permissions.
   To reduce unnecessary login attempts, you should typically check if `AccessToken.current`
   already contains the permissions you need. If it does, you probably do not need to call this method.
 
   @warning You can only perform one login call at a time. Calling a login method before the completion handler is
   called on a previous login attempt will result in an error.
   @warning This method will present a UI to the user and thus should be called on the main thread.
   */p.€3€s:13FBSDKLoginKit13FBLoginButtonC15TooltipBehaviorO-Indicates the desired login tooltip behavior.;/**
    Indicates the desired login tooltip behavior.
   */ qP}Aac:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginCodeInfo(py)identifier"The unique id for this login flow.'/// The unique id for this login flow.
sèô¿"‡s:13FBSDKLoginKit14DPoPKeyStoringP.Persistence strategy for the DPoP private key.3/// Persistence strategy for the DPoP private key.
///
L/// Production uses `KeychainDPoPKeyStore`. Tests inject an in-memory store
M/// because the xctest bundle in this project lacks the keychain entitlement
Q/// required by `SecItemAdd`/`SecKeyCreateRandomKey` with `kSecAttrIsPermanent`.
t‚q+<çs:13FBSDKLoginKit15RateLimitConfigO18maxAttemptsPerHourSivpZ_Maximum refresh attempts per hour. Absolute cap to prevent abuse regardless of success/failure.'/// Maximum refresh attempts per hour.
A/// Absolute cap to prevent abuse regardless of success/failure.
tz.l9c:@M@FBSDKLoginKit@objc(cs)FBSDKTooltipView(py)colorStyletGets or sets the color style after initialization. Defaults to value passed to -initWithTagline:message:colorStyle:.„/**
   Gets or sets the color style after initialization.
   Defaults to value passed to -initWithTagline:message:colorStyle:.
   */u.þ¡‰qc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:nonce:messengerPageId:authType:appSwitch:codeVerifier:HAttempts to initialize a new configuration with the expected parameters./**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for a login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   @param nonce an optional nonce to use for the login attempt. A valid nonce must be a non-empty string without whitespace.
   Creation of the configuration will fail if the nonce is invalid.
   @param messengerPageId the associated page id  to use for a login attempt.
   @param authType auth_type param to use for login.
   @param appSwitch the app switch behavior to use for a login attempt. Defaults to `.enabled`.
   @param codeVerifier The code verifier used in the PKCE process.
   */vÎT°c s:13FBSDKLoginKit20DeviceRequestsHelperO27cleanUpAdvertisementService3forySo05NSNetI8Delegate_p_tFZrStop the mDNS advertisement service for a device request @param delegate The delegate registered with the service.‚/**
   Stop the mDNS advertisement service for a device request
   @param delegate The delegate registered with the service.
   */vRˆ;\Oc:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorNetworkError“A transport-level network error occurred (DNS failure, connection reset, TLS handshake failure, etc.). Safe to retry once connectivity is restored.M/// A transport-level network error occurred (DNS failure, connection reset,
O/// TLS handshake failure, etc.). Safe to retry once connectivity is restored.
wQ~vWc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:messengerPageId:authType:appSwitch:HAttempts to initialize a new configuration with the expected parameters.÷/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for the login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   @param messengerPageId the associated page id  to use for a login attempt.
   @param authType auth_type param to use for login.
   @param appSwitch the app switch behavior to use for a login attempt.
   */x
3K[s:13FBSDKLoginKit25AuthenticationTokenHeaderC17fromEncodedStringACSgSS_tcfcYReturns a new instance, when one can be created from the parameters given, otherwise nil.`/// Returns a new instance, when one can be created from the parameters given, otherwise `nil`.
D/// - Parameter encodedHeader: Base64-encoded string of the header.
6/// - Returns: An FBAuthenticationTokenHeader object.
yäH…Gc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithTracking:HAttempts to initialize a new configuration with the expected parameters.£/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param tracking the login tracking preference to use for a login attempt.
   */{‚±Pds:13FBSDKLoginKit12LoginManagerC14shouldEscalate5after2toSbAA07LimitedC12RefreshErrorO_AA0J4PathOtFZŒWhether a failed tier should escalate to the next one, given that next tier’s path. One table, applied uniformly â€” no per-leg branching. K/// Whether a failed tier should escalate to the next one, given that next
H/// tier's path. One table, applied uniformly â€” no per-leg branching.
///
?/// - The kill switch (`.featureDisabled`) is always terminal.
Q/// - Escalating to a lower-friction tier (`.direct` / `.silent` â€” no Facebook
N///   UI) is worth it after *any* other failure, so the cascade keeps falling
M///   forward (e.g. a direct failure, including `.notDPoPBound`, advances to
H///   silent, which re-sends `dpop_jkt` to mint a freshly bound token).
P/// - Escalating to the interactive `.explicit` tier happens only when the user
Q///   genuinely must re-authenticate (`.loginRequired` / `.consentRequired`) â€”
O///   never for transient / infrastructure errors, which would otherwise pop a
///   login dialog on a blip.
    |àa±@åc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManager(cpy)dpopJktProviderØTest seam for addDPoPJktIfAvailable. Production produces the thumbprint from DPoPKeyManager.shared; tests can swap this to inject a deterministic value (or nil to simulate â€œno DPoP available”). Reset in tearDown.S/// Test seam for `addDPoPJktIfAvailable`. Production produces the thumbprint from
Q/// `DPoPKeyManager.shared`; tests can swap this to inject a deterministic value
A/// (or nil to simulate "no DPoP available"). Reset in tearDown.
 
}2ŽjU}c:@M@FBSDKLoginKit@E@FBSDKDeviceLoginError@FBSDKDeviceLoginErrorAuthorizationDeclined0User has declined to authorize your application.5/// User has declined to authorize your application.
}Ž·
T•c:@M@FBSDKLoginKit@E@FBSDKRefreshFallbackPolicy@FBSDKRefreshFallbackPolicySilentOnly®Run only the prompt=none silent OIDC flow via ASWebAuthenticationSession. Returns the result with no fallback. The user sees an Apple system consent modal but no Facebook UI.R/// Run only the `prompt=none` silent OIDC flow via `ASWebAuthenticationSession`.
O/// Returns the result with no fallback. The user sees an Apple system consent
/// modal but no Facebook UI.
}›ˆ"ùs:13FBSDKLoginKit14LoginEndpointsOhWire-format constants for the Facebook OAuth/Login endpoints. Keep in sync with server-side definitions.B/// Wire-format constants for the Facebook OAuth/Login endpoints.
//// Keep in sync with server-side definitions.
t1|E½c:@M@FBSDKLoginKit@E@FBSDKDefaultAudience@FBSDKDefaultAudienceFriendsQIndicates that the user’s friends are able to see posts made by the applicationT/// Indicates that the user's friends are able to see posts made by the application
¬UƒF…c:@M@FBSDKLoginKit@E@FBSDKLoginError@FBSDKLoginErrorMissingAccessToken4A current access token was required and not provided9/// A current access token was required and not provided
‚d©d;+s:13FBSDKLoginKit24BackgroundRefreshManagerC08stopAutoD0yyFStops observing foreground notifications and resets state. Call during logout cleanup to prevent refreshes for a logged-out user.?/// Stops observing foreground notifications and resets state.
K/// Call during logout cleanup to prevent refreshes for a logged-out user.
‚ÔñÅ;c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(py)noncevThe nonce that the configuration was created with. A unique nonce will be used if none is provided to the initializer.7/// The nonce that the configuration was created with.
H/// A unique nonce will be used if none is provided to the initializer.
‚B\¨Ec:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(py)messengerPageId9The Messenger Page Id associated with this login request.>/// The Messenger Page Id associated with this login request.
ƒ€†y@…s:13FBSDKLoginKit10LoginErrorV18missingAccessTokenAA0cD4CodeOvpZ4A current access token was required and not provided9/// A current access token was required and not provided
‡80>$—c:@M@FBSDKLoginKit@E@FBSDKLoginError=Custom error codes for login errors in the login error domainB/// Custom error codes for login errors in the login error domain
‡¢'>5¹s:13FBSDKLoginKit25AuthenticationTokenHeaderC3kidSSvpNKey identifier used in identifying the key to be used to verify the signature.S/// Key identifier used in identifying the key to be used to verify the signature.
‰ðØói™c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:nonce:messengerPageId:HAttempts to initialize a new configuration with the expected parameters.9/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for a login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   @param nonce an optional nonce to use for the login attempt. A valid nonce must be a non-empty string without whitespace.
   Creation of the configuration will fail if the nonce is invalid.
   @param messengerPageId the associated page id  to use for a login attempt.
   */‰”F.c“c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:nonce:appSwitch:HAttempts to initialize a new configuration with the expected parameters.3/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for a login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   @param nonce an optional nonce to use for the login attempt. A valid nonce must be a non-empty string without whitespace.
   @param appSwitch the app switch behavior to use for a login attempt.
   Creation of the configuration will fail if the nonce is invalid.
   */ ‰ªóm"c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:messengerPageId:appSwitch:HAttempts to initialize a new configuration with the expected parameters.Â/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for the login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   @param messengerPageId the associated page id  to use for a login attempt.
   @param appSwitch the app switch behavior to use for a login attempt.
   */ŠôèU2ss:13FBSDKLoginKit18RefreshRateLimiterC6sharedACvpZ+Shared instance for app-wide rate limiting.0/// Shared instance for app-wide rate limiting.
ŠV‘T›c:@M@FBSDKLoginKit@E@FBSDKDeviceLoginError@FBSDKDeviceLoginErrorAuthorizationPending?User has not yet authorized your application. Continue polling.D/// User has not yet authorized your application. Continue polling.
Šèp\lc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:messengerPageId:authType:HAttempts to initialize a new configuration with the expected parameters.¯/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for the login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   @param messengerPageId the associated page id  to use for a login attempt.
   @param authType auth_type param to use for login.
   */”ìFj_Ác:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorNotLimitedLoginÃProfile.current exists but is not a Limited Login profile (isLimited == false). refreshLimitedLogin only operates on Limited Login sessions; full Login sessions use a different refresh mechanism.X/// `Profile.current` exists but is not a Limited Login profile (`isLimited == false`).
W/// `refreshLimitedLogin` only operates on Limited Login sessions; full Login sessions
'/// use a different refresh mechanism.
•¥9?Ëc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManager(py)defaultAudienceWThe default audience. You should set this if you intend to ask for publish permissions.\/// The default audience. You should set this if you intend to ask for publish permissions.
•Ö2ÙF‹c:@M@FBSDKLoginKit@E@FBSDKLoginError@FBSDKLoginErrorBadChallengeString7The login response was missing a valid challenge string</// The login response was missing a valid challenge string
•üeµs:13FBSDKLoginKit20DirectRefreshSessionC7refresh11idTokenHint5appID10completionySS_SSys6ResultOySSAA012LimitedLoginD5ErrorOGctFKPosts the refresh request with a DPoP proof. Calls completion exactly once.R/// Posts the refresh request with a DPoP proof. Calls `completion` exactly once.
•ŽÞc=Mc:@M@FBSDKLoginKit@objc(cs)FBSDKPermission(im)initWithString:zAttempts to initialize a new permission with the given string. Creation will fail and return nil if the string is invalid.»/**
   Attempts to initialize a new permission with the given string.
   Creation will fail and return nil if the string is invalid.
   - Parameter string: The raw permission string
   */™@n6 c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManager(im)logOutLogs the user outã/**
   Logs the user out
 
   This nils out the singleton instances of `AccessToken`, `AuthenticationToken` and `Profle`.
 
   @note This is only a client side logout. It will not log the user out of their Facebook account.
   */›ÊÉé,Fc:@M@FBSDKLoginKit@objc(cs)FBSDKCodeVerifierRepresents a code verifier used in the PKCE (Proof Key for Code Exchange) process. This is a cryptographically random string using the characters A-Z, a-z, 0-9, and the punctuation characters -._~ (hyphen, period, underscore, and tilde), between 43 and 128 characters long./**
 Represents a code verifier used in the PKCE (Proof Key for Code Exchange)
 process. This is a cryptographically random string using the characters
 A-Z, a-z, 0-9, and the punctuation characters -._~ (hyphen, period,
 underscore, and tilde), between 43 and 128 characters long.
 */œH‰d9ÿs:13FBSDKLoginKit15RateLimitConfigO15failureCooldownSdvpZkCooldown period after a failure (5 minutes). Prevents retry storms when there are persistent server issues.1/// Cooldown period after a failure (5 minutes).
C/// Prevents retry storms when there are persistent server issues.
Ÿâ6£s:13FBSDKLoginKit34AuthenticationTokenClaimsProvidingPBProtocol abstracting AuthenticationToken.claims() for testability.I/// Protocol abstracting `AuthenticationToken.claims()` for testability.
 †ÆI›s:13FBSDKLoginKit16DeviceLoginErrorV20authorizationPendingAA0cdE4CodeOvpZ?User has not yet authorized your application. Continue polling.D/// User has not yet authorized your application. Continue polling.
¥ª'ðAs:13FBSDKLoginKit14DPoPKeyManagerC10thumbprint3forSSSgSDyS2SG_tFZ2Computes the RFC 7638 JWK Thumbprint of an EC JWK.7/// Computes the RFC 7638 JWK Thumbprint of an EC JWK.
    © \î s:13FBSDKLoginKit11RefreshPathOßWhich refresh subroutine produced a LimitedLoginRefreshResult. Always matches the requested fallbackPolicy for .directOnly / .silentOnly / .explicitOnly; for .automatic it identifies whichever tier of the cascade succeeded.L/// Which refresh subroutine produced a `LimitedLoginRefreshResult`. Always
O/// matches the requested `fallbackPolicy` for `.directOnly` / `.silentOnly` /
J/// `.explicitOnly`; for `.automatic` it identifies whichever tier of the
/// cascade succeeded.
ªl´±V;c:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginManagerResult(im)initWithToken:isCancelled:xInternal method exposed to facilitate transition to Swift. API Subject to change or removal without warning. Do not use.«/**
   Internal method exposed to facilitate transition to Swift.
   API Subject to change or removal without warning. Do not use.
 
   @warning INTERNAL - DO NOT USE
   */®¬uý@wc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginButton(py)tooltipColorStyle-Gets or sets the desired tooltip color style.2/// Gets or sets the desired tooltip color style.
¯*ºøMSs:13FBSDKLoginKit25LimitedLoginRefreshResultV7profile09FBSDKCoreB07ProfileCvpThe refreshed user profile. /// The refreshed user profile.
°úc=‰s:13FBSDKLoginKit10LoginErrorV15passwordChangedAA0cD4CodeOvpZ7The user’s password has changed and must log in again:/// The user's password has changed and must log in again
³ÌrZEis:13FBSDKLoginKit16DeviceLoginErrorV16excessivePollingAA0cdE4CodeOvpZ&Your device is polling too frequently.+/// Your device is polling too frequently.
µJKh<oc:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginManager(im)cancel)Attempts to cancel the device login flow../// Attempts to cancel the device login flow.
µ.WX2§c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfigurationEA configuration to use for modifying the behavior of a login attempt.J/// A configuration to use for modifying the behavior of a login attempt.
·xZ\7c:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorUserMismatchüSECURITY: the refreshed token’s sub claim does not match the previously authenticated user’s ID. The SDK refused to swap in the new token to prevent session hijacking. Treat this as a state inconsistency: log the user out and require a fresh login.N/// SECURITY: the refreshed token's `sub` claim does not match the previously
Q/// authenticated user's ID. The SDK refused to swap in the new token to prevent
Q/// session hijacking. Treat this as a state inconsistency: log the user out and
/// require a fresh login.
º\÷:Çs:13FBSDKLoginKit14DPoPKeyManagerC16getJWKThumbprintSSSgyFVReturns the JWK Thumbprint (RFC 7638) of the device’s public key, base64url-encoded.Y/// Returns the JWK Thumbprint (RFC 7638) of the device's public key, base64url-encoded.
½\T>Gs:13FBSDKLoginKit20DirectRefreshSessionC19KeyMaterialProvideraŽ(privateKey, publicKeyJWK) source. Production reads from DPoPKeyManager.shared; tests inject a closure that returns a transient in-memory key.V/// (privateKey, publicKeyJWK) source. Production reads from `DPoPKeyManager.shared`;
C/// tests inject a closure that returns a transient in-memory key.
½¾koJ±c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(py)requestedPermissionsJThe requested permissions for the login attempt. Defaults to an empty set.O/// The requested permissions for the login attempt. Defaults to an empty set.
À‚ªINQs:13FBSDKLoginKit14DPoPKeyManagerC12publicKeyJWK3forSDyS2SGSgSo03SecG3Refa_tFZ“Computes the JWK representation of an EC P-256 public key from a SecKey. Exposed internal so tests can verify the encoding without keychain access.M/// Computes the JWK representation of an EC P-256 public key from a SecKey.
Q/// Exposed `internal` so tests can verify the encoding without keychain access.
ÀޤÈ>‰c:@M@FBSDKLoginKit@objc(cs)FBSDKTooltipView(py)displayDuration¯Gets or sets the amount of time in seconds the tooltip should be displayed. Set this to zero to make the display permanent until explicitly dismissed. Defaults to six seconds.Â/**
   Gets or sets the amount of time in seconds the tooltip should be displayed.
   Set this to zero to make the display permanent until explicitly dismissed.
   Defaults to six seconds.
   */Á\a})is:13FBSDKLoginKit21NativeAppLoginHandlerC&Handles native Facebook app login flow+/// Handles native Facebook app login flow
Ã*ò?_c:@M@FBSDKLoginKit@objc(cs)FBSDKCodeVerifier(im)initWithString:†Attempts to initialize a new code verifier instance with the given string. Creation will fail and return nil if the string is invalid.Á/**
   Attempts to initialize a new code verifier instance with the given string.
   Creation will fail and return nil if the string is invalid.
 
   @param string the code verifier string
   */ͽ¢D³c:@M@FBSDKLoginKit@E@FBSDKLoginError@FBSDKLoginErrorUserCheckpointedKThe user must log in to their account on www.facebook.com to restore accessP/// The user must log in to their account on www.facebook.com to restore access
Äz»ß„s:13FBSDKLoginKit20DirectRefreshSessionC7session8settings19keyMaterialProvider10urlBuilderACSo12NSURLSessionC_09FBSDKCoreB016SettingsProtocol_pSo9SecKeyRefa07privateR0_SDyS2SG06publicR3JWKtSgyc10Foundation3URLVSgSS_SStctcfcL/// - Parameter session: Injectable for tests. Production passes `.shared`.
U/// - Parameter settings: Injectable for tests. Production passes `Settings.shared`.
[/// - Parameter keyMaterialProvider: Injectable for tests so they don't need the keychain.
X/// - Parameter urlBuilder: Injectable for tests so they don't need an initialized SDK.
ȸöÓFEc:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginCodeInfo(py)pollingIntervalThe polling interval/// The polling interval
Èv¯RØc:@M@FBSDKLoginKit@objc(cs)FBSDKTooltipView(im)initWithTagline:message:colorStyle:Designated initializer./// Designated initializer.
/// - Parameters:
e///   - tagline: First part of the label, that will be highlighted with different color. Can be nil.
*///   - message: Main message to display.
4///   - colorStyle: Color style to use for tooltip.
///
^/// If you need to show a tooltip for login, consider using the `FBSDKLoginTooltipView` view.
/// See FBSDKLoginTooltipView
    Ʉ½:@³c:@M@FBSDKLoginKit@E@FBSDKLoginError@FBSDKLoginErrorUserMismatchKIndicates a failure to request new permissions because the user has changedP/// Indicates a failure to request new permissions because the user has changed
ʐûã+_c:@M@FBSDKLoginKit@objc(cs)FBSDKTooltipViewwTooltip bubble with text in it used to display tips for UI elements, with a pointed arrow (to refer to the UI element).Ð/**
 Tooltip bubble with text in it used to display tips for UI elements,
 with a pointed arrow (to refer to the UI element).
 
 The tooltip fades in and will automatically fade out. See `displayDuration`.
 */ÌúÇ?:­c:@M@FBSDKLoginKit@E@FBSDKAppSwitch@FBSDKAppSwitchDisabledHDo not use app switch. Use browser-based login (Safari View Controller).M/// Do not use app switch. Use browser-based login (Safari View Controller).
̶hk=£s:13FBSDKLoginKit10LoginErrorV15unconfirmedUserAA0cD4CodeOvpZCThe user must confirm their account with Facebook before logging inH/// The user must confirm their account with Facebook before logging in
ͼ‰Î8s:13FBSDKLoginKit18RefreshRateLimiterC13recordSuccessyyF)Records that a refresh attempt succeeded../// Records that a refresh attempt succeeded.
///
D/// Call this method when a refresh operation succeeds. This clears
G/// the failure cooldown, allowing normal refresh intervals to resume.
ÍÂáøqÀc:@CM@FBSDKLoginKit@objc(cs)FBSDKLoginManager(im)refreshLimitedLoginFromViewController:fallbackPolicy:completion:[Refreshes a Limited Login session by obtaining an updated profile and authentication token.`/// Refreshes a Limited Login session by obtaining an updated profile and authentication token.
///
j/// This is the Objective-C compatible version of `refreshLimitedLogin(from:fallbackPolicy:completion:)`.
///
X/// @param viewController The view controller from which to present login UI if needed.
8///   If nil, the topmost view controller will be used.
K/// @param fallbackPolicy The policy for handling silent refresh failures.
h/// @param completion A closure called with the refreshed `Profile` on success, or an error on failure.
Ít›:C£c:@M@FBSDKLoginKit@E@FBSDKLoginError@FBSDKLoginErrorUnconfirmedUserCThe user must confirm their account with Facebook before logging inH/// The user must confirm their account with Facebook before logging in
Ò|%²$s:13FBSDKLoginKit16DPoPProofBuilderOGBuilds DPoP proof JWTs (RFC 9449) signed with the device’s P-256 key.J/// Builds DPoP proof JWTs (RFC 9449) signed with the device's P-256 key.
///
Q/// A DPoP proof is a JWS whose header carries the public key as a JWK and whose
T/// payload binds the proof to a specific HTTP method, target URL, and access token
T/// (via the `ath` claim). The server uses the proof to verify the caller possesses
H/// the private key matching the `cnf.jkt` claim in the bound id_token.
ÖÄÎvš™s:13FBSDKLoginKit27SilentAuthenticationSessionC5start3url17callbackURLScheme10completiony10Foundation3URLV_SSys6ResultOyAjA24LimitedLoginRefreshErrorOGctF)Starts the silent authentication session../// Starts the silent authentication session.
///
/// - Parameters:
F///   - url: The OIDC authorization URL (must include `prompt=none`).
N///   - callbackURLScheme: The custom URL scheme registered for the callback.
X///   - completion: Called with `.success(url)` on success or a typed error on failure.
ÖœÙ4«c:@M@FBSDKLoginKit@objc(cs)FBSDKCodeVerifier(im)initCInitializes a new code verifier instance with a random string valueP/**
   Initializes a new code verifier instance with a random string value
   */ØÎÏG,¸c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManager1Provides methods for logging the user in and out.o/**
 Provides methods for logging the user in and out.
 
 It works directly with `AccessToken` (for data access) and `AuthenticationToken` (for authentication);
 it sets the "current" tokens upon successful authorizations (or sets to `nil` in case of `logOut`).
 
 You should check `AccessToken.current` before calling a login method to see if there is
 a cached token available (typically in a `viewDidLoad` implementation).
 
 @warning If you are managing your own tokens outside of `AccessToken`, you will need to set
 `AccessToken.current` before calling a login method to authorize further permissions on your tokens.
 */Û$ôžP c:@CM@FBSDKLoginKit@objc(cs)FBSDKLoginManager(im)cleanupLimitedLoginRefreshStateqCleans up Limited Login refresh state. Call this during logout to reset rate limiter and stop background refresh.+/// Cleans up Limited Login refresh state.
O/// Call this during logout to reset rate limiter and stop background refresh.
Ûöʐ?Lc:@M@FBSDKLoginKit@objc(cs)FBSDKTooltipView(im)presentFromView:zShow tooltip at the top or at the bottom of given view. Tooltip will be added to anchorView.window.rootViewController.view
</// Show tooltip at the top or at the bottom of given view.
G/// Tooltip will be added to anchorView.window.rootViewController.view
///
p/// - Parameter anchorView: view to show at, must be already added to window view hierarchy, in order to decide
n/// where tooltip will be shown. (If there's not enough space at the top of the anchorView in window bounds -
//// tooltip will be shown at the bottom of it)
///
I/// Use this method to present the tooltip with automatic positioning or
K/// use -presentInView:withArrowPosition:direction: for manual positioning
F/// If anchorView is nil or has no window - this method does nothing.
 
ÞbRAQc:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginManager(py)permissionsThe requested permissions./// The requested permissions.
ÞtgìF‰s:13FBSDKLoginKit10LoginErrorV24systemAccountAppDisabledAA0cD4CodeOvpZ±The Accounts framework failed without returning an error, indicating the app’s slider in the iOS Facebook Settings (device Settings -> Facebook -> App Name) has been disabled.a/// The Accounts framework failed without returning an error, indicating the app's slider in the
W/// iOS Facebook Settings (device Settings -> Facebook -> App Name) has been disabled.
åú„Gms:13FBSDKLoginKit11LoginResultO(Describes the result of a login attempt.-/// Describes the result of a login attempt.
é.£¡/ýs:13FBSDKLoginKit18RefreshRateLimiterC5resetyyFResets all rate limiting state.$/// Resets all rate limiting state.
///
/// This is useful for:
/// - Unit testing
;/// - User logout (new user should have fresh rate limits)
/// - Debugging
éMi.s:13FBSDKLoginKit20DeviceRequestsHelperO10isDelegate_23forAdvertisementServiceSbSo05NSNetjG0_p_So0kJ0CtFZCheck if a service delegate is registered with particular advertisement service @param delegate The delegate to check if registered. @param service The advertisement service to check for. @return True if the service is the one the delegate registered with./**
   Check if a service delegate is registered with particular advertisement service
   @param delegate The delegate to check if registered.
   @param service The advertisement service to check for.
   @return True if the service is the one the delegate registered with.
   */òÜÊVWc:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorUnknown@An error the SDK could not classify into one of the cases above.E/// An error the SDK could not classify into one of the cases above.
ônÝ*Cs:13FBSDKLoginKit13FBLoginButtonC15TooltipBehaviorO9automaticyA2EmFzThe default behavior. The tooltip will only be displayed if the app is eligible (determined by possible server round trip)†/** The default behavior. The tooltip will only be displayed if
     the app is eligible (determined by possible server round trip) */ ÷Hi!#Sc:@M@FBSDKLoginKit@E@FBSDKAppSwitch•The app switch behavior preference to use for a login attempt. App switch allows users to switch to the Facebook app for authentication if installed.C/// The app switch behavior preference to use for a login attempt.
[/// App switch allows users to switch to the Facebook app for authentication if installed.
ù`(+ c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginButton>A button that initiates a log in or log out flow upon tapping.J/**
 A button that initiates a log in or log out flow upon tapping.
 
 `LoginButton` works with `AccessToken.current` to determine what to display,
 and automatically starts authentication when tapped (i.e., you do not need to manually subscribe action targets).
 
 Like `LoginManager`, you should make sure your app delegate is connected to `ApplicationDelegate`
 in order for the button's delegate to receive messages.
 
 `LoginButton` has a fixed height of 30 pixels, but you may change the width.
 Initializing the button with `nil` frame will size the button to its minimum frame.
 */üÐG@ÑKs:13FBSDKLoginKit18LoginConfigurationC11permissions8tracking5nonce15messengerPageId8authType9appSwitch12codeVerifierACSgShy09FBSDKCoreB010PermissionOG_AA0C8TrackingOS2SSgSo0a4AuthL0aSgAA03AppN0OAA04CodeP0CtcfcUAttempts to allocate and initialize a new configuration with the expected parameters.Þ/**
   Attempts to allocate and initialize a new configuration with the expected parameters.
 
   - parameter permissions: The requested permissions for the login attempt.
   Defaults to an empty `Permission` array.
   - parameter tracking: The tracking preference to use for a login attempt. Defaults to `.enabled`
   - parameter nonce: An optional nonce to use for the login attempt.
    A valid nonce must be an alphanumeric string without whitespace.
    Creation of the configuration will fail if the nonce is invalid. Defaults to a `UUID` string.
   - parameter messengerPageId: An optional page id to use for a login attempt. Defaults to `nil`
   - parameter authType: An optional auth type to use for a login attempt. Defaults to `.rerequest`
   - parameter appSwitch: The app switch behavior to use for a login attempt. Defaults to `.enabled`
   - parameter codeVerifier: An optional codeVerifier used for the PKCE process.
   If not provided, this will be randomly generated.
   */ýiÑY3c:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorCancelledƒThe user cancelled an explicit (UI-presenting) login dialog. Only emitted by .explicitOnly and the explicit fallback in .automatic.Q/// The user cancelled an explicit (UI-presenting) login dialog. Only emitted by
?/// `.explicitOnly` and the explicit fallback in `.automatic`.
 
“Œ¤\Es:13FBSDKLoginKit17LoginURLCompleterV08completeC07handleryyAA01_C20CompletionParametersCc_tFŽPerforms the work needed to populate the login completion parameters before they are used to determine login success, failure or cancellation.U/// Performs the work needed to populate the login completion parameters before they
B/// are used to determine login success, failure or cancellation.
ðN£ýs:13FBSDKLoginKit21LimitedLoginRefresherC21processRefreshedToken_5nonce14existingUserID10completionySS_S2Sys6ResultOy09FBSDKCoreB07ProfileCAA0cD12RefreshErrorOGctF<Verifies the refreshed token and creates an updated profile.
A/// Verifies the refreshed token and creates an updated profile.
///
/// - Parameters:
H///   - tokenString: The raw ID token string from the refresh response.
=///   - nonce: The nonce used when building the refresh URL.
C///   - existingUserID: The user ID from `Profile.current.userID`.
V///     Must come from Profile, NOT from `AuthenticationToken.current.claims()?.sub`,
O///     because `claims()` returns nil for tokens older than 10 minutes due to
A///     temporal validation in `AuthenticationTokenClaims.init`.
\///   - completion: Called with the refreshed `Profile` on success, or an error on failure.
×8"c:@M@FBSDKLoginKit@objc(pl)FBSDKLoginTooltipViewDelegate~The LoginTooltipViewDelegate protocol defines the methods used to receive event notifications from FBLoginTooltipView objects.Œ/**
 The `LoginTooltipViewDelegate` protocol defines the methods used to receive event
 notifications from `FBLoginTooltipView` objects.
 */Y@£3{c:@M@FBSDKLoginKit@objc(cs)FBSDKPermission(py)value/The raw string representation of the permission4/// The raw string representation of the permission
ùœ:³s:13FBSDKLoginKit10LoginErrorV12userMismatchAA0cD4CodeOvpZKIndicates a failure to request new permissions because the user has changedP/// Indicates a failure to request new permissions because the user has changed
U:8“c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginButton(py)appSwitch:Gets or sets the app switch behavior. Defaults to .enabledA/// Gets or sets the app switch behavior. Defaults to `.enabled`
i nE¯s:So17FBSDKAppEventNamea13FBSDKLoginKitE22sessionAuthMethodStartABvpZIUse to log the start of a specific auth method as part of an auth requestN/// Use to log the start of a specific auth method as part of an auth request
    ‹’ÐF‘s:13FBSDKLoginKit10LoginErrorV24systemAccountUnavailableAA0cD4CodeOvpZ:An error occurred related to Facebook system Account store?/// An error occurred related to Facebook system Account store
 
{Ê's:13FBSDKLoginKit16LoginErrorDomainSSvpôThe error domain for all errors from LoginKit Error codes from the SDK in the range 300-399 are reserved for login errors in this domain. Error codes from the SDK in the range 1349100-1349199 are reserved for device login errors in this domain.2/// The error domain for all errors from LoginKit
`/// Error codes from the SDK in the range 300-399 are reserved for login errors in this domain.
o/// Error codes from the SDK in the range 1349100-1349199 are reserved for device login errors in this domain.
 Kə5Is:13FBSDKLoginKit20DirectRefreshSessionC10URLBuilderavBuilds the refresh endpoint URL for a given host prefix + path. Production routes through Utility.unversionedFacebookURL, which reads Settings.shared.facebookDomainPart so OD/sandbox builds hit the right host. Tests inject a closure that returns a stub URL so they don’t have to initialize the SDK (touching Settings.shared outside of an initialized SDK is a fatal error).O/// Builds the refresh endpoint URL for a given host prefix + path. Production
A/// routes through `Utility.unversionedFacebookURL`, which reads
L/// `Settings.shared.facebookDomainPart` so OD/sandbox builds hit the right
L/// host. Tests inject a closure that returns a stub URL so they don't have
D/// to initialize the SDK (touching `Settings.shared` outside of an
'/// initialized SDK is a fatal error).
óH~ZAs:13FBSDKLoginKit18FBLoginTooltipViewC14stringProviderAA28UserInterfaceStringProviding_pvpUI String provider/// UI String provider
U¶£>½c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginButton(py)defaultAudiencePThe default audience to use, if publish permissions are requested at login time.U/// The default audience to use, if publish permissions are requested at login time.
@15«s:13FBSDKLoginKit17SilentAuthTimeoutO07requestE0SdvpZGMaximum time to wait for the silent authentication session to complete.L/// Maximum time to wait for the silent authentication session to complete.
Á´Ê7Gs:13FBSDKLoginKit11LoginResultO6failedyACs5Error_pcACmFLogin attempt failed./// Login attempt failed.
žŸ_©c:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorInvalidResponse/The server returned a 2xx response, but its body could not be parsed as the expected refresh response (missing id_token field, malformed JSON, or claims that fail OIDC structural validation such as missing iss/aud/nonce/sub). Indicates a server-side issue or a protocol drift; not retryable client-side.P/// The server returned a 2xx response, but its body could not be parsed as the
S/// expected refresh response (missing `id_token` field, malformed JSON, or claims
U/// that fail OIDC structural validation such as missing `iss`/`aud`/`nonce`/`sub`).
R/// Indicates a server-side issue or a protocol drift; not retryable client-side.
    ;Ü    G¥s:13FBSDKLoginKit18RefreshRateLimiterC27timeUntilNextAllowedAttemptSdyFEReturns the time remaining until the next refresh attempt is allowed.J/// Returns the time remaining until the next refresh attempt is allowed.
///
H/// This considers all rate limiting conditions and returns the maximum
//// wait time required to satisfy all of them.
///
W/// - Returns: Time interval in seconds until refresh is allowed, or 0 if allowed now.
    c¢:;ðc:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginManager(im)startdStarts the device login flow This instance will retain self until the flow is finished or cancelled.t/**
   Starts the device login flow
   This instance will retain self until the flow is finished or cancelled.
   */)çJ4‹s:13FBSDKLoginKit14DPoPKeyManagerC13deleteKeyPairyyF8Deletes the SDK’s DPoP key pair. No-op if none exists.;/// Deletes the SDK's DPoP key pair. No-op if none exists.
$;¨VkQc:@M@FBSDKLoginKit@objc(pl)FBSDKDeviceLoginManagerDelegate(im)deviceLoginManager:completedWithResult:error:Indicates the device login flow has finished. @param loginManager the login manager instance. @param result the results of the login flow. @param error the error, if available. The flow can be finished if the user completed the flow, cancelled, or if the code has expired.)/**
   Indicates the device login flow has finished.
   @param loginManager the login manager instance.
   @param result the results of the login flow.
   @param error the error, if available.
   The flow can be finished if the user completed the flow, cancelled, or if the code has expired.
   */%±ü¤5-s:13FBSDKLoginKit10LoginErrorV8reservedAA0cD4CodeOvpZReserved /// Reserved
&,GQKc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithTracking:appSwitch:HAttempts to initialize a new configuration with the expected parameters.ë/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param tracking the login tracking preference to use for a login attempt.
   @param appSwitch the app switch behavior to use for a login attempt.
   */(_Na6÷c:@M@FBSDKLoginKit@objc(cs)FBSDKTooltipView(py)taglinemGets or sets the optional phrase that comprises the first part of the label (and is highlighted differently).r/// Gets or sets the optional phrase that comprises the first part of the label (and is highlighted differently).
)µ®}Bƒc:@M@FBSDKLoginKit@E@FBSDKLoginError@FBSDKLoginErrorInvalidIDToken3The ID token returned in login response was invalid8/// The ID token returned in login response was invalid
) >OFLs:13FBSDKLoginKit16DPoPProofBuilderO8derToRawy10Foundation4DataVSgAGFZ€Converts a DER-encoded ECDSA signature (X9.62) to the raw r||s format (64 bytes) required by JWS/JWT (RFC 7515; RFC 7518 Â§3.4). U/// Converts a DER-encoded ECDSA signature (X9.62) to the raw r||s format (64 bytes)
4/// required by JWS/JWT (RFC 7515; RFC 7518 Â§3.4).
///
Q/// DER format: `0x30 <total_len> 0x02 <r_len> <r_bytes> 0x02 <s_len> <s_bytes>`
S/// Raw format: `r (32 bytes, zero-padded left) || s (32 bytes, zero-padded left)`
///
/// Edge cases:
S/// - `r` or `s` with a leading 0x00 byte (DER adds this when the high bit is set,
(///   to mark the integer as positive).
Q/// - `r` or `s` shorter than 32 bytes (rare but valid â€” left-pad with zeros).
S/// - Multiple leading zeros (theoretically possible with non-canonical encoders).
*à†ˆs:13FBSDKLoginKit12LoginManagerC5logIn14viewController13configuration10completionySo06UIViewH0CSg_AA0C13ConfigurationCSgyAA0C6ResultOctF6Logs the user in or authorizes additional permissions.Ë/**
   Logs the user in or authorizes additional permissions.
 
   Use this method when asking for permissions. You should only ask for permissions when they
   are needed and the value should be explained to the user. You can inspect the result's `declinedPermissions` to also
   provide more information to the user if they decline permissions.
 
   This method will present a UI to the user. To reduce unnecessary app switching, you should typically check if
   `AccessToken.current` already contains the permissions you need. If it does, you probably
   do not need to call this method.
 
   You can only perform one login call at a time. Calling a login method before the completion handler is called
   on a previous login will result in an error.
 
   - parameter viewController: Optional view controller to present from. Default: topmost view controller.
   - parameter configuration the login configuration to use.
   - parameter completion: Optional callback.
   */*ajˆL‘c:@M@FBSDKLoginKit@E@FBSDKLoginError@FBSDKLoginErrorSystemAccountUnavailable:An error occurred related to Facebook system Account store?/// An error occurred related to Facebook system Account store
,‹Z”s:13FBSDKLoginKit15LoginCompletingP08completeC07handleryyAA01_C20CompletionParametersCc_tF·Invoke handler with the login parameters derived from the authentication result. See the implementing class’s documentation for whether it completes synchronously or asynchronously.Å/**
   Invoke handler with the login parameters derived from the authentication result.
   See the implementing class's documentation for whether it completes synchronously or asynchronously.
   */05H‚7mc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManagerLoginResult(Describes the result of a login attempt.-/// Describes the result of a login attempt.
0oòUcOc:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorUnsupportedPlatform‘The current device is running an iOS version older than 13.0. The DPoP (.directOnly) and silent (.silentOnly) refresh paths require iOS 13+ APIs.K/// The current device is running an iOS version older than 13.0. The DPoP
S/// (`.directOnly`) and silent (`.silentOnly`) refresh paths require iOS 13+ APIs.
1-´8.’s:13FBSDKLoginKit13FBTooltipViewC10ColorStyleOFBSDKTooltipColorStyle enum_/**
   FBSDKTooltipColorStyle enum
 
   Passed on construction to determine color styling.
   */2³XûCãs:13FBSDKLoginKit21LimitedLoginRefresherC15dpopJktProviderSSSgycvpZITest seam for dpop_jkt emission on silent refresh. Production reads from DPoPKeyManager.shared, gated behind FBSDKFeatureLimitedLoginRefresh so the kill switch stops all DPoP emission, not just at-login emission. Tests can swap this to inject a deterministic value (or nil to simulate â€œno DPoP available”). Reset in tearDown.O/// Test seam for `dpop_jkt` emission on silent refresh. Production reads from
O/// `DPoPKeyManager.shared`, gated behind `FBSDKFeatureLimitedLoginRefresh` so
K/// the kill switch stops *all* DPoP emission, not just at-login emission.
L/// Tests can swap this to inject a deterministic value (or nil to simulate
-/// "no DPoP available"). Reset in tearDown.
3™Õ_®c:@M@FBSDKLoginKit@objc(pl)FBSDKLoginButtonDelegate(im)loginButton:didCompleteWithResult:error:ÀSent to the delegate when the button was used to login. @param loginButton The button being used to log in @param result The results of the login @param error The error (if any) from the loginÖ/**
   Sent to the delegate when the button was used to login.
   @param loginButton The button being used to log in
   @param result The results of the login
   @param error The error (if any) from the login
   */6qØsác:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:nonce:messengerPageId:appSwitch:HAttempts to initialize a new configuration with the expected parameters./**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for a login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   @param nonce an optional nonce to use for the login attempt. A valid nonce must be a non-empty string without whitespace.
   Creation of the configuration will fail if the nonce is invalid.
   @param messengerPageId the associated page id  to use for a login attempt.
   @param appSwitch the app switch behavior to use for a login attempt.
   */    71öbc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManagerLoginResult(im)initWithToken:authenticationToken:isCancelled:grantedPermissions:declinedPermissions:Creates a new result6/**
   Creates a new result
 
   @param token The access token
   @param authenticationToken The authentication token
   @param isCancelled whether The login was cancelled by the user
   @param grantedPermissions The set of granted permissions
   @param declinedPermissions The set of declined permissions
   */7·ûÃ9¡s:13FBSDKLoginKit12LoginManagerC22DirectRefreshPerformera´Test seam for the direct refresh network call. Production routes to DirectRefreshSession.refresh; tests replace this with a closure that returns a canned Result. Reset in tearDown.H/// Test seam for the direct refresh network call. Production routes to
K/// `DirectRefreshSession.refresh`; tests replace this with a closure that
2/// returns a canned `Result`. Reset in tearDown.
7M~‡}s:13FBSDKLoginKit16DPoPProofBuilderO10buildProof10privateKey06publicI3JWK10httpMethod0L3URL11idTokenHintSSSgSo03SecI3Refa_SDyS2SGS3StFZ-Builds a DPoP proof JWT signed by privateKey.    4/// Builds a DPoP proof JWT signed by `privateKey`.
///
/// - Parameters:
=///   - privateKey: The device's private key (P-256, ES256).
T///   - publicKeyJWK: The matching public key as a JWK (must be the same key pair).
;///   - httpMethod: Uppercased HTTP method, e.g. `"POST"`.
@///   - httpURL: Fully-qualified target URL, no query/fragment.
Y///   - idTokenHint: The bound id_token. Hashed into the `ath` claim per RFC 9449 Â§4.1.
I/// - Returns: The signed proof JWT, or nil on encoding/signing failure.
8! 9}c:@M@FBSDKLoginKit@objc(cs)FBSDKCodeVerifier(py)challenge0The SHA256 hashed challenge of the code verifier5/// The SHA256 hashed challenge of the code verifier
9åM(és:13FBSDKLoginKit20DeviceRequestsHelperOfHelper class for device requests mDNS broadcasts. Note this is only intended for internal consumption.k/// Helper class for device requests mDNS broadcasts. Note this is only intended for internal consumption.
: ½_cs:13FBSDKLoginKit25LimitedLoginRefreshResultV19authenticationTokenSo019FBSDKAuthenticationH0Cvp#The refreshed authentication token.(/// The refreshed authentication token.
=/ö™>ac:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginManager(py)delegate"The device login manager delegate.'/// The device login manager delegate.
=¡As>±s:13FBSDKLoginKit14DPoPKeyManagerC15getPublicKeyJWKSDyS2SGSgyFJReturns the public key as a JWK dictionary (RFC 7517) for an EC P-256 key.O/// Returns the public key as a JWK dictionary (RFC 7517) for an EC P-256 key.
>_¦ü8}s:13FBSDKLoginKit20DeviceRequestsHelperO03getC4InfoSSyFZ0Get device info to include with the GraphRequest5/// Get device info to include with the GraphRequest
>õrML*c:@M@FBSDKLoginKit@objc(cs)FBSDKPermission(cm)permissionsFromRawPermissions:€Returns a set of FBPermission from a set of raw permissions strings. Will return nil if any of the input permissions is invalid.’/**
   Returns a set of `FBPermission` from a set of raw permissions strings.
   Will return nil if any of the input permissions is invalid.
   */>;Bz\Ûc:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorNotDPoPBound}The current AuthenticationToken has no cnf.jkt claim, so the .directOnly refresh path cannot use it (DPoP needs the server to have bound a public-key thumbprint to the token at issuance time). Typical causes: (a) the token was issued before the SDK supported DPoP key binding; (b) the device’s DPoP keypair was wiped (e.g. app reinstall) and no longer matches the token’s cnf.jkt; (c) the keychain was unavailable when the token was minted, so dpop_jkt was silently omitted from the login request (see .dpopKeyGenerationFailed); or (d) the server-side feature flag was off when the token was issued. Recovery: complete a fresh Limited Login (e.g. via .explicitOnly or .automatic) to mint a newly-bound token. Under .automatic, this case falls through to silent refresh, which sends dpop_jkt to mint a freshly bound token; if silent then requires user interaction it falls back to explicit.S/// The current `AuthenticationToken` has no `cnf.jkt` claim, so the `.directOnly`
Q/// refresh path cannot use it (DPoP needs the server to have bound a public-key
?/// thumbprint to the token at issuance time). Typical causes:
H/// (a) the token was issued before the SDK supported DPoP key binding;
O/// (b) the device's DPoP keypair was wiped (e.g. app reinstall) and no longer
'///     matches the token's `cnf.jkt`;
N/// (c) the keychain was unavailable when the token was minted, so `dpop_jkt`
V///     was silently omitted from the login request (see `.dpopKeyGenerationFailed`);
 ///     or
H/// (d) the server-side feature flag was off when the token was issued.
J/// Recovery: complete a fresh Limited Login (e.g. via `.explicitOnly` or
M/// `.automatic`) to mint a newly-bound token. Under `.automatic`, this case
N/// falls through to silent refresh, which sends `dpop_jkt` to mint a freshly
K/// bound token; if silent then requires user interaction it falls back to
/// explicit.
Aõ£AF»c:@M@FBSDKLoginKit@E@FBSDKDefaultAudience@FBSDKDefaultAudienceEveryoneOIndicates that all Facebook users are able to see posts made by the applicationT/// Indicates that all Facebook users are able to see posts made by the application
B9\@c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginTooltipView(py)forceDisplayxif set to YES, the view will always be displayed and the delegate’s loginTooltipView:shouldAppear: will NOT be called.ˆ/**
   if set to YES, the view will always be displayed and the delegate's
   `loginTooltipView:shouldAppear:` will NOT be called.
   */CŸ@‡'s:13FBSDKLoginKit27SilentAuthenticationSessionC15sessionProviderAcA0c4AuthE9Providing_p10Foundation3URLV_SSSgyAHSg_s5Error_pSgtctc_tcfc,Creates a new silent authentication session.1/// Creates a new silent authentication session.
///
V/// - Parameter sessionProvider: Factory that creates a `SilentAuthSessionProviding`.
@///   Defaults to creating a real `ASWebAuthenticationSession`.
C•C‘C“s:13FBSDKLoginKit14DPoPKeyManagerC15generateKeyPairSo03SecG3RefayKF;Generates a new P-256 key pair, replacing any existing key.@/// Generates a new P-256 key pair, replacing any existing key.
F£|\Z^c:@M@FBSDKLoginKit@objc(pl)FBSDKLoginTooltipViewDelegate(im)loginTooltipView:shouldAppear:3Asks the delegate if the tooltip view should appear/**
   Asks the delegate if the tooltip view should appear
 
   @param view The tooltip view.
   @param appIsEligible The value fetched from the server identifying if the app
   is eligible for the new login experience.
 
   Use this method to customize display behavior.
   */FÓø4Øc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginButton(py)nonceØGets or sets an optional nonce to use for login attempts. A valid nonce must be a non-empty string without whitespace. An invalid nonce will not be set. Instead, default unique nonces will be used for login attempts.è/**
   Gets or sets an optional nonce to use for login attempts. A valid nonce must be a non-empty string without whitespace.
   An invalid nonce will not be set. Instead, default unique nonces will be used for login attempts.
   */K#M'c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManagerLoginResult(py)grantedPermissions€The set of permissions granted by the user in the associated request. Inspect the token’s permissions set for a complete list.J/// The set of permissions granted by the user in the associated request.
=/// Inspect the token's permissions set for a complete list.
MG63c:@M@FBSDKLoginKit@objc(cs)FBSDKTooltipView(im)dismiss…Remove tooltip manually. Calling this method isn’t necessary - tooltip will dismiss itself automatically after the displayDuration./// Remove tooltip manually.
q/// Calling this method isn't necessary - tooltip will dismiss itself automatically after the `displayDuration`.
S{›Søc:@M@FBSDKLoginKit@E@FBSDKRefreshFallbackPolicy@FBSDKRefreshFallbackPolicyAutomatic‰Cascade through the available refresh mechanisms, falling back to higher-friction options when lower-friction ones cannot recover. Order: V/// Cascade through the available refresh mechanisms, falling back to higher-friction
</// options when lower-friction ones cannot recover. Order:
///
</// 1. `.directOnly` (truly silent, DPoP-bound HTTPS POST).
Q/// 2. On any failure other than `.featureDisabled` (including `.notDPoPBound`),
R///    fall back to `.silentOnly` (`prompt=none` via ASWebAuthenticationSession).
S///    Silent re-sends `dpop_jkt` to mint a freshly bound token, so it can recover
X///    both a missing binding (`.notDPoPBound`) and transient direct-endpoint failures.
R/// 3. If `.silentOnly` returns `.loginRequired` or `.consentRequired`, fall back
;///    to `.explicitOnly`. Otherwise propagate the result.
///
N/// `.featureDisabled` is *never* recovered â€” the kill switch is respected.
XƒíŽ\Ys:13FBSDKLoginKit18FBLoginTooltipViewC27serverConfigurationProviderAA06ServerG9Providing_pvpService configuration provider#/// Service configuration provider
`ÆÏ.^s:13FBSDKLoginKit26AuthenticationTokenFactoryCœClass responsible for generating an AuthenticationToken given a valid token string. An AuthenticationToken is verified based of the OpenID Connect Protocol.ª/**
 Class responsible for generating an `AuthenticationToken` given a valid token string.
 An `AuthenticationToken` is verified based of the OpenID Connect Protocol.
 */b![@—c:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginCodeInfo(py)loginCode?The short â€œuser_code” that should be presented to the user.@/// The short "user_code" that should be presented to the user.
fE=*Gkc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManager(cpy)directRefreshIsEnabledGates dpop_jkt emission (and, in extensions, the direct refresh path) behind the same GateKeeper used by silent refresh â€” keeping at-login binding and at-refresh use of that binding atomically rollable. Tests inject { true } / { false } to bypass the runtime feature flag.S/// Gates `dpop_jkt` emission (and, in extensions, the direct refresh path) behind
P/// the same GateKeeper used by silent refresh â€” keeping at-login binding and
R/// at-refresh use of that binding atomically rollable. Tests inject `{ true }` /
4/// `{ false }` to bypass the runtime feature flag.
    iS5^:cc:@M@FBSDKLoginKit@objc(pl)FBSDKDeviceLoginManagerDelegate"A delegate for DeviceLoginManager.)/// A delegate for `DeviceLoginManager`.
oÀ 9‹s:13FBSDKLoginKit27SilentAuthenticationSessionC6cancelyyF7Cancels the in-progress authentication session, if any.</// Cancels the in-progress authentication session, if any.
o{U«`c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManager(im)logInWithPermissions:fromViewController:handler:6Logs the user in or authorizes additional permissions.¸/**
   Logs the user in or authorizes additional permissions.
 
   @param permissions the optional array of permissions. Note this is converted to NSSet and is only
   an NSArray for the convenience of literal syntax.
   @param viewController the view controller to present from. If nil, the topmost view controller will be
   automatically determined as best as possible.
   @param handler the callback.
 
   Use this method when asking for read permissions. You should only ask for permissions when they
   are needed and explain the value to the user. You can inspect the `FBSDKLoginManagerLoginResultBlock`'s
   `result.declinedPermissions` to provide more information to the user if they decline permissions.
   You typically should check if `AccessToken.current` already contains the permissions you need before
   asking to reduce unnecessary login attempts. For example, you could perform that check in `viewDidLoad`.
 
   @warning You can only perform one login call at a time. Calling a login method before the completion handler is
   called on a previous login attempt will result in an error.
   @warning This method will present a UI to the user and thus should be called on the main thread.
   */oGbîEEc:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginCodeInfo(py)expirationDateThe expiration date./// The expiration date.
tµDB<-c:@M@FBSDKLoginKit@E@FBSDKLoginError@FBSDKLoginErrorReservedReserved /// Reserved
uu˜WBos:13FBSDKLoginKit14DPoPKeyManagerC13getPrivateKeySo03SecH3RefaSgyF)Returns the existing private key, if any../// Returns the existing private key, if any.
um±3Is:13FBSDKLoginKit3JWTO7payload4fromSDySSypGSgSS_tFZReturns the JWT payload as a dictionary, or nil if the input is not a well-formed three-segment JWT with a valid base64url-encoded JSON payload.J/// Returns the JWT payload as a dictionary, or nil if the input is not a
O/// well-formed three-segment JWT with a valid base64url-encoded JSON payload.
w‡Ì©'s:13FBSDKLoginKit12LoginManagerC014refreshLimitedC04from14fallbackPolicy10completionySo16UIViewControllerCSg_AA015RefreshFallbackI0Oys6ResultOyAA0fcmO0VAA0fcM5ErrorOGctF[Refreshes a Limited Login session by obtaining an updated profile and authentication token.`/// Refreshes a Limited Login session by obtaining an updated profile and authentication token.
///
\/// This method attempts to refresh the current Limited Login session. The behavior depends
/// on the `fallbackPolicy`:
\/// - `.directOnly`: A truly silent DPoP-bound HTTPS POST. No user-visible UI. Requires the
S///   current token to carry a `cnf.jkt` claim; otherwise returns `.notDPoPBound`.
[/// - `.silentOnly`: A `prompt=none` OIDC flow via `ASWebAuthenticationSession`. Shows the
8///   Apple system permission modal but no Facebook UI.
Z/// - `.explicitOnly`: A standard Limited Login dialog. The user re-authenticates through
///   the normal login flow.
Y/// - `.automatic`: Cascades through the three above. Tries direct first; on any failure
Z///   other than `.featureDisabled`, falls back to silent (which sends `dpop_jkt` to mint
W///   a fresh bound token, so it can recover from `.notDPoPBound` as well as transient
X///   direct failures); if silent returns `.loginRequired` or `.consentRequired`, falls
Z///   back to explicit. `.featureDisabled` is never recovered from â€” the kill switch is
///   respected.
///
/// - Parameters:
V///   - viewController: The view controller from which to present login UI if needed.
L///     If `nil`, the topmost view controller will be used. Default: `nil`.
E///   - fallbackPolicy: The refresh strategy. Default: `.automatic`.
I///   - completion: A closure called with a `Result` containing either a
[///     `LimitedLoginRefreshResult` on success or a `LimitedLoginRefreshError` on failure.
ys>N&ìs:13FBSDKLoginKit18RefreshRateLimiterC2Rate limiter for Limited Login refresh operations.7/// Rate limiter for Limited Login refresh operations.
///
Q/// This class implements client-side rate limiting to prevent abuse and protect
0/// against excessive server load. It enforces:
4/// - Minimum interval between any refresh attempts
'/// - Extended cooldown after failures
 /// - Maximum attempts per hour
///
 /// ## Usage
 /// ```swift
0/// let rateLimiter = RefreshRateLimiter.shared
///
)/// if rateLimiter.canAttemptRefresh() {
$///     rateLimiter.recordAttempt()
#///     performRefresh { result in
///         switch result {
///         case .success:
,///             rateLimiter.recordSuccess()
///         case .failure:
,///             rateLimiter.recordFailure()
///         }
 
///     }
 /// } else {
A///     let waitTime = rateLimiter.timeUntilNextAllowedAttempt()
A///     print("Rate limited. Try again in \(waitTime) seconds.")
/// }
/// ```
///
/// ## Thread Safety
I/// All public methods are thread-safe and can be called from any queue.
|÷L•]Çc:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorLoginRequiredÈThe Facebook session backing this token has expired (or never existed for this browser session). The user must complete a full login flow to obtain a new token. Maps to OIDC error code login_required.S/// The Facebook session backing this token has expired (or never existed for this
V/// browser session). The user must complete a full login flow to obtain a new token.
./// Maps to OIDC error code `login_required`.
~¯ 2žc:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError8Errors emitted by LoginManager.refreshLimitedLogin(...).?/// Errors emitted by `LoginManager.refreshLimitedLogin(...)`.
///
N/// Each case names the *specific* condition the SDK detected, so a developer
N/// can decide what to do without inspecting log output. The textual messages
O/// returned by `errorDescription` describe the condition in actionable terms.
‡C>§A\c:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginManager(py)redirectURLšThe optional URL to redirect the user to after they complete the login. The URL must be configured in your App Settings -> Advanced -> OAuth Redirect URIsª/**
   The optional URL to redirect the user to after they complete the login.
   The URL must be configured in your App Settings -> Advanced -> OAuth Redirect URIs
   */ˆo-s:13FBSDKLoginKit25LimitedLoginRefreshResultV1The result of a successful Limited Login refresh.6/// The result of a successful Limited Login refresh.
‹Éì.Ÿs:13FBSDKLoginKit26SilentAuthSessionProvidingP@Protocol abstracting ASWebAuthenticationSession for testability.G/// Protocol abstracting `ASWebAuthenticationSession` for testability.
àqhÅs:13FBSDKLoginKit11LoginResultO7successyACShy09FBSDKCoreB010PermissionOG_AHSo16FBSDKAccessTokenCSgtcACmFTUser succesfully logged in. Contains granted, declined permissions and access token.Y/// User succesfully logged in. Contains granted, declined permissions and access token.
ŽÃxÏ>qc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginButton(py)tooltipBehavior*Gets or sets the desired tooltip behavior.//// Gets or sets the desired tooltip behavior.
q»“N‚c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManager(im)reauthorizeDataAccess:handler:)Requests user’s permission to reathorize application’s data access, after it has expired due to inactivity. @param viewController the view controller from which to present the login UI. If nil, the topmost view controller will be automatically determined and used. @param handler the callback.A/**
   Requests user's permission to reathorize application's data access, after it has expired due to inactivity.
   @param viewController the view controller from which to present the login UI. If nil, the topmost view
   controller will be automatically determined and used.
   @param handler the callback.
 
   Use this method when you need to reathorize your app's access to user data via the Graph API.
   You should only call this after access has expired.
   You should provide as much context to the user as possible as to why you need to reauthorize the access, the
   scope of access being reathorized, and what added value your app provides when the access is reathorized.
   You can inspect the `result.declinedPermissions` to determine if you should provide more information to the
   user based on any declined permissions.
 
   @warning This method will reauthorize using a `LoginConfiguration` with `FBSDKLoginTracking` set to `.enabled`.
   @warning This method will present UI the user. You typically should call this if `AccessToken.isDataAccessExpired`
   is true.
   */«&—g=c:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorDpopKeyGenerationFailedxThe SDK could not generate or load the DPoP private key from the keychain. The most common cause is the host app lacking a keychain-access-groups entitlement (e.g. an unsigned simulator build, or a development build with no DEVELOPMENT_TEAM/CODE_SIGN_ENTITLEMENTS configured). Other causes: device locked before first unlock, Secure Enclave access denied, keychain corruption. O/// The SDK could not generate or load the DPoP private key from the keychain.
M/// The most common cause is the host app lacking a `keychain-access-groups`
O/// entitlement (e.g. an unsigned simulator build, or a development build with
N/// no `DEVELOPMENT_TEAM`/`CODE_SIGN_ENTITLEMENTS` configured). Other causes:
N/// device locked before first unlock, Secure Enclave access denied, keychain
/// corruption.
///
L/// When this happens at login time, `dpop_jkt` is silently omitted and the
Q/// resulting token has no `cnf.jkt` â€” subsequent `.directOnly` refreshes will
N/// return `.notDPoPBound`. When it happens at refresh time, the SDK surfaces
@/// this case directly. Inspect device console logs filtered to
F/// `com.facebook.sdk` for the underlying `OSStatus` / `CFError` from
A/// `SecKeyCreateRandomKey` / `SecAccessControlCreateWithFlags`.
º,9!s:13FBSDKLoginKit15RateLimitConfigO15minimumIntervalSdvpZ|Minimum interval between refresh attempts (60 seconds). Prevents rapid-fire refresh attempts that could overload the server.</// Minimum interval between refresh attempts (60 seconds).
I/// Prevents rapid-fire refresh attempts that could overload the server.
Ãž eas:13FBSDKLoginKit21NativeAppLoginHandlerC07performcdE012loggingToken7handlerySSSg_ySb_s5Error_pSgtctF"Performs native Facebook app login'/// Performs native Facebook app login
{¡|VUc:@M@FBSDKLoginKit@E@FBSDKRefreshFallbackPolicy@FBSDKRefreshFallbackPolicyExplicitOnly–Run only an explicit Limited Login flow (presents the standard Facebook login dialog). Use when the caller wants to be sure the user re-authenticates.R/// Run only an explicit Limited Login flow (presents the standard Facebook login
M/// dialog). Use when the caller wants to be sure the user re-authenticates.
”#"Ù4_s:13FBSDKLoginKit10LoginErrorV7unknownAA0cD4CodeOvpZ!The error code for unknown errors&/// The error code for unknown errors
–_ÛÉK“s:13FBSDKLoginKit14DPoPKeyManagerC23generateKeyPairIfNeededSo03SecG3RefayKF;Returns the existing private key, generating one if absent.@/// Returns the existing private key, generating one if absent.
–TS@_s:13FBSDKLoginKit16DeviceLoginErrorV11codeExpiredAA0cdE4CodeOvpZ!The code you entered has expired.&/// The code you entered has expired.
–ó®¨[ƒc:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorRateLimited¦The client-side rate limiter is throttling refresh attempts. Inspect RefreshRateLimiter.shared.timeUntilNextAllowedAttempt() to know how long to wait before retrying.I/// The client-side rate limiter is throttling refresh attempts. Inspect
O/// `RefreshRateLimiter.shared.timeUntilNextAllowedAttempt()` to know how long
/// to wait before retrying.
–+‰œ•s:13FBSDKLoginKit10LoginErrorV<Custom error type for login errors in the login error domainA/// Custom error type for login errors in the login error domain
— üÏrÎc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:nonce:messengerPageId:authType:HAttempts to initialize a new configuration with the expected parameters.n/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for a login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   @param nonce an optional nonce to use for the login attempt. A valid nonce must be a non-empty string without whitespace.
   Creation of the configuration will fail if the nonce is invalid.
   @param messengerPageId the associated page id  to use for a login attempt.
   @param authType auth_type param to use for login.
   */
—½¹Ç@‹s:13FBSDKLoginKit10LoginErrorV18badChallengeStringAA0cD4CodeOvpZ7The login response was missing a valid challenge string</// The login response was missing a valid challenge string
    ž›Ì‰Nóc:@CM@FBSDKLoginKit@objc(cs)FBSDKLoginManager(cpy)directRefreshCnfJktExtractorÂTest seam: extracts the cnf.jkt claim from the bound id_token. Production reads the JWT payload via JWT.payload(from:) rather than AuthenticationToken.claims(), because the latter rejects tokens older than 10 minutes via temporal validation â€” and .directOnly exists specifically to refresh stale tokens. Reading cnf.jkt is a structural concern, independent of token freshness. Tests can inject a closure that returns a thumbprint (or nil) directly.P/// Test seam: extracts the `cnf.jkt` claim from the bound id_token. Production
?/// reads the JWT payload via `JWT.payload(from:)` rather than
Q/// `AuthenticationToken.claims()`, because the latter rejects tokens older than
T/// 10 minutes via temporal validation â€” and `.directOnly` exists specifically to
Q/// refresh stale tokens. Reading `cnf.jkt` is a structural concern, independent
M/// of token freshness. Tests can inject a closure that returns a thumbprint
/// (or nil) directly.
 WçëK_c:@M@FBSDKLoginKit@E@FBSDKDeviceLoginError@FBSDKDeviceLoginErrorCodeExpired!The code you entered has expired.&/// The code you entered has expired.
    §só•<ƒs:13FBSDKLoginKit10LoginErrorV14invalidIDTokenAA0cD4CodeOvpZ3The ID token returned in login response was invalid8/// The ID token returned in login response was invalid
 
©ƒÌ8Yc:@M@FBSDKLoginKit@objc(cs)FBSDKTooltipView(py)textLabelPrimary text label for tooltip#/// Primary text label for tooltip
«3¸NMc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManagerLoginResult(py)authenticationTokenThe authentication token/// The authentication token
¬{¡áHÍc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManager(im)initWithDefaultAudience:'Initialize an instance of LoginManager.Ž/**
   Initialize an instance of `LoginManager.`
 
   - parameter defaultAudience: Optional default audience to use. Default: `.friends`.
   */­f÷6Ìc:@M@FBSDKLoginKit@objc(cs)SilentAuthenticationSessionTManages a silent ASWebAuthenticationSession for OIDC token refresh with prompt=none.    ]/// Manages a silent `ASWebAuthenticationSession` for OIDC token refresh with `prompt=none`.
///
Y/// This class wraps `ASWebAuthenticationSession` to perform a background authentication
X/// request that leverages existing Facebook session cookies. The session is configured
[/// with `prefersEphemeralWebBrowserSession = false` so that shared cookies are available.
///
/// ## Testability
K/// Accepts a `sessionProvider` factory closure so tests can inject a mock
Q/// `SilentAuthSessionProviding` instead of a real `ASWebAuthenticationSession`.
­‹˜*/c:@M@FBSDKLoginKit@objc(cs)FBSDKPermissionvInternal Type exposed to facilitate transition to Swift. API Subject to change or removal without warning. Do not use.¡/**
 Internal Type exposed to facilitate transition to Swift.
 API Subject to change or removal without warning. Do not use.
 - Warning INTERNAL:  DO NOT USE
 */­i¾äC³s:So17FBSDKAppEventNamea13FBSDKLoginKitE20sessionAuthMethodEndABvpZKUse to log the end of the last tried auth method as part of an auth requestP/// Use to log the end of the last tried auth method as part of an auth request
®IÀC7Qc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginButton(py)delegateGets or sets the delegate./// Gets or sets the delegate.
¯3\õ:c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginButton(py)permissionsThe permissions to request. To provide the best experience, you should minimize the number of permissions you request, and only ask for them when needed. For example, do not ask for â€œuser_location” until you the information is actually used by the app.ê/**
   The permissions to request.
   To provide the best experience, you should minimize the number of permissions you request, and only ask for them when needed.
   For example, do not ask for "user_location" until you the information is actually used by the app.
 
   Note this is converted to NSSet and is only
   an NSArray for the convenience of literal syntax.
 
   See [the permissions guide]( https://developers.facebook.com/docs/facebook-login/permissions/ ) for more details.
   */¯    •äYÜc:@M@FBSDKLoginKit@objc(cs)FBSDKTooltipView(im)presentInView:withArrowPosition:direction:DAdds tooltip to given view, with given position and arrow direction.I/// Adds tooltip to given view, with given position and arrow direction.
/// - Parameters:
,///   - view: View to be used as superview.
P///   - arrowPosition: Point in view's cordinates, where arrow will be pointing
‰///   - direction: whenever arrow should be pointing up (message bubble is below the arrow) or down (message bubble is above the arrow).
¯_¥ŸSŒc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:HAttempts to initialize a new configuration with the expected parameters.,/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for the login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   */±ùá(C‰c:@M@FBSDKLoginKit@E@FBSDKLoginError@FBSDKLoginErrorPasswordChanged7The user’s password has changed and must log in again:/// The user's password has changed and must log in again
²CŠ5gc:@M@FBSDKLoginKit@objc(cs)FBSDKCodeVerifier(py)value%The string value of the code verifier*/// The string value of the code verifier
¶1 ^[-c:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginManager(im)initWithPermissions:enableSmartLogin:Initializes a new instance. @param permissions The permissions to request. @param enableSmartLogin Whether to enable smart login.”/**
   Initializes a new instance.
   @param permissions The permissions to request.
   @param enableSmartLogin Whether to enable smart login.
   */·­¸¶*¥c:@M@FBSDKLoginKit@E@FBSDKDeviceLoginErrorDCustom error codes for device login errors in the login error domainI/// Custom error codes for device login errors in the login error domain
¹û-4º…s:13FBSDKLoginKit21LimitedLoginRefresherC7refresh13existingToken0G6UserID6scopes10completionySo019FBSDKAuthenticationH0C_SSSaySSGys6ResultOy09FBSDKCoreB07ProfileCAA0cD12RefreshErrorOGctFlOrchestrates the full refresh flow: build URL, start silent auth session, parse response, and process token. N/// Orchestrates the full refresh flow: build URL, start silent auth session,
'/// parse response, and process token.
///
P/// This is the top-level method called by `LoginManager.performSilentRefresh`.
///
/// - Parameters:
E///   - existingToken: The current `AuthenticationToken` to refresh.
C///   - existingUserID: The user ID from `Profile.current.userID`.
V///     Must come from Profile, NOT from `AuthenticationToken.current.claims()?.sub`,
O///     because `claims()` returns nil for tokens older than 10 minutes due to
A///     temporal validation in `AuthenticationTokenClaims.init`.
\///   - completion: Called with the refreshed `Profile` on success, or an error on failure.
ºókŒ‘s:13FBSDKLoginKit26AuthenticationTokenFactoryC06createD011tokenString5nonce11graphDomain10completionySS_S2SySo019FBSDKAuthenticationD0CSgctF«Create an AuthenticationToken given a valid token string. Returns nil to the completion handler if the token string is invalid An AuthenticationToken is verified based of the OpenID Connect Protocol. @param tokenString the raw ID token string @param nonce the nonce string used to associate a client session with the token @param graphDomain the graph domain where user is authenticated @param completion the completion handlerÎ/**
   Create an `AuthenticationToken` given a valid token string.
   Returns nil to the completion handler if the token string is invalid
   An `AuthenticationToken` is verified based of the OpenID Connect Protocol.
   @param tokenString the raw ID token string
   @param nonce the nonce string used to associate a client session with the token
   @param graphDomain the graph domain where user is authenticated
   @param completion the completion handler
   */¾wÙ}N)c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManagerLoginResult(py)declinedPermissionsThe set of permissions declined by the user in the associated request. Inspect the token’s permissions set for a complete list.K/// The set of permissions declined by the user in the associated request.
=/// Inspect the token's permissions set for a complete list.
¿_•‚/s:13FBSDKLoginKit27SilentAuthCompletionHandlera8Completion handler for authentication session callbacks.=/// Completion handler for authentication session callbacks.
¿Qè<×c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginButton(py)loginTracking\Gets or sets the desired tracking preference to use for login attempts. Defaults to .enabledc/// Gets or sets the desired tracking preference to use for login attempts. Defaults to `.enabled`
ÁÙB4L“c:@M@FBSDKLoginKit@objc(pl)FBSDKLoginButtonDelegate(im)loginButtonWillLogin:²Sent to the delegate when the button is about to login. @param loginButton The button being used to log in @return true if the login should be allowed to proceed, false otherwiseÉ/**
   Sent to the delegate when the button is about to login.
   @param loginButton The button being used to log in
   @return `true` if the login should be allowed to proceed, `false` otherwise
   */ï‚È^ac:@M@FBSDKLoginKit@E@FBSDKLimitedLoginRefreshError@FBSDKLimitedLoginRefreshErrorNoCurrentTokenšAuthenticationToken.current is nil. There is no Limited Login session to refresh â€” the user has either never logged in on this device or has logged out.Q/// `AuthenticationToken.current` is `nil`. There is no Limited Login session to
V/// refresh â€” the user has either never logged in on this device or has logged out.
Ãg°>c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(py)authType1The auth type associated with this login request.6/// The auth type associated with this login request.
ĕ[Þ;_c:@M@FBSDKLoginKit@E@FBSDKLoginError@FBSDKLoginErrorUnknown!The error code for unknown errors&/// The error code for unknown errors
Ä·ƒG|c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:nonce:messengerPageId:authType:appSwitch:HAttempts to initialize a new configuration with the expected parameters.¶/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for a login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   @param nonce an optional nonce to use for the login attempt. A valid nonce must be a non-empty string without whitespace.
   Creation of the configuration will fail if the nonce is invalid.
   @param messengerPageId the associated page id  to use for a login attempt.
   @param authType auth_type param to use for login.
   @param appSwitch the app switch behavior to use for a login attempt.
   */ ĕa*>³s:13FBSDKLoginKit10LoginErrorV16userCheckpointedAA0cD4CodeOvpZKThe user must log in to their account on www.facebook.com to restore accessP/// The user must log in to their account on www.facebook.com to restore access
ǹ¢Þ)]c:@M@FBSDKLoginKit@E@FBSDKDefaultAudiencedPassed to openURL to indicate which default audience to use for sessions that post data to Facebook.á/**
 Passed to openURL to indicate which default audience to use for sessions that post data to Facebook.
 
 Certain operations such as publishing a status or publishing a photo require an audience. When the user
 grants an application permission to perform a publish operation, a default audience is selected as the
 publication ceiling for the application. This enumerated value allows the application to select which
 audience to ask the user to grant publish permission for.
 */͓Þ!*‹s:13FBSDKLoginKit22RefreshGateKeeperCheckC;SDK-side kill switch for the Limited Login Refresh feature.@/// SDK-side kill switch for the Limited Login Refresh feature.
///
J/// The SDK queries the feature key `FBSDKFeatureLimitedLoginRefresh` via
S/// `_FeatureManager`. That key is mapped server-side (in the `MOBILE_SDK_GK_KEYS`
B/// sitevar; see D95281666 and D95339723) to the **app-keyed** GK
J/// `mobile_sdk_limited_login_refresh_enabled`, which is the rollout dial
M/// operators flip per app_id. SDK GK lookups don't carry a user_id, so this
/// gate has to be app-keyed.
///
-/// Note: a historical user-keyed privacy GK
S/// (`platform_login_oidc_prompt_none_fb`) once gated the server-side OAuth dialog
M/// and refresh endpoints, but it was unified away in D104182324 â€” www now
L/// evaluates the same app-keyed `mobile_sdk_limited_login_refresh_enabled`
P/// (per app_id), so the SDK and server gate on one dial and roll out together.
-/// No separate privacy GK needs to be open.
///
M/// Despite the historical method name (`isSilentRefreshEnabled`), this gate
Q/// covers the entire Limited Login Refresh feature: the silent path, the direct
Q/// path, and `dpop_jkt` emission at initial Limited Login. Renaming is deferred
;/// to avoid touching every call site landed in Phase 1-2.
Ïy¦l=»s:So17FBSDKAppEventNamea13FBSDKLoginKitE14sessionAuthEndABvpZOUse to log the end of an auth request that was not fulfilled by the token cacheT/// Use to log the end of an auth request that was not fulfilled by the token cache
Òo V#ms:13FBSDKLoginKit15RateLimitConfigO(Configuration for refresh rate limiting.-/// Configuration for refresh rate limiting.
Ó;n8s:13FBSDKLoginKit18RefreshRateLimiterC13recordAttemptyyF+Records that a refresh attempt is starting.0/// Records that a refresh attempt is starting.
///
F/// Call this method immediately before starting a refresh operation.
J/// This updates the last attempt timestamp and adds to the hourly count.
 
֙g>ýs:13FBSDKLoginKit25LimitedLoginRefreshResultV4pathAA0E4PathOvpiWhich subroutine produced this result. For .automatic, identifies the tier of the cascade that succeeded.L/// Which subroutine produced this result. For `.automatic`, identifies the
(/// tier of the cascade that succeeded.
ØiÇ7<5c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginTooltipView(py)delegate the delegate/// the delegate
Û1)/ms:13FBSDKLoginKit11LoginResultO9cancelledyA2CmF(Login attempt was cancelled by the user.-/// Login attempt was cancelled by the user.
Û©*7Lc:@M@FBSDKLoginKit@objc(pl)FBSDKLoginButtonDelegate(im)loginButtonDidLogOut:mSent to the delegate when the button was used to logout. @param loginButton The button being used to log out.}/**
   Sent to the delegate when the button was used to logout.
   @param loginButton The button being used to log out.
   */ÜF.G‹s:13FBSDKLoginKit13FBLoginButtonC15TooltipBehaviorO12forceDisplayyA2EmF7Force display of the tooltip (typically for UI testing)</// Force display of the tooltip (typically for UI testing)
܇,±]Ôc:@M@FBSDKLoginKit@objc(cs)FBSDKLoginConfiguration(im)initWithPermissions:tracking:appSwitch:HAttempts to initialize a new configuration with the expected parameters.t/**
   Attempts to initialize a new configuration with the expected parameters.
 
   @param permissions the requested permissions for the login attempt. Permissions must be an array of strings that do not contain whitespace.
   @param tracking the tracking preference to use for a login attempt.
   @param appSwitch the app switch behavior to use for a login attempt.
   */ß ÏYùs:13FBSDKLoginKit20DirectRefreshSessionC17defaultURLBuildery10Foundation3URLVSgSS_SStcvpZQDefault URL builder. Calls Utility.unversionedFacebookURL to construct the refresh endpoint â€” same pattern as AuthenticationTokenFactory uses for the OIDC certs endpoint. The server mounts /limited_login/refresh/ directly, with no Graph API version prefix; the default facebookURL(...) builder would prepend /v<N>.<M>/ and yield a 404.M/// Default URL builder. Calls `Utility.unversionedFacebookURL` to construct
O/// the refresh endpoint â€” same pattern as `AuthenticationTokenFactory` uses
M/// for the OIDC certs endpoint. The server mounts `/limited_login/refresh/`
O/// directly, with no Graph API version prefix; the default `facebookURL(...)`
8/// builder would prepend `/v<N>.<M>/` and yield a 404.
âå¸9þs:13FBSDKLoginKit18RefreshRateLimiterC010canAttemptC0SbyF<Checks if a refresh attempt is allowed based on rate limits.A/// Checks if a refresh attempt is allowed based on rate limits.
///
5/// This method checks all rate limiting conditions:
8/// 1. Minimum interval since last attempt (60 seconds)
9/// 2. Failure cooldown period (5 minutes after failure)
3/// 3. Hourly attempt limit (10 attempts per hour)
///
P/// - Returns: `true` if a refresh attempt is allowed, `false` if rate-limited.
ä=#¥O s:13FBSDKLoginKit18RefreshRateLimiterC12dateProviderAC10Foundation4DateVyc_tcfc$Creates a new rate limiter instance.)/// Creates a new rate limiter instance.
///
@/// Use `RefreshRateLimiter.shared` for the app-wide singleton.
J/// Pass a custom `dateProvider` in tests for deterministic time control.
ås @C³s:So17FBSDKAppEventNamea13FBSDKLoginKitE20sessionAuthHeartbeatABvpZKUse to log the post-login heartbeat event after  the end of an auth requestP/// Use to log the post-login heartbeat event after  the end of an auth request
éKû=T¡c:@M@FBSDKLoginKit@E@FBSDKRefreshFallbackPolicy@FBSDKRefreshFallbackPolicyDirectOnly,Run only the truly-silent direct refresh (DPoP-bound HTTPS POST to the refresh endpoint). Returns .notDPoPBound when the current token has no cnf.jkt claim, or .loginRequired when the server rejects the proof (e.g. the device key no longer matches cnf.jkt). Use when no user-visible UI is acceptable.S/// Run only the truly-silent direct refresh (DPoP-bound HTTPS POST to the refresh
O/// endpoint). Returns `.notDPoPBound` when the current token has no `cnf.jkt`
R/// claim, or `.loginRequired` when the server rejects the proof (e.g. the device
Q/// key no longer matches `cnf.jkt`). Use when no user-visible UI is acceptable.
ëÛéß@=c:@M@FBSDKLoginKit@objc(cs)FBSDKLoginManagerLoginResult(py)tokenThe access token/// The access token
ôµèzG/c:@M@FBSDKLoginKit@objc(cs)FBSDKDeviceLoginManagerResult(py)accessToken    The token/// The token
ôsmJ}s:13FBSDKLoginKit16DeviceLoginErrorV21authorizationDeclinedAA0cdE4CodeOvpZ0User has declined to authorize your application.5/// User has declined to authorize your application.
÷›xt”s:13FBSDKLoginKit15LoginCompletingP08completeC05nonce12codeVerifier7handlerySSSg_AHyAA01_C20CompletionParametersCctF·Invoke handler with the login parameters derived from the authentication result. See the implementing class’s documentation for whether it completes synchronously or asynchronously.Å/**
   Invoke handler with the login parameters derived from the authentication result.
   See the implementing class's documentation for whether it completes synchronously or asynchronously.
   */ûaM|":s:13FBSDKLoginKit14DPoPKeyManagerCPManages the device’s DPoP key pair lifecycle for Limited Login direct refresh.
S/// Manages the device's DPoP key pair lifecycle for Limited Login direct refresh.
///
R/// On real devices with a Secure Enclave the private key is generated and stored
T/// in the Secure Enclave (non-extractable). On the iOS simulator a software-backed
^/// P-256 key is generated and stored in the Keychain instead â€” `SecureEnclave.isAvailable`
U/// reports true on Apple-silicon simulators but adding an SE-backed key there fails
E/// with `errSecMissingEntitlement`, so we use a compile-time guard.
///
U/// The public key is exposed as a JWK (RFC 7517) and as a JWK Thumbprint (RFC 7638)
</// for use as the `dpop_jkt` parameter sent at login time.
þɃ;Lc:@M@FBSDKLoginKit@objc(cs)FBSDKPermission(cm)rawPermissionsFromPermissions:wReturns a set of string permissions from a set of FBPermission by extracting the â€œvalue” property for each element.…/**
   Returns a set of string permissions from a set of `FBPermission` by
   extracting the "value" property for each element.
   */ÿ•ô¬A$s:13FBSDKLoginKit13FBLoginButtonC15TooltipBehaviorO7disableyA2EmFForce disable. In this case you can still exert more refined control by manually constructing a FBSDKLoginTooltipView instance./** Force disable. In this case you can still exert more refined
     control by manually constructing a `FBSDKLoginTooltipView` instance. */FÇÕ uBÈjeמg ‘#¦'µ(Ä*W+k,×-#2I3û3.8;·;þ=Â?6B CåE<HoIÒJLcMâM&PRÒSU=ZþZ®[e]ë_óc'gj¶km”qÇsÃwÓx¬y\}/~òŸˆÔŒÍ“•—ã˜Ê™¼šŒ›ÄcŸ( Ö ª¡f¢¤¥¦´§NªÎ­n®°Ž³]¶^·ö¸×ºbÀªÂÖÅÈÈÈÍCÐÝкԼÕ%ש؂۬àFâõã£çÅéÀê™ì~íÐï\óôõüõœù–ûÏüœýfÖ€»,Ä À0þ2M¯¥"i#ˆ$X%'ˆ1—2ý3›6y:û;r=ËAŽB(D EÍGxHROÉORîY_@acÉdƒe^f™gVhäsÕwvx¶|ۀ*…â…¯†N‡÷‡‰‘Ž'–w—!˜·™”šáž £‘¤z¦g¨ýª@°Ô²—¸¹;º »é¼h½l¿‰ÂéÅ.ȖɚʝÍ(ÎÏ•ÑÿÔmÖ"
h!