ELF(@@'$/Jtþ"a"RuADzR| 8D-DP 0 | PD-D ,TD-D H  `  HD-4D-D0L 0  0LD-D ,D-D H  `  HD-<\D-D@P @ , @PD-L,pD-D\ `    \D-D ,|D-D H    HD-,tD-D H   x  HD-D ,D-D0L   p 0LD-D 4 D-D0L 0  0LD-D k$|?#{W O A8!RC*8R?cT*hr@qTur@ RJr R@ @yCx k Kz T@ TR @y R k KzxT@*ϊR @y rR k KzCy@T@ `R @ydR k; Kz{y T@ R @y fR k3 KzkyT@ R @yfR k+ Kz[yT@R @y rhR k Kz#KyT@R @yJrkhR k Kz;y`T@R @y `rfR k Kz+y!T Cx !@x>H@9h 7[B R1)!R* !RA8C_ !T*OJWI{H#_Rc#@_Qr1{rk@TE0?֠@ATѡ!RR8R@T*5!RB }_)y } Ȫ5eH?#{O!RR8R?cT*!R**OA{¨#_ֽV?#{ OR*8R?cT*hr@qThr@ @9i4!R*OB @{è#_ִ @9@9!R* gj?#{ORR8R?cT*!R**OA{¨#_,E?#{_WOR*8R?cTi*7!R@R@T@ @9T6@x*8R*?T!R T@R*i i****OCWB_A{Ĩ#_)0?#C{og_WOA8C=*`!C#R*7 @RY@ @w2kTR_Tjh8_qaTj(8aR*8R@Ti*/5!R R!R*8R?cTifs@%qTs@!R@yq@x@9( 4w 6hJA9 .R k R q k + *TL|,ilx k@Tj L\} )T,qJ`@Zi J_Y S3Sf/@9$5hJA9q!T2?#T*i!RR*8R@ITi*5&!R*8R@ITi*5r@ )j!%qTr@@9!RR*8R@Ti*W5h(s@ )j!qT(s@@9!RV:r@ )j!qaTr@!R>p@!R@x1@xBcR**R R@VBcR;R xv^**BcRzV*BcRZ*BcR#@44#`4[ qT#@4qT#@4@95:4S q Tq@T(R9@4*@*A8C_ T*OHWG_FgEoD{CC#_ ?#{OAR*8R?cThr@qT!ROA{¨#_)0?#{ (@94B5 hB R1)* @{¨#_hB }_)v } Ȫ5k$|?#{CA8C*95@94*5hB R1)*A8C@ T{A@#_hB }_)v } Ȫ5k$|?#{ OaR*8R@ITh*T5!R R!R*8R?#Thr@iqTr@@9Q@x!RAR*8R?#Thr@iqTr@@x1@x!RR*8R?#Thr@i%qTr@@9!RR*8R?#Thr@iqTr@!R hB R1)**OB @{è#_hB }_)v } Ȫ5btbcm_check_bdaddrbtbcm_setup_applebtbcm_set_bdaddrbtbcm_finalizebtbcm_write_pcm_int_paramsbtbcm_setup_patchrambtbcm_patchrambtbcm_read_pcm_int_paramsbtbcm_initializebrcm/%s%s.hcdBCM4356A2BCM4354%s: BCM: Verbose config length mismatch %s: BCM: product %4.4x:%4.4x BCM4324B3BCM43341B0%s: BCM: Controller features length mismatch %s: BCM: Patch failed (%d) %s: BCM: firmware Patch file not found, tried: compatibleBCM4314A0BCM4335A0%s: BCM: Read PCM int params length mismatch BCM20702A0brcm/%s%s.%s.hcdbrcm/BCM%s.%s.hcd-%4.4x-%4.4xBCM20702B0BCM20703A1BCM4335B0BCM4373A0%s: BCM: Read verbose config info failed (%ld) nullBCM4335C0%s: BCM: Read USB product info failed (%ld) %s: BCM: Read controller features failed (%ld) BCM4345C0%s: BCM: Download Minidrv command failed (%d) %s: BCM: '%s' BCM43430B0%s: BCM: Patch command %04x failed (%d) BCM4334B0%s: BCM: chip id %u build %4.4u BCM4329B1%s: BCM: Local name length mismatch /%s: BCM: Reset failed (%d) %s: BCM: Reading local version info failed (%ld) BCM4330B1BCM4343A0%s: BCM: Reading local name failed (%ld) %s: BCM: Write PCM int params failed (%d) %s: BCM: Patch is corrupted %s: BCM: features 0x%2.2x BCM43430A1%s: BCM: Device address length mismatch %s: BCM: Change address command failed (%d) BCM%s: BCM: Read PCM int params failed (%d) %s: %s '%s' Patch BCM4349B1BCM20702A1BCM43142A0BCM2076B1%s: BCM: USB product length mismatch %s: %s (%3.3u.%3.3u.%3.3u) build %4.4u %s: BCM: Local version length mismatch %s: BCM: Reading device address failed (%d) %s: BCM: Using default device address (%pMR) brcm/BCM%s.hcdBCM4362A2BCM4324B5%s: BCM: chip id %u BCM4350C5%s: %s %s: BCM: Using EFI device address (%pMR) BCM4345C5BCM4359C0! !!!&!"#AA a afA AABDF a a"! "af#" BBBaA A!author=Marcel Holtmann description=Bluetooth support for Broadcom devices ver 0.1version=0.1license=GPLvermagic=6.1.99-android14-11-gc151586fe278-ab12919773 SMP preempt mod_unload modversions aarch64name=btbcmintree=Yscmversion=gc151586fe278depends=bluetoothsrcversion=AB4AD4986925484D817AA4E tZaMC&#BDADDRLinuxLinuxbtbcm1J__hci_cmd_sync2{bt_errݤefibt_infodHalt_cb_patch_nopsL#kfree_skb_reason\{baswapғ__stack_chk_failmsleeptof_find_node_opts_by_pathqvof_property_read_string_helper`Ϙstrlenndevm_kmalloc9dstrscpynJnesnprintfkmalloc_cachesCukmalloc_trace)]firmware_request_nowarnrelease_firmware zkfreeumodule_layoutGNUE3n; . di̠GNU<L|P|`|Md|Ml}}  | ||z |z(DP|T|d|h|lxx~~x $4|8|H|?L|?Thl|p||||||?|? hx||||p|p||||P`|d|t|x||||N|N (d||||||||H|L|dl|p| | |0|4|<PXp|||8|8SSSS | | | |X |\ |h |ll |l | |  | | |% |%   $ |( |8 |< |D h x || | | |  | | | |    | | |~$ |~, @ |D |` |d |l x  || || | |  | | | |    |q |q  @ @$ 8 |N< |NT h |l |p  | |  |_ |_  | |   8 X h |l |t x |}| |}  |} |}  |} |}  |} |}  | |  ||$,4|||||||||T`@|||| ||<|@|LT| X| \h|||I|I||,|0|8\|`|hp||t||x|~|~||||{{04{&8{$({,{TX{F\{{ { {7{HL{aP{<@{D{{v{R, RdR$R(||(|8|CH| X|h|x||~|||||j||q|(|g8|H|X|h|tx| |D|||||||&| |(|Android (10087095, +pgo, +bolt, +lto, -mlgo, based on r487747c) clang version 17.0.2 (https://android.googlesource.com/toolchain/llvm-project d9f89f4d16663d5012e5c09495f3b30ece3d2362)RXRR<R,R0RRR0RRdmnopqrstuILMNORSTUVYZ[ #$6=S &00;$$F?TT`v0yv`,{E7  aHH<t<70p?8<(e,1 #p9 ,j09 h_+`d$d3M-Y-;h Bt %  =   fKIvE~tka7 { J2@ #?]E<,\p0tdon~ wpub_TN@.note.gnu.property.note.Linux.hyp.text.rela.text.comment.init.plt.hyp.bss.rela.altinstructions__versions__ksymtab_strings.rela___ksymtab_gpl+btbcm_check_bdaddr.modinfo.rela___ksymtab+btbcm_patchram__ksymtab_gpl__kcrctab_gpl.note.GNU-stack.llvm_addrsig.text.ftrace_trampoline.init.eh_frame.rela.eh_frame.gnu.linkonce.this_module.note.gnu.build-id.shstrtab.strtab__ksymtab.symtab__kcrctab.hyp.rodata.rela.rodata.hyp.data.BTF.rodata.cst16.rodata.str2.2.rodata.str1.1strscpybtbcm_read_usb_productalt_cb_patch_nops____versions__kstrtabns_btbcm_write_pcm_int_params__crc_btbcm_write_pcm_int_params__kstrtab_btbcm_write_pcm_int_params__ksymtab_btbcm_write_pcm_int_params__kstrtabns_btbcm_read_pcm_int_params__crc_btbcm_read_pcm_int_params__kstrtab_btbcm_read_pcm_int_params__ksymtab_btbcm_read_pcm_int_paramskmalloc_cachesbt_errof_property_read_string_helper__kstrtabns_btbcm_set_bdaddr__crc_btbcm_set_bdaddr__kstrtab_btbcm_set_bdaddr__ksymtab_btbcm_set_bdaddr__kstrtabns_btbcm_check_bdaddr__crc_btbcm_check_bdaddr__kstrtab_btbcm_check_bdaddr__ksymtab_btbcm_check_bdaddrmsleepbaswapbt_infofirmware_request_nowarnkfree_skb_reasonstrlen__kstrtabns_btbcm_setup_patchram__crc_btbcm_setup_patchram__kstrtab_btbcm_setup_patchram__ksymtab_btbcm_setup_patchram__kstrtabns_btbcm_patchram__crc_btbcm_patchram__kstrtab_btbcm_patchram__ksymtab_btbcm_patchram__stack_chk_failefiof_find_node_opts_by_pathsnprintf__kstrtabns_btbcm_finalize__crc_btbcm_finalize__kstrtab_btbcm_finalize__ksymtab_btbcm_finalize__kstrtabns_btbcm_initialize__crc_btbcm_initialize__kstrtab_btbcm_initialize__ksymtab_btbcm_initializerelease_firmware__this_module__kstrtabns_btbcm_setup_apple__crc_btbcm_setup_apple__kstrtab_btbcm_setup_apple__ksymtab_btbcm_setup_applebcm_uart_subver_tablebcm_usb_subver_tablekfreekmalloc_tracedevm_kmalloc__hci_cmd_sync_note_9__UNIQUE_ID_version679$d.49$d.39$d.29$d.19$d.9__UNIQUE_ID_description678$d.48__UNIQUE_ID_srcversion338$x.28$x.18$d.8__UNIQUE_ID_author677__UNIQUE_ID_depends337$d.37$d.27$d.17$d.7__UNIQUE_ID_scmversion336$x.36$x.26$x.16$d.6__UNIQUE_ID_intree335$d.35$d.25$d.15$d.5__UNIQUE_ID_name334$x.34$x.24$x.14$d.4__UNIQUE_ID_vermagic333$d.33$d.23$d.13$d.3$d.42$x.32$x.22$x.12$d.12$d.2$d.41$d.31$d.21$d.11$d.1__UNIQUE_ID_license680$d.40$x.30$x.20_note_10$d.10t1t1#I   ##G @  ]  @  2X@ L    @" h ,!5!?!J!U!_!n 0wN@U IIo0I I0 @    @  *0 20 ]I@ :FP IFX S ` |:; Z @ev   @  FFFF F F(F0F8&I@8IP5I`>IpEyH2 T W Z dwp0|0 ^@    @   @00,  @-0`: EU c! @q% '! 0@0`# 0y' ( @   . @ &{@$5 &D &V!@&`&U4'l!'| '^' '^'' (@(/ ( ( D); EF< F0G0 G(G@G5GPGB `GI[ pGS] pI_^ Jg` @Jna Jvc J^K0K0 K!@Kd Kf Lh @Li Ll N O  O$  O; m O L@O LO LOLP"L@P"LP"LP"LQ r T  @    *@ , .  0@ $ 21 2? 2@L 4[ 6n 8} :@ < > @ B@ D F H H@ J- L= NM P@a Pr R T V@ X Z \ ^@ P  `  b " d@ 0 f > h Q j f l@ w n p r t@ v x z |@ ~    ) @< Q h  @    @ .   @!0ET@e{ L L@ LL"L"L@"L"L    g j@ glq!gh f@"h!.h %  ' c ) ^ +  - G/  1 3  5  7  & 9  ;  =  ? 0A  C ^ E G # I GK  M  GDO  Q  ^S  H U  W  O Y  S [  ]  Y Y _  L a _ c b Ge  g i ^k Sm  o  q s u v S GG w v S G y v S G { ~ S} S G   G     G ^   $U                    ^ Icc0  S F00 2S S  S S  " U  S S  U  2 U  S ### #!#4#] h ,!@g!*!@D#R#De#s# #@#D8#^@#^H#^P#X#G`# # # @#H] d##2#L#a#{##@q!6 ( @lH$!E)E####0`#E3$#X # #H0c@#EX#E` Ehp#E0#Ep'#Ex;#EN#EX#hf#EHPt#EP|#H`#Ep5H#H#H#E#H#H#E##E#H#H#E .#E(A#H0U#H@i#EPv#H`#Hp#H#H#H#H#H#H##H7#HN#Hc#Hx#H #H0#H@#HP#H`#Hp#H#H#E#E#H*#H<#HN#Hc#Et#E#E#E#E| #H@#HP#E`#Hp#H#H)#H7#EJ#H\#Hq#E#H#H#H#H #H0#H@#P#XhH` #Hp*#HH6#C#HV#Hi#Et## #@#`#E#H#H####E@2 #0`2 2 #2 #02' #03/ #0 36 #0@3> #0`3F #03N #03U #03] #03f #04o #0 4w #0@4 #H`4 #Hp4% H4 #H4 # 4 # 5 # @5 #E5 #E5U5 #6@67 #< #=!#!?!#6?-!#6A=!#BR!#Dd!#HEs!#E~!#J@N!#R!#V!#@X!Y!#@[!#_!#&c!#&d!#&@e!#f!#@fk6f!#h!#h"#h"#i"#@i"#i."#i8"# @nL"#^`n]"# ns"#^n"#Xn"#oy!o"#^oN^o"#Do"#o"#Dp"#@p"#!q"#!r##!r##!s#!s##!t%##!t4##!uL##!u\##!vk##!vz##!w##!w##!x##!x##!y>ty!z##{##@{4{ D{" @b]####Ș##И##E## $#E$#,$#Ep=$#!K$#0\$#E m$#H0$#@$#/$#0@$#h`$#$#$#@$#$#$# %#!@%#^EM@ ~$l/@ձ2%#?k;%#@D%#O%#='[%#@n%#%# L L@ LLE E %#H H%#H %#H0@E %#(q!%#0%#0%#0%#0%#0%#0 %# (&#&# &#@&#`#&#*&#1&#8&#?&#G&# O&#DE E    0 D ^    ^   E V`&#lEOHUHHi&#E(s&#E0|&#&#&#&#&#'#$'#>'#W'#u'# '# '# '# '# (#:(#T(#x(#(#(#(#)#!)#G)#r)#)#0&E#)# 0 E)# 0&Et#E|# #E 5 (# 8)#)#E.EqE׽EiE   )#i ht3)#  ht#*#  ht'*#  ht3:*#  hth$U*#  htd*#-q*#^*#  ht*# *# *# *#   %Fbcm_subver_tablesubverDISCOVERY_STOPPEDDISCOVERY_STARTINGDISCOVERY_FINDINGDISCOVERY_RESOLVINGDISCOVERY_STOPPINGdiscovery_statelast_adv_addrlast_adv_addr_typelast_adv_rssilast_adv_flagslast_adv_datalast_adv_data_lenreport_invalid_rssiresult_filteringlimitedrssiuuid_countuuidsscan_durationname_resolve_timeoutbdaddr_tBT_RUNNINGBT_SUSPEND_DISCONNECTBT_SUSPEND_CONFIGURE_WAKEINTERLEAVE_SCAN_NONEINTERLEAVE_SCAN_NO_FILTERINTERLEAVE_SCAN_ALLOWLISThci_devbdaddrsetup_addrpublic_addrrandom_addradv_addr_typeshort_nameeirappearancemajor_classminor_classle_featuresle_accept_list_sizele_resolv_list_sizele_num_of_adv_setsle_statesmesh_ad_typesmesh_send_refhci_verhci_revlmp_verlmp_subvervoice_settingnum_iacstored_max_keysstored_num_keysio_capabilityinq_tx_powererr_data_reportingpage_scan_intervalpage_scan_windowpage_scan_typele_adv_channel_maple_adv_min_intervalle_adv_max_intervalle_scan_typele_scan_intervalle_scan_windowle_scan_int_suspendle_scan_window_suspendle_scan_int_discoveryle_scan_window_discoveryle_scan_int_adv_monitorle_scan_window_adv_monitorle_scan_int_connectle_scan_window_connectle_conn_min_intervalle_conn_max_intervalle_conn_latencyle_supv_timeoutle_def_tx_lenle_def_tx_timele_max_tx_lenle_max_tx_timele_max_rx_lenle_max_rx_timele_max_key_sizele_min_key_sizediscov_interleaved_timeoutconn_info_min_ageconn_info_max_ageauth_payload_timeoutmin_enc_key_sizemax_enc_key_sizepairing_optsssp_debug_modehw_error_codeadvmon_allowlist_durationadvmon_no_filter_durationenable_advmon_interleave_scandevid_sourcedevid_vendordevid_productdevid_versiondef_page_scan_typedef_page_scan_intdef_page_scan_windowdef_inq_scan_typedef_inq_scan_intdef_inq_scan_windowdef_br_lstodef_page_timeoutdef_multi_adv_rotation_durationdef_le_autoconnect_timeoutmin_le_tx_powermax_le_tx_poweresco_typelink_policyidle_timeoutsniff_min_intervalsniff_max_intervalamp_statusamp_total_bwamp_max_bwamp_min_latencyamp_max_pduamp_typeamp_pal_capamp_assoc_sizeamp_max_flush_toamp_be_flush_toloc_assocflow_ctl_modeauto_accept_delaycmd_cntacl_cntsco_cntle_cntiso_cntacl_mtusco_mtule_mtuiso_mtuacl_pktssco_pktsle_pktsiso_pktsblock_lenblock_mtublock_cntacl_last_txsco_last_txle_last_txle_tx_def_physle_rx_def_physreq_workqueueerror_resetcmd_sync_workcmd_sync_work_listcmd_sync_work_lockunregister_lockcmd_sync_cancel_workreenable_adv_workdiscov_timeoutdiscov_offservice_cachencmd_timerrx_workcmd_workle_scan_disablele_scan_restartrx_qraw_qcmd_qsent_cmdrecv_eventreq_wait_qreq_statusreq_resultreq_skbsmp_datasmp_bredr_datadiscoverydiscovery_old_statediscovery_pausedadvertising_old_stateadvertising_pausedsuspend_notifiersuspend_state_nextscanning_pausedwake_reasonwake_addrwake_addr_typeconn_hashmesh_pendingmgmt_pendingreject_listaccept_listlink_keyslong_term_keysidentity_resolving_keysremote_oob_datale_accept_listle_resolv_listle_conn_paramspend_le_connspend_le_reportsblocked_keyslocal_codecshw_infofw_infoconn_flagsadv_tx_poweradv_dataadv_data_lenscan_rsp_datascan_rsp_data_lenper_adv_dataper_adv_data_lenadv_instancesadv_instance_cntcur_adv_instanceadv_instance_timeoutadv_instance_expireadv_monitors_idradv_monitors_cntirkrpa_timeoutrpa_expiredrpamesh_send_doneinterleave_scan_stateinterleave_scanmonitored_devicesadvmon_pend_notifyhw_errorset_diagset_bdaddrcmd_timeoutset_quality_reportget_data_path_idget_codec_config_dataamp_assocrem_lenlen_so_farhci_conn_hashacl_numamp_numsco_numiso_numle_numle_num_peripheralhci_dev_statserr_rxerr_txcmd_txevt_rxacl_txacl_rxsco_txsco_rxbyte_rxbyte_txhci_conn_flags_tbt_codecdata_pathnum_capsHCI_QUIRK_RESET_ON_CLOSEHCI_QUIRK_RAW_DEVICEHCI_QUIRK_FIXUP_BUFFER_SIZEHCI_QUIRK_FIXUP_INQUIRY_MODEHCI_QUIRK_BROKEN_LOCAL_COMMANDSHCI_QUIRK_BROKEN_STORED_LINK_KEYHCI_QUIRK_EXTERNAL_CONFIGHCI_QUIRK_INVALID_BDADDRHCI_QUIRK_USE_BDADDR_PROPERTYHCI_QUIRK_BDADDR_PROPERTY_BROKENHCI_QUIRK_STRICT_DUPLICATE_FILTERHCI_QUIRK_SIMULTANEOUS_DISCOVERYHCI_QUIRK_NON_PERSISTENT_DIAGHCI_QUIRK_NON_PERSISTENT_SETUPHCI_QUIRK_WIDEBAND_SPEECH_SUPPORTEDHCI_QUIRK_VALID_LE_STATESHCI_QUIRK_BROKEN_ERR_DATA_REPORTINGHCI_QUIRK_NO_SUSPEND_NOTIFIERHCI_QUIRK_BROKEN_READ_TRANSMIT_POWERHCI_QUIRK_BROKEN_FILTER_CLEAR_ALLHCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONNHCI_QUIRK_BROKEN_EXT_SCANHCI_QUIRK_BROKEN_MWS_TRANSPORT_CONFIGHCI_QUIRK_BROKEN_LOCAL_EXT_FEATURES_PAGE_2HCI_QUIRK_BROKEN_SET_RPA_TIMEOUThci_rp_read_bd_addrhci_command_hdrhci_rp_read_local_versionbcm_set_pcm_int_paramsroutingbcm_fw_namebtbcm_read_pcm_int_paramsbtbcm_set_bdaddrbtbcm_check_bdaddrbtbcm_write_pcm_int_paramsbtbcm_patchramfw_load_doneuse_autobaud_modebtbcm_initializebtbcm_read_usb_productbtbcm_finalizebtbcm_setup_patchrambtbcm_setup_apple@ L` V0C>  H%@/@\*@H:#r2%@U@#@0XH#Q@xX#2L&0,@@8Y0#.C02050h\4@(]# Lo^$00C0@@g4@]:$(: 7^8^%pmznztvD0 *H 01 0  `He0  *H 1o0k0F0.1,0*U #Build time autogenerated kernel keyB"bku8㷕r4rq0  `He0  *H _+%߫afb_W)]pe/u5HS _02f,u:3AA p\ccD-xT8<P#e;q'y%„ S2L痃1QIЖlIzjz. RtEUKg^)]Z-D^%Hu|>-n'͍,]-)O*b`+C#hΓN0ض 2I0GBag观{#Y'-.EO WY~ܤ7q[q#@Utx0Qr'MRU;h$nq=vR)f,~:W![0l\R'e"u"vDm0+oOZ2' wS!&i.nTME"ǀ8>f#Wf H(33 sxmjn]\j *ptf;~Module signature appended~