ELFh@@# O6f,RwO-p1a|Ѿ@bfzR| 8D-DP 0 ` PD-D TP,hD-D H  `  HD-4D-D0L 0  0LD-D ,D-D H  `  HD-<\D-D@P @ , @PD-L@D-D\ `  l \D-D ,D-D H    HD-,tD-D H   x  HD-D ,D-D0L   p 0LD-D 8 D-D0L 0  0LD-D k$|?#{W O A8!RB*8R?cT*}hr@q Tuf@ RJr R@ @yCx k Kz@ T@ TR @y R k Kzx T@*ϊR @y rR k KzCyT@ `R @ydR k; Kz{yT@ R @y fR k3 KzkyT@ R @yfR k+ Kz[yTRhRrKy#`4RihRHrc;y@4RfR`rC+yx5 !@)@9>i 7_ R1)AR* ARA8B_ T*OJWI{H#_Rc#@Cxx_Qr1{rk@TE0? @Tѡ!RR8R@T*5AR }_)y } Ȫ5@)@ Z) Z kaT@y)@y Z) Z}S)}S kaT*_ k5Z_eH?#{O!RR8R?cT*AR**OA{¨#_ֽV?#{ OR*8R?cT*hr@qThf@ @9i4AR*OB @{è#_ִ @9@9AR* gj?#{ORR8R?cT*AR**OA{¨#_,E?#{_WOR*8R?cTi*7AR@R@T@ @9T6@x*8R*?TAR T@R*i i****OCWB_A{Ĩ#_)0?#C{og_WOA8B9*!C#R*7 @(R}@ @@8T_(8Tw2?kT @R?T5T5H5Tjh8qT44Tj(8aR*8R@Ti*/5AR R!R*8R?cTifs@%qTg@AR@yq@x@9( 4w 6h A9 .R k R q k + *TL|,ilx k@Tj L\} )T,qJ`@Zi J_Y S3Sf/@9$5h A9q!T8?#T*iARR*8R@ITi*5&!R*8R@ITi*5r@ )j!%qTf@@9ARR*8R@Ti*W5h(s@ )j!qT(g@@9ARV:r@ )j!qaTf@AR>d@AR@x1@xBcR**R R@VBcR;R xv^**BcRzV*BcRZ*BcR#@44#`4[ qT#@4qT#@4@95:4S q Tq@T(R9@4*@*A8B_ T*OHWG_FgEoD{CC#_ ?#{OAR*8R?cThr@qTAROA{¨#_)0?#{ (@94B5 h @R1)* @{¨#_h }_)w } Ȫ5k$|?#{CA8B*95@94*5h @R1)*A8B@ T{A@#_h }_)w } Ȫ5k$|?#{ OaR*8R@ITh*T5AR R!R*8R?#Thr@iqTf@@9Q@xARAR*8R?#Thr@iqTf@@x1@xARR*8R?#Thr@i%qTf@@9ARR*8R?#Thr@iqTf@AR h @R1)**OB @{è#_h }_)w } Ȫ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 strnlenBCM4324B3BCM43341B0%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 BCM4349B1strscpyBCM20702A1BCM43142A0BCM2076B1%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.4.0-mainline-gd5d494baf2b7-ab10710438 SMP preempt mod_unload modversions aarch64name=btbcmintree=Yscmversion=gd5d494baf2b7depends=bluetoothsrcversion=5FE149F7B0CC4EE8AF5E349 tZaMC&#BDADDRLinuxLinuxbtbcmT__hci_cmd_sync2{bt_err=L~efibt_infom\alt_cb_patch_nops(kfree_skb_reason\{baswap__stack_chk_failmsleep`/of_find_node_opts_by_pathZ/of_property_read_string_helper`Ϙstrlendevm_kmallocstrnlen9dstrscpynJnesnprintfUIDkmalloc_caches kmalloc_traceLfirmware_request_nowarnrelease_firmware zkfreefortify_panicPmodule_layoutGNU\3a\ts 5$GNU<L}P}`}]d}]l~~  }}}} (4}8}H}L}P\(},}<}G@}GH\`}d}t}x} 0}4}D}GH}GP`}}}x}x}}}}$`}}}}$4}8}H}VL}VTdl}}}}} }} },}"}"}}$}}}$}$  } }$ }@( }@0 X p Tt T| T T } } } } } } }t }t }  } , \ }` }p }5t }5x    } } } }   } } } }( < }@ }\ }` }h t   } } } }  } } } }   } } } } $ 4 }8 }T }X }` l   }y }y  @ @  }V }V  } }  } }, < }g@ }gT ` }d }t      } }} }$}(}4D}H}P`}d}lt}x}}} }g}g} }$L\}`}p}t}|}}}}4<}@}X}$\}$dx}}}}} } (D}H}Pt}Ix}I}}}}}}}} ,D`}d}l}}}}||04|&8|$(|,|TX|F\|| | |7|HL|aP|<@|D||v|S S S$S(}}(} 8}KH}X}h}x}}}}}}}r}}y}(}o8}H}X}h}|x}}L},}}}}}}6}}(}Android (10386919, +pgo, +bolt, +lto, -mlgo, based on r498229) clang version 17.0.3 (https://android.googlesource.com/toolchain/llvm-project e34ed7d63863b45858e74126edaa738e75887800)SXSlSSSpSDSTS(SSP$S tuvwxyz{|JMNOPSTUVWZ[\ #$6 `  S & 00 ;$t$ F? T#Tn v> n :  7 !   a HH  <<Z  p Pn    |  l pT   P_ T1pG  (     L PN  Y $ ]-k-;yh (t 2e,   `  ftY#We\Zq 8 2 ?# ]  E  p \ T+ t) P }n }vup_b\.note.gnu.property.note.Linux.rela.text.comment.init.plt.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.rela.rodata.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_bdaddrbacmpmsleepbaswapbt_infofirmware_request_nowarnkfree_skb_reasonstrlenstrnlen__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_syncfortify_panic$d.39__UNIQUE_ID_vermagic329$d.29$d.19$d.9$x.28$x.18$d.8$d.37$d.27$d.17$d.7$x.36$x.26$x.16$d.6$d.35$d.25_note_15$d.15$d.5__UNIQUE_ID_license664__UNIQUE_ID_srcversion334$x.34$x.24_note_14$x.14$d.4__UNIQUE_ID_version663__UNIQUE_ID_depends333$d.33$d.23$d.13$d.3__UNIQUE_ID_description662$d.42__UNIQUE_ID_scmversion332$x.32$x.22$x.12$d.12$d.2__UNIQUE_ID_author661$d.51$d.41__UNIQUE_ID_intree331$d.31$d.21$d.11$d.1$d.50$d.40__UNIQUE_ID_name330$x.30$x.20$d.1022O E5AS T!!T @S z1 W@/X Y(x z$|.|6|>|@H|R|V[|Ve|Vp|V{|V|V|| j*.@|Z|8^v|5 |50@|5`|5p|}}"}@0}@}N} c}@ k}` z5 s}S }S   }D}D}D}F}H@}I}K}M~S@ ~SH~SP~SX#~`-~S`>~ShG~SpS~Sx_~5k5n~5w~5~~H'~]~]~]~f~@~`~ ~_~a~s@~u~w~x@y#6?@Qfs@e@@@`'H6@@IVe f@ q@$%j%V%@&v&V&ǀ'р 'ۀ' '`@' ''(@( ()@@6@AKAYAfAsTBTB B@BPBPDEā@EˁEӁE FFP FV@FFG-@G<GFIV@Jl@J@JJ@J[ \Np]`@]] b/p@BrStg`wv@]xxx@Ńzԃ|~@$4@J`n@Ƅ@ڄ@$4D T@ d |  @   ʅ ߅@    '@ 3 ? P ]@ i u @džچ@2@GZit@@·݇@^ _Ya _c _ _݈@de#V9! @h-V@k ;_m k WLo Wq _s T__u _w _y _{ _} _ _ _ _ _ _u W W }_ _T _# _TQ _ _  _ _ _ _ _ _ _, _ _Tj __ __ __  __9 _ _ _Q _Q _TT _T _T __ _Tjj _T _ _ _T jj_j _T _  _ _; __ _ _j W _ _ _j __ _jj _ __ $V &_4  _5   VW _S _ _ _W ;W W __ ;WW WW W  ;W  W&!8!K!]!q!!z  V@5IV3iV@%k!!Q!R!j !y@!Q8! @! H! P!RX$!T`/! 5!C!@X!aja!l!!!!!!!!!2!L!f!#VLv [(U"JR|VRn! u!P!!@!RL!ܨ !( !UihZ !R!R!R| !!R!R!R(!2!H@!RI7!N!RV!U^!RUf!Uq!U !R0!U@!UP!R`!Sh!Rp!U!U!R!R!U/!UC!RP!Ua!Up!U!U!U !U0!U@!UP!U`!Up(!U=!UR!Ub!Ur!U!U!U!U!U!U!R !R(!U0!U@!UP(!U`=!RpN!Rx_!Rl!R{!Rk!U!U!R!U!U!U!U !R0$!U@6!UPK!R`]!Upn!U!U!U!U!U!S!S܉U!U!U ~U!k !U@0!UPC!R`N!k[!kf!kv!k!R!U!U !k@!k`!!R1!1/n2!D@2!`2!2 !2!2!2 !3(! 3/!@37!`3@!3I!3Q!3Z!U3d!U3# U4n!U4x!@4!4!4!R5!R5fpM@5!M5ʳn5gL6!n9!n:!V;!v<!v=!n>,!n?>!U@M!L@@X!LCLEf!LHq!n@Ky!n@Ln n@M!L@N!LQ!yS!yT!y@U!V!@VDvV!FW!k@X!k`X!X!X!Y!@Y!]&! ]7!^M! ^`!@^q!_Qc _! @_ H_!QP_!X_!Q_!_!Va!Va!Vb!Vb/!Vc!Vc!Vd!Vd&!Ve6!VeE!VfT!Vfc!Vgq!Vg!Vh!Vhi !D@j!j!jt kJ@k rn!)E!'@!SH!(P!R(!(0!R!)!R!V%!6!RG!U\!Lp!!@!`!k!L!!L!!L!V! @]*]*t*c*@M*,Fl. !0@5*!2!4)!@7O85!2H!:@Y!<RRo!E9UUy!U !U0i@R!(#V!!!!!! ! (!k!k !k@!k`!k!k !k!k!k!!k )!   v@;Q*@9!y@!n@H!L@MU!!@ $]! h!"# r!%& !QRR+  -  / 1 Q3   5  67 9 ;  n =  R>n ?!(RxU[U!R(!R0!!!!!6!W!q!!! ! ! ! (! L!f!!!!!!3!Y!!B!NRn!D!Ai RF! NRN!RV!^!R (f!8I!dRbR oR>RR K IM DSP!   ?H! Q  !6$!6(! S  n!6.! U  ?! W  ?JR! Y  P#m! [  |!! ! ]  ! _! ]! W! Wbcm_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_WAKEdevcoredump_stateHCI_DEVCOREDUMP_IDLEHCI_DEVCOREDUMP_ACTIVEHCI_DEVCOREDUMP_DONEHCI_DEVCOREDUMP_ABORTHCI_DEVCOREDUMP_TIMEOUTINTERLEAVE_SCAN_NONEINTERLEAVE_SCAN_NO_FILTERINTERLEAVE_SCAN_ALLOWLISThci_devbdaddrsetup_addrpublic_addrrandom_addradv_addr_typeshort_nameeirappearancemajor_classminor_classmax_pagele_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_devcoredumpdump_qdump_rxdump_timeoutdmp_hdrcoredump_tdmp_hdr_tnotify_change_thci_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_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_paramsbcm_fw_namebtbcm_read_pcm_int_paramsba1ba2bacmpbtbcm_set_bdaddrbtbcm_check_bdaddrbtbcm_write_pcm_int_paramsbtbcm_patchramfw_load_doneuse_autobaud_modebtbcm_initializebtbcm_read_usb_productbtbcm_finalizebtbcm_setup_patchrambtbcm_setup_appleo@ L` C094X%` @H-P _2dq@I@@KH>@ L2@X@@L0 >!2!+0P!@P LoQ!00@"@T@'J-$(- QyQ!]agbhjF0 *H 01 0  `He0  *H 1o0k0F0.1,0*U #Build time autogenerated kernel key1V'L.9G/,g0  `He0  *H gbF*Cי,ԃgD?ěVT֧:LT8h1gY1EI /<537l}N6IiJa`&'Ϟ.˾h;qaaiP @M\#'8,>lFBF-5 㲝.)!FDZ{H@Kƶ/X(d+,f]a2= _u,".40\p{̧32R>$)t;fv?/P):3Pntm=Cv.mcvB~E& C y츎ndX;)q E޻ftLC!'!'ǿc#$Gy}̵#7}邺AP@DQݵF:40d&-n/g׾ȓiKGc AFSʨNYN21Q4k| 45J [ 7U>- ~t?՜?FxwU~Module signature appended~