From 5b8ec78cacf06fade48e53d7703630c55ee5e914 Mon Sep 17 00:00:00 2001 From: Markus Birth Date: Thu, 26 Nov 2020 01:37:31 +0100 Subject: [PATCH] Use VoodooRMI for Touchpad. Fixes always force touches. --- .../Kexts/VoodooRMI.kext/Contents/Info.plist | 103 ++++++++++ .../VoodooRMI.kext/Contents/MacOS/VoodooRMI | Bin 0 -> 250608 bytes .../PlugIns/RMII2C.kext/Contents/Info.plist | 86 +++++++++ .../PlugIns/RMII2C.kext/Contents/MacOS/RMII2C | Bin 0 -> 80112 bytes .../Contents/_CodeSignature/CodeResources | 115 ++++++++++++ .../PlugIns/RMISMBus.kext/Contents/Info.plist | 84 +++++++++ .../RMISMBus.kext/Contents/MacOS/RMISMBus | Bin 0 -> 78272 bytes .../Contents/_CodeSignature/CodeResources | 115 ++++++++++++ .../VoodooInput.kext/Contents/Info.plist | 80 ++++++++ .../Contents/MacOS/VoodooInput | Bin 0 -> 149872 bytes .../VoodooInputMultitouch/MultitouchHelpers.h | 39 ++++ .../VoodooInputMultitouch/VoodooInputEvent.h | 26 +++ .../VoodooInputMessages.h | 30 +++ .../VoodooInputTransducer.h | 54 ++++++ .../Contents/_CodeSignature/CodeResources | 177 ++++++++++++++++++ .../VoodooTrackpoint.kext/Contents/Info.plist | 78 ++++++++ .../Contents/MacOS/VoodooTrackpoint | Bin 0 -> 85776 bytes .../Contents/_CodeSignature/CodeResources | 115 ++++++++++++ .../Contents/_CodeSignature/CodeResources | 152 +++++++++++++++ .../VoodooSMBus.kext/Contents/Info.plist | 101 ++++++++++ .../Contents/MacOS/VoodooSMBus | Bin 0 -> 118064 bytes .../Contents/_CodeSignature/CodeResources | 115 ++++++++++++ EFI/OC/config.plist | 114 ++++++++++- 23 files changed, 1581 insertions(+), 3 deletions(-) create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/Info.plist create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/MacOS/VoodooRMI create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMII2C.kext/Contents/Info.plist create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMII2C.kext/Contents/MacOS/RMII2C create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMII2C.kext/Contents/_CodeSignature/CodeResources create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/Info.plist create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/MacOS/RMISMBus create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/_CodeSignature/CodeResources create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Info.plist create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/MacOS/VoodooInput create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/MultitouchHelpers.h create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/VoodooInputEvent.h create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/VoodooInputMessages.h create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/VoodooInputTransducer.h create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/_CodeSignature/CodeResources create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooTrackpoint.kext/Contents/Info.plist create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooTrackpoint.kext/Contents/MacOS/VoodooTrackpoint create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooTrackpoint.kext/Contents/_CodeSignature/CodeResources create mode 100644 EFI/OC/Kexts/VoodooRMI.kext/Contents/_CodeSignature/CodeResources create mode 100644 EFI/OC/Kexts/VoodooSMBus.kext/Contents/Info.plist create mode 100644 EFI/OC/Kexts/VoodooSMBus.kext/Contents/MacOS/VoodooSMBus create mode 100644 EFI/OC/Kexts/VoodooSMBus.kext/Contents/_CodeSignature/CodeResources diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/Info.plist b/EFI/OC/Kexts/VoodooRMI.kext/Contents/Info.plist new file mode 100644 index 0000000..21d9601 --- /dev/null +++ b/EFI/OC/Kexts/VoodooRMI.kext/Contents/Info.plist @@ -0,0 +1,103 @@ + + + + + BuildMachineOSBuild + 20A5384c + CFBundleDevelopmentRegion + en + CFBundleExecutable + VoodooRMI + CFBundleIdentifier + com.1Revenger1.VoodooRMI + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + VoodooRMI + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.2 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.2 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A8179i + DTPlatformName + macosx + DTPlatformVersion + 11.0 + DTSDKBuild + 20A5343f + DTSDKName + macosx11.0 + DTXcode + 1200 + DTXcodeBuild + 12A8179i + IOKitPersonalities + + RMIDevice + + CFBundleIdentifier + com.1Revenger1.VoodooRMI + Configuration + + DisableWhileTrackpointTimeout + 100 + DisableWhileTypingTimeout + 100 + ForceTouchEmulation + + ForceTouchMinPressure + 90 + MinYDiffThumbDetection + 200 + TrackpointDeadzone + 1 + TrackpointMultiplier + 10 + TrackpointScrollMultiplierX + 30 + TrackpointScrollMultiplierY + 30 + + IOClass + RMIBus + IOProbeScore + 2910 + IOPropertyMatch + + RMI4 Supported + + + IOProviderClass + RMITransport + + + LSMinimumSystemVersion + 10.11 + NSHumanReadableCopyright + Copyright © 2020 1Revenger1. All rights reserved. + OSBundleCompatibleVersion + 1.0.0 + OSBundleLibraries + + com.apple.iokit.IOHIDFamily + 2.0 + com.apple.kpi.iokit + 14 + com.apple.kpi.libkern + 14 + com.apple.kpi.mach + 13.0 + + OSBundleRequired + Console + + diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/MacOS/VoodooRMI b/EFI/OC/Kexts/VoodooRMI.kext/Contents/MacOS/VoodooRMI new file mode 100644 index 0000000000000000000000000000000000000000..1ca7a7dd2f070b3d1827085d19bc0505824654e4 GIT binary patch literal 250608 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 z + + + + BuildMachineOSBuild + 20A5384c + CFBundleDevelopmentRegion + en + CFBundleExecutable + RMII2C + CFBundleIdentifier + com.1Revenger1.RMII2C + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + RMII2C + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.0 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A8179i + DTPlatformName + macosx + DTPlatformVersion + 11.0 + DTSDKBuild + 20A5343f + DTSDKName + macosx11.0 + DTXcode + 1200 + DTXcodeBuild + 12A8179i + IOKitPersonalities + + RMII2C + + CFBundleIdentifier + com.1Revenger1.RMII2C + IOClass + RMII2C + IOProbeScore + 500 + IOPropertyMatch + + + compatible + PNP0C50 + + + IOProviderClass + VoodooI2CDeviceNub + Legacy + + + + LSMinimumSystemVersion + 10.11 + NSHumanReadableCopyright + Copyright © 2020 1Revenger1. All rights reserved. + OSBundleLibraries + + com.1Revenger1.VoodooRMI + 1.0 + com.alexandred.VoodooI2C + 2.5 + com.apple.iokit.IOHIDFamily + 2.0 + com.apple.kpi.iokit + 18.5 + com.apple.kpi.libkern + 18.5 + com.apple.kpi.mach + 18.5 + + + diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMII2C.kext/Contents/MacOS/RMII2C b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMII2C.kext/Contents/MacOS/RMII2C new file mode 100644 index 0000000000000000000000000000000000000000..f42e70dd4ba877e29db56676908d1fa6263a287e GIT binary patch literal 80112 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 + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/Info.plist b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/Info.plist new file mode 100644 index 0000000..943bef7 --- /dev/null +++ b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/Info.plist @@ -0,0 +1,84 @@ + + + + + BuildMachineOSBuild + 20A5384c + CFBundleDevelopmentRegion + en + CFBundleExecutable + RMISMBus + CFBundleIdentifier + com.1Revenger1.RMISMBus + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + RMISMBus + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.0 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.0 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A8179i + DTPlatformName + macosx + DTPlatformVersion + 11.0 + DTSDKBuild + 20A5343f + DTSDKName + macosx11.0 + DTXcode + 1200 + DTXcodeBuild + 12A8179i + IOKitPersonalities + + RMISMBus + + CFBundleIdentifier + com.1Revenger1.RMISMBus + IOClass + RMISMBus + IOProbeScore + 500 + IOPropertyMatch + + VoodooSMBUS Slave Device Address + 44 + + IOProviderClass + VoodooSMBusDeviceNub + + + LSMinimumSystemVersion + 10.11 + NSHumanReadableCopyright + Copyright © 2020 1Revenger1. All rights reserved. + OSBundleLibraries + + com.1Revenger1.VoodooRMI + 1.0 + com.apple.iokit.IOHIDFamily + 2.0 + com.apple.kpi.iokit + 18.5 + com.apple.kpi.libkern + 18.5 + com.apple.kpi.mach + 18.5 + de.leo-labs.VoodooSMBus + 3.0 + + OSBundleRequired + Console + + diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/MacOS/RMISMBus b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext/Contents/MacOS/RMISMBus new file mode 100644 index 0000000000000000000000000000000000000000..52eba956a2944d9f08205b38319f4df8ec9a62b1 GIT binary patch literal 78272 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 + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Info.plist b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Info.plist new file mode 100644 index 0000000..0b429b9 --- /dev/null +++ b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Info.plist @@ -0,0 +1,80 @@ + + + + + BuildMachineOSBuild + 20A5343i + CFBundleDevelopmentRegion + en + CFBundleExecutable + VoodooInput + CFBundleIdentifier + me.kishorprins.VoodooInput + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + VoodooInput + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.0.7 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.0.7 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A8179i + DTPlatformName + macosx + DTPlatformVersion + 11.0 + DTSDKBuild + 20A5343f + DTSDKName + macosx11.0 + DTXcode + 1200 + DTXcodeBuild + 12A8179i + IOKitPersonalities + + Voodoo Input + + CFBundleIdentifier + me.kishorprins.VoodooInput + IOClass + VoodooInput + IOProbeScore + 200 + IOPropertyMatch + + VoodooInputSupported + + + IOProviderClass + IOService + + + LSMinimumSystemVersion + 10.11 + NSHumanReadableCopyright + Copyright © 2019 Kishor Prins. All rights reserved. + OSBundleLibraries + + com.apple.iokit.IOHIDFamily + 2.0 + com.apple.kpi.iokit + 14 + com.apple.kpi.libkern + 14 + com.apple.kpi.mach + 13.0 + + OSBundleRequired + Root + + diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/MacOS/VoodooInput b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/MacOS/VoodooInput new file mode 100644 index 0000000000000000000000000000000000000000..d5a704cd101af5eb25d1c46c00da1d2ff29c54af GIT binary patch literal 149872 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

+uNMs`2;YkMwy%T(pGFIt>Q>*- zV#rx{@R+#uXT9O=hw4`MMH{)HMgP++AL+$gpF0MgqrkInsF3y)u0M4q`=h7&neQEq zYwr&i(w@e(56(>g=mT6EgKIyG64D4ZN1D?Hh{EFL&X4v!{yXz-y%-%`SJgMQd6Ic| zU2)&k*K~aw>vT6XQh7&+ls3BTom}_`fYUfuuiMfX-MQxA@LQrE){BPqb*uY8uIpQ< zT@f@~ZBC=MJ28U%!N861y9>fNeB)fk;U_pQ*37)z@J{bVw?y|LKSF(RpJh_o>&$6y zV=vdEFUUF-I;OpkBFKD~aeZ$C#=0kquV3~(e3HY(*!5J8cqT;J>yXO9bUoZ8)HXoY z%Q1hPa!Z$okCF!V1KH&!zscmO=E>u)}zh@VQ~M$ zW6iI`_l)l!Biugoz1QlTtHjHYb`bE?{yQ>zH&WFQxd#icT+R6m=6oKQnG3m< ze2$gD$NtOQ)MHUXavh)^{^@<45U2WvP6Em~0CM&bUP zFBM)H$oX8#`S{CO5BX$?F}2BLVI)TSbpV*t7&syxNm0jzh4YWTgPan zJylh{>(XmxmVOnHEv3$d>YX$8-MjLirD`=Y; zZP<0Kpw%cr9X`(3)q?xi<*Dcp(7(w|+Y39n~E|pcnSDMo#nfeKU zu*+*1j=78vj=7ExjyVs`;{lI3E%nfWL8712l8Z6hAkofgxf6Z}gG7fiBfV5c%q>P> zyuORvr$ycv*KK&#MVaonD2$WRah(}-lFp=SlrPJR=TG@a_b6Z3Wc}Tf7L(re z6NPTj=We|TI?3(cEl1RkfGyCLIY;|-Wf10RnIpbuS=10?| zx)?FgoTi74^|n3*Q;dSl6Z5t@)H~MGM&co*iAA0jeZBWFZ=(Bkm_t2t=Io_)RX3!P zeTR=zZU@lOB9v_ebc$mWJlCZ8DCrqoiPDnYMhw&>96V*bLHs_rZbpL?fZt7;lnX^#2i+NV-7nU zbJ#A>hYj=BCvm?F^Vc%WRby~%J?5`FaBTzTuN!bJ7T0!Q{u;~5y;H<|7SE21X8YIs z1MFX4gmQO9x$lw69oz5&)(cebJo5Vh63=?fMTesw)yE3Ey|^Ib7a%X33$#g^v!m?l z`TO^f;c3XQ59OEV>eQ0p))N<^K`o{}JWiiECX)3u!wclMq4cp}2;DDEmpQ z$*{(1kk)=Z{hvt`po2K*pawdSpP3Y}M3D8hr&wdr+SY(IR)n<1lGd$|D-m_l?lT*&)SbsU?{qs7khiU&@pD6q^ z95PAk9BC~)S6Ziy>}QtNXro|PXgvZy?0#XxfZF5maUaIBQ0bxoUBot|M`FEf5L#zK zURuM_-YBKV{^p56(PW!te$tu%_k7j_w4TGY2HlM<(_lw7m|_bSMbsSJa7*{@PvTky zu03V#UC=Q6o!%b&mfi(V!9Eaf$Ndj(=~qB;htZryu<~LVF7746c_;^6x4^CpjFIW) zBmNlrRmPAvdcTWumE9j-yEU^Po^$BZa02DCp=?J{#ycnEe>D6|<$X4k@hHX%503I4 zMcMD{YrfYOOYw{3xRK&r8%i!F7}rqJi=eTgq#yQ_Gv_uEkCK6OO_b9QrFeuKA1<_t z&>`s${ao_5JcWKv`V&#daj4_a`xKYd8vd5is;~d`=dGY2yKn^geT6`K6=zoDqAe-c z>$DdhiMAxtUig0fb!dBd=2z(_<86}0xC=X_)F%r4>d%uND( zq*LH`nSy;7Gi0Xg(%wakybtqLl(31?#osBkjzGB@Xdec6`{h&Y!yrA%hdmL`KFm)2 z;(@iax8vD|A^#KVaR>4vpHvxSeG;-BA=?jnL%98BP-JbFKf#7S(&n+@L@(Se;Q0kz z?SAmziaLW1cj^y!s-+B)4g6n*3iwj+yjBxv-bPg_cqOS@%15?gC{HNAD; zVm!A4KGHLdB*RMZUrGB(7f6SuLAA91=FuViZ=}QPQ69?oLCCMv{A0_SYU=5?|;<+TSYRdRvQf!RLl~i}bu3l~Dv9ULLS>GtoXK(zD=f%+(3W7o?3H zfPT6t^wUMwPj{xDt5y2BD%|>w=vHgU$Y|Zy=ZvR*!+xGGqg!qCl#EuxvSTQ(zTq(R zDeVmcw%e}eBi|Xww+DQENKdqb(2g_Wb+wtO6KZF#W%h5Z%e=ACGe1EZX-=K_NTYIo zLTRM=7t+)Ggz8kX2i553=zk+%7YI&4KWy-Oo-P};BtEM2)Cbv%3~$tTdj~C z@$;4)^(4s)yXcWOTpJlmUf6l%{*1J5q4Pd3DcMaLdsNR0N_%s#MaR(J=y}1L*gjXg zZF&&e^yG}z(o)nl+Kpr@$&Q8dY}#r(e}MexotGnMYvg-BhPs?2>QB^Qo!Q(~mxTR+ z-O~C2ydnGZBKr7QT!YVkx6d;Q3V*m%Mk_rZ2A}b2de5yNeEt3KY-QiZ$5zAVi}4zB z^F~@@)@Sx@tk1lmaT5HJv=@<{OuosvEmZDypBum&FB)^aTxpIc`{{q|MB@|u#NqOo z5C6X%w)X`Z@AM61?+??wC`FK-;U+%Yv8JsD46DsSrWnP%llD)JV4S`Swk0f^%%1Dl z*PQ+NIBbtRK1I_r`4}@|8jfI`$MfYa2>ZA(Y;&eP0 zh-XW7>JJR9CBH@k_Ur0(eH!7cspdH zXNc>N-+*jIeqXcvijm*y-oH(L(-rx(viw$4`F^AP(iQo|4wLkG{4ueX{OG@lKG#Ng z>u(^-4`bW0;@>Dgt8THy0NX_E40FxV|2+GLCi00hJdyD0@jN_y(_~+c6^UsS*JI5` z^YYcTp*@3EEEnT^ueA;RsYoHqV%+!NVLQ20S$Q0 z0qrRV`*%5Lo5!wAPs@eB=vVnOevrdmRSZ|m11;iRVCmIlbh2{Z(Ciq|Q zerL`&A#I-yFb(M`-9+Gc{wN3jj1wqNIokY2wE6GR??*BJ!_ENyhgh`vi_qrpmfC!b z^!)rF_|4wuZT^htt)p?Qj>e*n;9L1k+QdLb8_Z?-bw_?zUHJUA!ZwF(2bJRm#yzt4 z(%cc_9?iR?`6R}<*?4yOHQ1}Ix*HpnV;MaMNb7v0-MtOtBgWg^N}t7Q(8=R{8fNxU@#^)4sYcuVsFNOaM-5$@}04FMPz&iDyC9*y@fk4f)g z%DSNWTr=|GcDwmLVfV$@Po+HfMF`_0J3Uvb)8&UBMxA~rEa&+hhdx8TYl?Q-1?}`M zsh#Q@GEhG0od#B(ZS*YodC1OnaSZa)IDP^;lyn7~zX!Y}*{w|W`yl(f7f5#4_<`~m zwozXp@o#N-Ou(4ZuSI{gxh3anp(X5cF&*8>bVO_Z?eK@&X#PNYf_-OY*{I)>P%DV; ziQ6#0+^X9$p(A-jqaJu35wI0fKOp|F=bo}`lghIDcolR78*4C`8*@!UBhTjq>O187 zcqmH@@>#Da%MsLz^xhri1zUcYY&qI6+48^qa`q3oC~Nf1hCat(!};}NV}#u=;oh+^ z=H1f0YlYp%VY_J`<9ME!MsaT6r@+2T*Qet8wJgn5ay*CI_e?SE$*V-!zW>rYwK*?6 zt(5HhR6u6mOJUzjVc(Bmm7cZ;_WgJ!Anbc7?0YG*@1@MXmooca%Ite7v+t$MzLzrl zUdrryDeU`qXy@l<+q*Py+b*>S*mh5Sy~65iFzRcn!q&1rbuRTqb0<%I!LEDS-T^7E z<%jzquisyweq<25{6A&xlEV z<(WI2!1YNi&9`#gGk5q3ZKWupwiI)R=AwwS1n7_E4!MBv8>f+7nu@kH63@_2L;D&T z2Z;8y1MPkq+SgRHuX4JFHb(P@_s}<|p?$rFdBQZbFM5}CI@;G$-2lex#d`i~G|Nt`^d|B2C^kh+l^|_~*@qOcvx}#WkCdHoXGz#fVpf z&vL+9aDOGPuLZml_wE+b-iM6SYk}X7`wybrRHi>7zD-CQ-UIO`5U)pg3UWLP_`HyI zC+0i3yFveokd^=$a`xc*n}|a{Id7xS{b)|hc^~iu-~rtG1mRQQ-va*!;8%c$aqVk_ zV{BgaJ)2kkB*^oseI}*tit?N)Qk3UZ28;#RC(MZz)212`E=K5u&`(S| ziT+{4UdIvmum{mz2i9vR;m4-Ej{E?79TBi=ajjyl$Z3y>!M(6N8#9J8qg1mpY zQNZ)ZpQ!HByGzQpBI*9n;95NIBlpoj_bZ3gPR9Lw^!qs2TOne=-=uhyA|9=XWADV1 z2I~}0ytg9WUlAXqh!0c5M=0W>74alRe7qulr6Qi8h)-6;@l64bJg~c-_$)PZ7T?}^{4h_904g7(uiplLwUfTjUW1DXaj4QLwBG@xlf(}1P{O#_++G!1AP&@`ZF zK+}Mx0Zjv%1~d(58qhSLX+YC}rU6X@ng%otXd2KoplLwUfTjUW1DXaj4QLwBG@xlf z(}1P{O#_++G!1AP&@`ZFAfN{DeIwy4eihcyWwxqPhqKaYvsaCt<#3cZ9J%(&YF9uq zzl)~PiKA2eu7-bsWN0rn$=Y@_&Q0msjtcI|O9i~*_}l(C{|J_i8veGqYuq&rXd2Ko zplLwUfTjUW1DXaj4QLwBG@xlf(}1P{O#_++G!1AP&@`ZFK+}Mx0Zjv%1~d(58qhSL zX+YC}rU6X@ng%otXd2KoplLwUfTjUW1DXaj4QLwBG@xlf(}1P{O#_++G!1AP&@`ZF zK+}Mx0Zjv%1~d(58qhSLY2g2L4ao1Y$C-6fLF3Gw7>r~viownd>KQaJ7|mc824fhE zW$+>fyE2F~l<|u*8yW1zV0Q+4FnBS8moSJ|{PBx3_hhgagS{E-!(d+q`!U#`!2t}$ zGdPgJK@7TPQY20|dYueU;ecGiH?Zrc+4Y$9^7YMoWGKs#78%{o1CF@K z=-vfb{fyE5Ux2rEH@cq#ye7)%eipDH)9Bs_c&wYz{S4r;Y@_>W!0HU68|NAe1!s-! z9e_Q08r@Fa;0Mt2?HvpbCLKLhT()#&~c;C!Te0`SBtqx*5d8J8H{ zj{!cBVsvi@yzT{~dmG@@bk?neP%_%EaT5x{rLjP5@I#?LXjw*b!1H@Y7N z{JUUuKLoh;W~2K-z+rb8-J1c^#u?pz09;>cbUy$%ufNfaGm(XBdKulD0PjS3?*p9m zy3u_v;OfVW?pnZsCynlnfYAet?%xCcWtY)?58&zF8{KyU?tb3r-T+u~htW;d|G-?M zo0`X`HAeTHfLmgW?sb6CxPAxVd+!?Ew*%f{F}l|R-nGW)UIW-|u+hC5&uxc+oq&JHF}j;G z(QYOfYZ7pf@!Flnn#H(29DFMQA1yYz9f1FN&*-)To`4(`fMbst-Q|F9JZ*HB0ls;o z(Y*+;*G!|^2KXH0F9pm*{VW8GM>|~r`17Ymw-vDWW}~|V@HW(YF<>j?n-6#g>fHjk zZJyCR4{#aUQxRYT`pu1iKi+P1&jmd8u+e=3V9zR}`+C3^?=!mR0Nw+6sk{CO`kxJ0 zU2Ak-3s{EsIty_2=SKH6fF{UO2)NE*bQb{LS73C{1Z;ZJ=)M~8(`chRAMiowF%NLm zCq_5aBXmDvbVL2Z?@@2l0Pp_0(LEKgANuhWz>SX?-MN5Wh8W#BfOqyWx~~G9aJSJt z8F1z>qkBIX_qfeilMVd3&PI0@;9kg$Y7n}jUBL_puWvEB(*buxz%Bq5Ei<|&0hXa2 zt^|C4mC-#B@E)X}0Qdp=)$ah`dfe!~0`SXbqdN^S6Y``2x~Cf5DS&@!F}lYC-nPT& z9tY@JZgeLD_Bn2Jj|CiubV-1_9x=L2fOD=hx)T8}zuxE`1Nex|=pGF?^Kzqm6yQat zV2=Plk2Sh42VB?H=pF$mpuY?Ucmws80C-QN(R~@9{U@V)7~o>)Ybap<&y4ONfG@-u z-Gc!OZ%=mv1pLi5%XT#e6-9RSU8Ewr`VJu3)wco3uI>XQyZRO&+10-S!mhes0VKQn zCLr0>y?|s_-vA`LI&HmdSNEX;#7hR&;Ij0S3^&GuNC`_c%U8Ys`=TL{y`K%(5qtjy z(w~dHKY^^z#oiwWoo4U<@3Z&EP;apJ?h9t`!4LM{{VgEuy*rq_{|5KT-hT~9_Wmf~ z`PlofK>z=vy+49-!`{2I0nf$W9|qn3yY}AbZbJD6o-w-r8!++DM)#M1voOBAhXMSn zGGonN4B+42Zme+uzb4OE(*lTjOHB^oKG9f{j{#p_VyyWG=*E6zbe}}}mnRu(`r>}? z8OEB;82Fa}{{r`OFphr?_`toG58?Xir;Ih90iR!Cbbkt%j`8gfVCN{K`|p7No@jLc z4RF-UM)xOxBF6EL0mm-IycPVH#~EveApZ{wjWr+P`qLPv4+1`daqR%$9?T#119th= z=>8D!HjFvxF_H`je8>jY22&3!*|@v zfnx#VUd@E1=Qr-{1b-U$l9B&!IqtdU$m7cf2|@E&K|Mg+WY)7DAE zHH1Y7-yqD25Zazb7^V~2ZbaCO@D9Sy2$ysc+6oaiAbfyu3Lz&_XtN{SgYX=}A%t#G zLfd$R*$B%J?nT&+uoK}F!i3I3+bRS%LX;jn5Y{0yAzWdAYzU_i@}q^e2N0SNrggz} zgf9?=#Xw$!W`rAJg|>$f-a+^k;mV7IwlxT+5LR^++CD?LAx>!9g%D>%c@UZquIL8Y z5MDwMx(jVt2=^d-hA^v#(AI$P1H$Bsg|;mS#}N`PL0J%DE`@Fo>JXX`#`i>?2(Kdu zy@a-8gi?g#2=jUiZGT1R)(3nMUPc(!7uOLUL1;!8-%n_(LD+?G93ip4(B?#V0pSOP zK?9&mgnJMUBIx6Vwwn?Dg>b__q3uryKOl@Bgfb(1gRo#Qcq7aj0^K0Y7z%wOBo2eV z5PDoDwB3Yo5@B|N(Do|Au;D`6CWN>Vs1Jmw%OMv+Gs29KNP{qPl+d;nA#pTxgb+Ul z?FC^(qR@61!p{h^O}K{;lZ3W`@D0JSkQZTcGUP>w8Yi^PL3kBm(0HM33Bo>vo+(0G zIl>1B=2WyPgh6SjD}=sRK>rBQzk{3z{U@M45%wbdfRH>9=@4E*h`JJGM_7l@i0~`I z$Vn(O!e0^M%(##6G(s~%d^*|`!s7`4Lcq(&Z9_7V7NKtz_#zC;7TP{W7&aODM>vJB z;3~99gu)!ifiNu>I6}e{=mX(PgygB43jB0FDExE%eur?Y&9h=oNjelGRrMh zRoVWxGn2COr>OlvHI|V3lOGRJkB}K~X^Q z)pTh^m9B~fNtLbz63z62qRC5^$ay3s=jLTpFIZr8PPbM#oXfMURmDzQrOV+orP%C+ zma4LAZLZS1N|()HugcC(cHzpRiVCUBZu8UD zxJt)Tt249IVqa*@a@eg*-QE(IQi`eI<@w%p{%OWjS6mu0Ns`N2UM}ZzO=SQMbbE$_ z3$oPipCsAKA~>f%SO=BX zOk*u2B}x)My_!QsJ-k}Z&733O6uD=sTX z%T=dH8tb$!uC`Xm3h}9yK!s70o6?-tg|;deltgVm%L##<*-&V{2?jKOx^z`ivma&R zB8SbMKi!1^iwIO|8lOL%hBh|Dc#Dne)H?jGo5oq4PP=2W(@`Z*3yvu!Glrtz>! zFpi;;jI~>rUQ>m>UT(A6F_1`RJ%7of{CrbVZl3p!nsrb*Qxe7ko74_0&gJc}Ng4|y zXm>0vx0Wol&TzPF3v9&}YC^F2@&Mu0gDJ&QSy{fk(2;A0@=<>~NT2no=7N^Dh@`Q@RKjI-L?NiiNh+mlD(@=9yAE#I%5rd8X06c|{ZlmKZI3Yfe^ znmIwqwrtFu)ao4v;~~!k<>^g!eo9_Jy3=V{?w1lG`=pd7eO}ciC0AG~l__Xqlxr`s zF3Vn|Zna6tDsGCjs*IBoRY@}))##Gy+)YVHHq%<=sCE`xtNd;!B^G1Y#SFl;z~QWz zTy2-SB29_rE2foxSqCBVbT1;7nk{d+Qx*C!L881$t6grox#*r2OdFYKiiDD#Z!b|A zn8|7U86=HmIq_~8A}`_-MlzE9T8Fc2n!{szl@il!&c#pH<4Z7UEiMgY%q^}UcQA8u zR8(4=R&cGfI$bu@A#AOW(Ihm}QC=Q+I34H9V7VW;WE3UKuc~HK`=owT!4wSMGpyDU zYYA_2fu`4ED=ev7L6?%CgnGLnzYH7nD@wX+3mXbx)Rj!Qcs^$JB zjk*rqk*7g^J!>3VZiUT`nILO`FeZK-I$}$P92lUzT5y z%XnK*_T#Yj2+TJbO&St;8G4PxxJqdl!ae^w8^Tdnz*ITaNbq|%bAD@#ygGp&^l zCnhi^WGTmKDv$NfG)&e|zCc3)mQo9B3#*;yK%A6R?5JEWHxn}HnGj(iR?W(RUsc0)umak zZ#qdN(>PKQO=2Oh9siQ02_{v|ROLOkj3iHrn!+@;n5O?Uv&^@+U;(GX1ENeN(dHMk zy7svxWoe>`0g=KfQi&BN%{`Gi024`Me+IN5|$_ND?I@NsVdpD4$*qPn3`N-faA6 zOeRJ&AIs$qkd2ecs9&-5b%#2oJnJZg!$ew}cZ8PBW#k_1l=@>w$dh^2`KWyA%)yC$ zbSP<vmnJ}<=_+hbQ`W1<*N)8PMr^9}PbpE)@;127+vZv-(wNy#N1R|m}k6!dIDfs*9em1c!eH=FIoL0W%Fs@Reg{w zQk>OxURCMLS2Nk>Et0}%Lw-un#votM_;eN7@+C`46KM+2QNs-fLFMvuH2Q(;RfoHC zASNBQD{3ae4V!lqNM1m0dD&`vnuT1E%#?esn#Q^;3m1|@1bb_=5T3e3c4?C1MQ%?4 zlE{X}n<9xbabaJGc*qG%ep|M-s_ezpmU3(}d6xR#jJ#tPmcITYmM1$nPi0}%g~2*e z5!;zKUXY)Kj`NK@cw4mIHHw9CbZz9O+*}UhjLm#2q(UnhH zPw9BIDDzV3%!e?T-h2{yxXViM*(^4tVM|8#E?-0Y0r?gib{}Lhd=e&&lbtxSw}Yl1 zw0D}DaRIOc0Sv0@X6nlCVRxfNt#+* zYAr6y#-1w{VCA%xiKz=~64KSHtF6`6Mfq&BS2hZ4$4c9k?T||K=__Aql?%`Aw413s zZS*DecnVqJWPcypFT?Y(9ScufKA&{@e zT(;-H$G3f(;2vBmuS$ZqYqXT=`Q^4M<#Ht7JJJOZk9FAss?g9WnP(ZkSaP<8WO_bZ z#6Gp2!gf8e-|5Yed8~aBhO^1w@klD0hDq&G_vRBoTfW|PZ_+>w*2mGVNE%4|WT`_b z%IKf>IJxVn(|8%1#x8|>Igry=S>6y6RG(yQP9#4pdt0nd>@P$_iZzi@;+n`9#CGVT z#GU$)h&3U0RG)}gU38SVBRUze4Y5(;#@OMA9Yw4;HUY8yU8BU0yGrTekS^{rTyqYJt(&I;wbU)iz#**v6@S|B6jGKDDev^ zwq-<=xOGJDh{%Y?M{k@T6;X%(kRsyH7{b25|1QARnF!l}|3*;nGDV4vrXjfABwas> z|DABXB`r!koz@4jjW@J1cHEBm&f7&wzu^wVH{Kz|AFoBcu2x)z>pNE>zH6nZ(}_FGP}bgw zaZwTbCdTPH^%TU;;)a`J#LiuJ>67<~M|oQ zq68n0S~GUT7{ns>IuAty#%xF&IdZ3nP$WZ2wX+jvxH*c&^i5+Z)w+4~pXlEcKaM2W z93jc@apw&~-Enkb@6Ao!0L7Mc`d>Gn{?}YjclJFX#_J-*eIj(yvJg#Vp)N`n7ZKSh z=H*WAh>iWDI>pHmw1`fPLwDff(auqwUS=^|jjT)F9Jw!IqgZoYROAj%T-Vvq6MB7o z#1~!BaPfaO)dsr2#_rUl)}g~~h(s*nyQ0%EQ4uHcUym$WI=j2oMASt_bvn&rB+PsE z_hPd)cZ=$@UygvYxCXq|bq9@j8r`nOh?s8IsC8r4jfv7VN>CSVpk}#qK5BYC*ytV? z>mnXU`RXKiC>pspciJ@|D&jl*Uq>p~XNVHtGf>+7!!}E4KbBwNAbT?=bj{m5G8gZVPm4iID$Q+#Jcy zrE7JF?T})-5Nnj~x)IweU3(9){Zi}@Vqb`))}x3uOX*G`c1pT?8nK!PsoEk?Z4s2) zCd4*J=ykeNL&OMCIC&BN>o?BF|2TtAw_&LIVze%Kwiqk6MAt-!_!-2iGLYY00OSr-Z5*1t?xO_vr*d9vqb!ZyYbi_I|-k9{!`lS92W(ye`$ z4#EGOm+m0sU0>Iet~X2Z8tM8*>B>eqO;0Ju=3#4eNVTpv z<+!o8l%u=1l;i%(whYC^#sQ~e0New%NM#wEL&(q#7tyVuO;n<~p^`MsLnyz^L+Srk z>3@y%|D<%iW*A*>lHx7W|8>%pb#j_vTftpdBcANi5*v@$A;6Z{X!KW7b^`vL>_Y#W zd$CtRgbk@UHw^ECY-D>zgL0pU3cIhRf$V z;!H7y%jY@b>?}sVgQcI(?$bFd^xMdAI&X!3od14?zsl~*=S6z?%jZOT`S->5>*@C$ zOHbdkr(d5dWO?bk_VnZYn;1TY-Ivdy^zxU_pTxKKalgN=Mxb*b>GubQ)A?oedxdbk zytCIWp~Cyb5BNTYAEx_JIIB%M-v#n9d?UmE4ZK7qmHscr!E#D`4e$l1+uA;t)6smw zr8s~tUP>wd8>GUMRQN;{PVXF*&_DLe!F^?ZzgOXp0$1iwq@xw>WzFuN$NUy|+KHe-R$YS&y=k#bc(vNVWSK>rJ+brKNVe}m5^blM6ae5_A^qb7` z{WXl9G}I>gj4=XoapKN zRr(EM^c?5(J>}b;{FOM-&t~+wjGp71zEVZ6#EG8H9i*R)(Q};BEA>tCD{-P1G9_~1 z9!Ae`PEY4B(vNVWSK>sUz~~=m^c?5(%KQT5KabJB#OOKB>2aKi^yB#}amv4$(eG#U z9Ov{K*b9lAUWpUED_7=!iqUhN)9*qW`f++CE|s4S_QbC@4%(#lL+7m0kJC#LhEw^K zxI~ZFrs$W$=^4)H6C>pNJbxul^t1Ej`(=!to^-cLJaiZt*o5vVE$2omG z@}?i*L?2HGe$Se{al-ej@b6W4OuBFS0VF?x=3dUo3*zY-_<9qd9QqvtrMPn6kv=#@Cp z(|Nn}`;yUfoYVJ|Z+qyKIMJVC^j))L{d1htSE}fhIMLJjiu9Yv=sC{mmHM86^h%uQ zw=nujM$d6huN=>bUWpU^UPix((Q};BEAtDK|7k|w$mluF>6gjH^XN~BQ~q?`CjGu( z^c?5(L*&~YdL>TubdD$eMrX_V=QyVyNfG=Ako-!V=;<6$`mJE}9QV-6x4rZVoapIX zQTjd4=s6xPJ)K8NzaJSr$HS$k^G@kEYO-8@j)zN6=cm%Igwb<6TzWe1lztB~dX9%n zPv^PP?;}Rf@o?$s+*kTVUnQ5H3hiHdD^cMCwlI$_=VAPoYVJI(JOJH=l+d>IkNsa>V- z^c)|9^gK>UZcyQOsPJ7X{1X*U`GuNaL|`3ILK(5&K;X*x#jC(+e!=}s#E;6y{WX8X zeVSizobHn?ibtRy;WLmvo)G*9C;ACTz`d!87InL>O%C|lAN}TBTGy3I>p5vUpQbn)CiJs1}q+cDQ=QyWV>U### zD{-P<#^}Fb^c?5(2{L<+{7RhYw=#Nhnyfz$4!UsK{~<;{jL~zP=l_K&eTu8!P1dUov`*bNXqpIrQW7 zN}TBFd}8{=!tX%#hvS@nODFk0r&r=czsx1yH#2&UbNVKV;K%8eIMLI&$n>jb^c?5( zTjbjwdL>TubZ##F{>6Ze( z3+a#JoPM4`zR&5EIMLI2x%9h>(Q};BE9a9lkY0%sJ)PG}ze9|k;~skXwnu*>6*$q; z`Mvb(o+r!C@o?$s++X_5VDuahm!8fQrr+I+p5x)t(>cZTdy~;~JY0G@SD1ePVe}ji zm!8f|rr-E{)_)itE+OHBPdcI$EJ)`G1r&o@5l)n-udcMDP7o+Dm zr;k_V&+*MjKP=L_zqJE6zegmWsqiTHft2@?Rro9wPWdb6n`>~tgc!5mM=JbF;L7Oe%(U&VaPslobJ>37>__d!bv~zgy2Uw(N9}1p~6~5&vCln9=%e28iu+?VLiP^ z<~NY=Xv`l(;sl7$75Q=hx1HhKpL;LExqtQrhI4=O=M3lmV=4ggByVD82#((@!V$QC zat*_|zv(%aK7pnG2fNSxDPu5CAbRc}v@o3ed)6|X`yXFqIQQp#&T#IZJIiqH?;DK1 zM*O+|@G6FLe_RE_xqqsbaFn;1mG?DvpU;neAROgSxJWL4U!*1eeEx79!})w}E5rHx z<`agGoF}PI7>IcS(ewFB0mJ!x>UM_n_1W_b=kx8O4CnKQ6um58Jd>}OaPa5zlNT7y z*GtD3&gZ`u8RYbQJ(kXJKEGYSaK2ty&v3r}*~xIep8AC0e0_47;e5V65V|D!`2J-U z!})%qjp5w?`4GdoKj=e-bN@!CE;2vvZ@Gfu-2b$g;oP57$8hdnX<|6{*Nuvi`Emc- zLWXmH+BSxB|I+6S=l-%@u`)gPpH5>qUvJ&Ya6bRo#c)2J9%nco-v?eK^W*cK>ln`G z6SWNIv;i!WgX20?np33@r zCBqY0d%Tz7TchOu^DM(R$IAGZ4Byy8#$$}&k3J{3<^FOhaNKE=F+muh!iTBwL=~Q= z!f#gLe^TKGRrnbdp54t?p5LqRcUAZ)6+X1PFa3=w{2>*7P=&{0Vx!c@col9@;m@h? zJ{SAaC#&%5Rrswce7g#NSA}=I#Fzg975<6}Kdi$4t-^a;>dSA03NKaRkE-y)D!dOS zc1ryfs_?s2_^T?sS%r7&<;(916<(~uA64Q1t-`zZ_T@KCh2N^ecdGEuRCv!mzWlCL z;lEemhgEn?UtjtwRrm@OzEg!CRpEX6`SQzA;cHa*Ru%q=3jdo5KcT|Us&Hd}-~90z zVW0LeU4`3J_<9xIpu*o(;XkVIiw5}SH%f(1Q{iPQ{0SBQmJ0t?g&X31^Bb?iZ&BgT ztMEfA{68wZ-#}mfxhi~-3cp8%Kcm8rtMGnO{he^KGbRCu2ezWhuoe3}Yhpu$(G@CQ}+vnu>u75=pfKdZufU+yd4?^O5<6@Ie{ z->$;nSK3ja`r|4W7U8Rg4ATZLOx_^m4ZVHN(C3jbAwCyn;a zZ@voulM4Tv3hzC}mp(&<->SlQtMH#y_~1leex)k>K^6X`3h!+4rO#5~x2o_rRk)Dk zOaD6+zFLL9rovCF@QGu6`K?glPpk05D!ga1Fa1;%zDk9^pu&%<@Im8z`Q@l^n+jjA z!k<>*AFA+gRk$$TH@{vgJY9v)Q{lI%@a-!6EfxNQ3Lli>oBvc5zC?xJtHPgB;cu(( zFI4z7~NsRro{|o~Od+sqjh_ev1lUtHRSF1mOyV-yz`G5aC*c*$CGm z%t5F|AfMh+gk=cJ5pG7f1>shN0|*BZzC`G)qjxK?21Xc+Fa$x#pL~bm=5Z6!D)XrU zuFR_^c=tk}Jo_N!&7^}gQ9U$IrDrVmx%@CST3x_r82*=*0J5`w3>E?}B*;FDjvyecFkRifaW3Y`{v z6@7wts&#q5?8eJ)>9cRY&}U%z%jXKggS`^0ND}0gV3SFaCiENBiiByNFKA?%0?DJe z?>!7dNv}G_!AAh4t)%5XW`2!yQ{UBswb*~7KSWywYEa9c*S_+j~Rf(aJcK8z-Qk93`7^IPe zrjUD1s5F6(cL`0=E>}U#nsVuQ2guPBkghOP?5NpAA0eBYhi*f8d&1 z;!uL)GwZ&2)2Tis+23oxT8{jzUL@%Bwgz*c^H59>kd`$-vuo4{IB!6f)oLq=#7ET1gx3YY`!80{fPAL+R z{9UT>sZzc2YE72;RusqYB*0Ls5lj=ApLIwb*Vfx3RW>|Tqic^e zL~9R48b)&uK_0lh(^+|np@A$!;j9p*lqCp}kDLO>KPuRI^OjCKESxnXL>2)Ohse$+ zbymLW)TeyE<)>7A zGE#nJ*!PBf1WTY#M*Dn`@0>po=#yJ$f1u*is~6(qmmTL3?5ngsW%!N0-Wp_m=99I; zQK&eVSEBsQ4+2&l-E*!7jdb)h8^3RytIxv;^o?zKAn`jpNcDAke4|>PaC<*`9zJ1s z-*H#vSlrQ^iurMrfz`mj-wyY7aroc65BCfDK|jeqmY=y2>U5GIs_fYLP5#A}{B}W4 z*YHo@f%9Pk5c?gj;At~KisyeE15t!JGQpoB*Z~gbcSg^7p0jg~ClZ*>_m}~{N(u1^ zS#^hJNrRsV7ebO%pU5% z#>9nQFQL@cy~`BeWl^9b2Th?5TsHZB$2q_$iQ$~H*UpiWp$}^{wR1*qJIAA+`_YH( zAIaU$vFWDvPyFoAVa4aO+EcWNplsSZ&YBK-q4T`)VRIJ_4af0i>gJ|?C?P<5Y4_}L z6F(SBJ~-0%U@Ucp?H5)4)@0HDjhXyb)LuB=-^R-gA`fmq_Yi8 zDY>7$tNFYSn5JX*(ibjt;yiks2x13-LG&{mIKxI!ukw-Y-gQ-eJIArp z3{RbhUl!qyz86fI^s8tYfh@hEF4*4 zbxH?jnv&6`r%P9*amY_0Y1MX4EA=K>>#E`fJprB!xwHiGJIvi%%%H@fkB?VbRpp6M zO5R}|ot2$%cPuTpmSAJg;j%5j z(}B`~-`pdhDBf6RZ{%uqRN&|=KAi|)t<;s9M9(oQ2Lw8#Cf8nKUFLU4bW(DKr7}oT z`3XsdRLS1r;>_|arC92QlTu+>mT9T9%(s=>T+7=@J=R1nOB|0W6;~=~I}}Rir&qvG zXNCtoXgtJe;^XtDOTJY3kqK`;xGo=9q$>4z*^5FQP<=-}j5olY4jkO>6(ERb(VM{I zR#ct&)6U^Es?WaI9oA{(0nV+w07tZT_^8MLd3wEs;mIhwpncMI=-AtEkE{*k z%;M*q`BfW^z&yu8)zAHudiAlJz6(bm1<41M1|;>c3(xx1cOj%3Zl%(cUH zs1`kFCHf`oNZHQ)1aa#{v6(hb3V5h|-beG1TQV=HRQnw)R4Vk4Wv!%A`7jKnh*Vn@Yv-6k1|ajur6<{g1 z-DG8B5WUG2=qP4y{z)|H$g8y4+mj)Q>^~)JUykv%DoTiE>t9}K)YAIQzm!x+=2Vn4 zNe|;G9{-@OUpUJvIq)LPUW?0$ic8Ci7FcZMzE>7jTbw1hgfvc<1Ra$^k!60BqrBRM z(}gRnMJ`8?-C}oCS>XvTsS=8?!~;8sQB++?3524Bxp{azafz+i%6eT{UO|S#ff>5J z&{>THWmc!%T3+O`RFw%u71jzkW`v?ji`^y-!qbw*)1$*wt3^)fbl;*9YgMt+R*5T+ zY0flkh6cD^RJ?3i(ZX`ad`o%J5{nZL@!6;dbAmlb=y{et$a99C2l9Pp?w(DvtES~; zq)&sYs^=Hw7Ac-o99>)qofYx>Sw$8}im)D6^vD!mYWdwbo|B&>zVEUzx#r9W^{RsR zSxB!aVLdv@v=vkq)$1u9VLav~HOp32X>k>oX470aKU1zc^K?_H9Xj3lvOTY$+FI`UKsE?xd=<-m@oj~xo)Z1PPL#{0M)pOg=!r*r#W4fw9D$KuVI0Y8PJsscK3 zd{TG|iQ=%4K1c$emxO%Mcpgdcxf)ojo@{*526@}gCygnr*SY;pXZ8-Q0p4s6{9d4M zwzQww?yKgim(~NnBCkpm_|0~jE?$6l?L$9*s%RtL7I1-wQ(rCmJ!ax_J5BW_qR&lJ zqUx>ffbTN|n?z)vhvinNNojvQBc+ci3^11e4>F7@>BvmZX>T4E)Q*NV_wn@quu^;M zU5L~{EN&=@!1gx;g~u9)N)yKS06d*31Rtf{4v{RN6%Uc#+oL_kHq`ro-sCv$~(N6?a(Jv)FX3gDV&E<1Mf&9r-*?khNsULc<5&;qTJ~UOR@&=6pWIbB+_CQ1W#AwLvzw z3eghJVR99M+y9~W_rsW9g%Dbrx?n$nzIo#Jk&jSx!Dm<@sM?!ig&++%#|lLkVv-e# zEaWUJ6k*V5RtO@msr3vI9h_&WNAiFZt!e(Q?9l%E0JE=9rBFFWLUrdr^RE!B`2;LP z60Z&~low^1ZN3v$Y9aE$&C&uKIe#_4_~QH2AfYQ-9q#EqBAO zyZ_j`Z`IygcNGo3>ks>WDg3WVRl9ySGPT>|*_?pZ|ExCs9{i`BL|vKWv-* z%FnjHytMw`4=;KAFX74(DBX&eR(^ed+o5kCeC&hLX;TJH{PCKdn**f__uBO@#XtMn zH%Hbzn(LYu@x<0$MSs0`=q0OqG=4O;a($UTZNnYa!^ZD+?Ua9?`jaSXALPe|+bs`mB4`e!Z&cv(G<$?#KJq+m1I5S@-%>L+%}a*?z~( zhwpq8-G%yz)E$2Pa`9rs|1)9IvWoI}JnBy$4x2d0G&*rmywzUpD6!cWP8@Vi;p9=N zgC<=WJz-#0US{ES`PuQ6<#=r-KL47GX}Ov4gGP-RlTMqIW5#3^X2s`E%PlC32ahph zvS$p6A5`jcRbDY>%+jSxM@w6oqhU5EVbvJ+RKoIUU^WT_qf1;RgOH8P-A5c;EwL55 zu8cNJD6=lV5-b=qY}Qvh@kID&c>hPyw)-gQWupmWC>c^?LT()c>M=6;gfSBHE2Cwr z(dmT3YMg*7e5^)%L|9hiciSH~PZ_>x!n56P?)lsm(~bYA7*jj^uLVzE^3DBEBs^&O zMrk<$#p@rt{^8}XcA5E3#aD;kD){@bsHa~z@YO@Z4En)E2iLuP=)~sb@f&A6X}zd= z*@nm|TX)W!v8d*?w|YM|s^wtHpDxX8y?y`0tsh^xFYlQ*AKJ02PycLT-K%GF9lbX= zxBTgi!|yd&A1!sg`TVx`wpYIV^e2NREy#ZEo#h)&zxcx^KNWuQyJhc0tl9U}Z9ATu z?fC1l1@2CNKX9NdB5!u&*_(IWeAC*`URj@W=g2>w@BQ={F^07nU;XoeABJsTd%FL2 zr|E;o?`zT|sn%$xkflN$%# z{y@p9kMG$2Nc{`focZwa{hzzm*Bu#q*#}MkJd!kd|03OrUq5}pa>J@uQ{Sq2@-b7H z{@@+&4L7_#W^0ds6dcn}`tP4lv_AE1%RBqyUi&UDoJ-s--5?gwWYH!b=0 z;l~oL>hwYKmRaK>55)}~Rh4z~8~xs#bp70CPE;i8Pe%T{^ug!8?E2`RE9X|tpY!FV zf8Y02dG_*uUEjLs{&z1O^Y(SW^vSP&b4vEUo8Ef&k#A;CNSqyKdGMNl@3`&2@dqar z+;!%*5npWWv*qQ8(*-)++2)wb-c5Vy(YS5@{NtIsN5Ayh$(eoMd16(LW5wJ~A9QW~ zHD~%gLwkI?<+DG&d2G@TJKpMB*!7zK)lR*G0 zyEanv*6uqWE4eIhn>p14BL1t;NS|$SAo)4Fso88evCTWz#?=y6hugpItdP4NwL|_I zsW|UWFy;%g)XAOV{m+F?L3-a4{xxhJU*8zZA6|AVgWiJITUCOuK`D9P3m!RE6|yvu z#Z>K)ixi@7O{rBEYD{r!55ws>-aw&ubZTRGFw@kVWzL8`iT{tE67M}U1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ h1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R-X*`~eKsvU30c literal 0 HcmV?d00001 diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/MultitouchHelpers.h b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/MultitouchHelpers.h new file mode 100644 index 0000000..4ce965b --- /dev/null +++ b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/MultitouchHelpers.h @@ -0,0 +1,39 @@ +// +// MultitouchHelpers.hpp +// VooodooInput +// +// Copyright © 2019 Alexandre Daoud. All rights reserved. +// + +#ifndef MULTITOUCH_HELPERS_H +#define MULTITOUCH_HELPERS_H + +#define AbsoluteTime_to_scalar(x) (*(uint64_t *)(x)) + +#define SUB_ABSOLUTETIME(t1, t2) \ + (AbsoluteTime_to_scalar(t1) -= \ + AbsoluteTime_to_scalar(t2)) + +#define kIOPMPowerOff 0 +#define kIOPMNumberPowerStates 2 + +enum { + // transforms + kIOFBRotateFlags = 0x0000000f, + + kIOFBSwapAxes = 0x00000001, + kIOFBInvertX = 0x00000002, + kIOFBInvertY = 0x00000004, + + kIOFBRotate0 = 0x00000000, + kIOFBRotate90 = kIOFBSwapAxes | kIOFBInvertX, + kIOFBRotate180 = kIOFBInvertX | kIOFBInvertY, + kIOFBRotate270 = kIOFBSwapAxes | kIOFBInvertY +}; + +static IOPMPowerState PMPowerStates[kIOPMNumberPowerStates] = { + {1, kIOPMPowerOff, kIOPMPowerOff, kIOPMPowerOff, 0, 0, 0, 0, 0, 0, 0, 0}, + {1, kIOPMPowerOn, kIOPMPowerOn, kIOPMPowerOn, 0, 0, 0, 0, 0, 0, 0, 0} +}; + +#endif diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/VoodooInputEvent.h b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/VoodooInputEvent.h new file mode 100644 index 0000000..f573b2a --- /dev/null +++ b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/VoodooInputEvent.h @@ -0,0 +1,26 @@ +// +// VoodooInputEvent.h +// VooodooInput +// +// Copyright © 2019 Kishor Prins. All rights reserved. +// + +#ifndef VOODOO_INPUT_EVENT_H +#define VOODOO_INPUT_EVENT_H + +#include "VoodooInputTransducer.h" + +struct VoodooInputEvent { + UInt8 contact_count; + AbsoluteTime timestamp; + VoodooInputTransducer transducers[VOODOO_INPUT_MAX_TRANSDUCERS]; +}; + +struct VoodooInputDimensions { + SInt32 min_x; + SInt32 max_x; + SInt32 min_y; + SInt32 max_y; +}; + +#endif /* VoodooInputEvent_h */ diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/VoodooInputMessages.h b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/VoodooInputMessages.h new file mode 100644 index 0000000..c0fefe3 --- /dev/null +++ b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/VoodooInputMessages.h @@ -0,0 +1,30 @@ +// +// VoodooInputMessages.h +// VooodooInput +// +// Copyright © 2019 Kishor Prins. All rights reserved. +// + +#ifndef VOODOO_INPUT_MESSAGES_H +#define VOODOO_INPUT_MESSAGES_H + +#define VOODOO_INPUT_IDENTIFIER "VoodooInput Instance" + +#define VOODOO_INPUT_TRANSFORM_KEY "IOFBTransform" +#define VOODOO_INPUT_LOGICAL_MAX_X_KEY "Logical Max X" +#define VOODOO_INPUT_LOGICAL_MAX_Y_KEY "Logical Max Y" +#define VOODOO_INPUT_PHYSICAL_MAX_X_KEY "Physical Max X" +#define VOODOO_INPUT_PHYSICAL_MAX_Y_KEY "Physical Max Y" + +#define VOODOO_INPUT_MAX_TRANSDUCERS 10 +#define kIOMessageVoodooInputMessage 12345 +#define kIOMessageVoodooInputUpdateDimensionsMessage 12346 +#define kIOMessageVoodooInputUpdatePropertiesNotification 12347 + +#define kVoodooInputTransducerFingerType 1 +#define kVoodooInputTransducerStylusType 2 + +#include "VoodooInputTransducer.h" +#include "VoodooInputEvent.h" + +#endif /* VoodooInputMessages_h */ diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/VoodooInputTransducer.h b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/VoodooInputTransducer.h new file mode 100644 index 0000000..12a2c0b --- /dev/null +++ b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Resources/VoodooInputMultitouch/VoodooInputTransducer.h @@ -0,0 +1,54 @@ +// +// VoodooInputTransducer.hpp +// VooodooInput +// +// Copyright © 2019 Kishor Prins. All rights reserved. +// + +#ifndef VOODOO_INPUT_TRANSDUCER_H +#define VOODOO_INPUT_TRANSDUCER_H + +#define VOODOO_INPUT_MAX_TRANSDUCERS 10 + +enum MT2FingerType { + kMT2FingerTypeUndefined = 0, + kMT2FingerTypeThumb, + kMT2FingerTypeIndexFinger, + kMT2FingerTypeMiddleFinger, + kMT2FingerTypeRingFinger, + kMT2FingerTypeLittleFinger, + kMT2FingerTypeCount +}; + +enum VoodooInputTransducerType { + STYLUS, + FINGER +}; + +struct TouchCoordinates { + UInt32 x; + UInt32 y; + UInt8 pressure; + UInt8 width; +}; + +struct VoodooInputTransducer { + AbsoluteTime timestamp; + + MT2FingerType fingerType; + UInt32 secondaryId; + VoodooInputTransducerType type; + + bool isValid; + bool isPhysicalButtonDown; + bool isTransducerActive; + bool supportsPressure; + + TouchCoordinates currentCoordinates; + TouchCoordinates previousCoordinates; + + UInt32 maxPressure; +}; + + +#endif diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/_CodeSignature/CodeResources b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..3f26e6a --- /dev/null +++ b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,177 @@ + + + + + files + + Resources/VoodooInputMultitouch/MultitouchHelpers.h + + 2Dn/wSPXmisHoAia4HckRfPF9VY= + + Resources/VoodooInputMultitouch/VoodooInputEvent.h + + 4GTEuNGgjRofbAtGSyWz6Nbsnos= + + Resources/VoodooInputMultitouch/VoodooInputMessages.h + + qCmn9DSe9uGXcmf2kYAon+yhLZM= + + Resources/VoodooInputMultitouch/VoodooInputTransducer.h + + gkk9BaVsQ4gUmaqO8llP7dOHjhE= + + + files2 + + Resources/VoodooInputMultitouch/MultitouchHelpers.h + + hash + + 2Dn/wSPXmisHoAia4HckRfPF9VY= + + hash2 + + Sfb8D4oD0U3eU/uN3tJWzilbqnn/x967cYacLl0mbZc= + + + Resources/VoodooInputMultitouch/VoodooInputEvent.h + + hash + + 4GTEuNGgjRofbAtGSyWz6Nbsnos= + + hash2 + + pU3r7vNH4yll7M033lo4m86PdykPsGcQ05X2FBUJqxA= + + + Resources/VoodooInputMultitouch/VoodooInputMessages.h + + hash + + qCmn9DSe9uGXcmf2kYAon+yhLZM= + + hash2 + + LQmAinlegp8n/vYzAgpEK+UQvOCTfiTykq64XnhxB8Y= + + + Resources/VoodooInputMultitouch/VoodooInputTransducer.h + + hash + + gkk9BaVsQ4gUmaqO8llP7dOHjhE= + + hash2 + + K17G+d04Tw396K/qurHzQZc/0cTgWwEESFtu6sfMd0w= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooTrackpoint.kext/Contents/Info.plist b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooTrackpoint.kext/Contents/Info.plist new file mode 100644 index 0000000..85387b7 --- /dev/null +++ b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooTrackpoint.kext/Contents/Info.plist @@ -0,0 +1,78 @@ + + + + + BuildMachineOSBuild + 20A5384c + CFBundleDevelopmentRegion + en + CFBundleExecutable + VoodooTrackpoint + CFBundleIdentifier + com.VoodooSMBus.VoodooTrackpoint + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + VoodooTrackpoint + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.0 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A8179i + DTPlatformName + macosx + DTPlatformVersion + 11.0 + DTSDKBuild + 20A5343f + DTSDKName + macosx11.0 + DTXcode + 1200 + DTXcodeBuild + 12A8179i + IOKitPersonalities + + VoodooTrackpoint + + CFBundleIdentifier + com.VoodooSMBus.VoodooTrackpoint + IOClass + VoodooTrackpoint + IOProbeScore + 200 + IOPropertyMatch + + VoodooTrackpointSupported + + + IOProviderClass + IOService + + + LSMinimumSystemVersion + 10.11 + NSHumanReadableCopyright + Copyright © 2020 VoodooSMBus. All rights reserved. + OSBundleLibraries + + com.apple.iokit.IOHIDFamily + 2.0 + com.apple.kpi.iokit + 18.5 + com.apple.kpi.libkern + 18.5 + com.apple.kpi.mach + 18.5 + + + diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooTrackpoint.kext/Contents/MacOS/VoodooTrackpoint b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooTrackpoint.kext/Contents/MacOS/VoodooTrackpoint new file mode 100644 index 0000000000000000000000000000000000000000..990cecac36100330323771b3cc0186306b64ed3a GIT binary patch literal 85776 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 literal 0 HcmV?d00001 diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooTrackpoint.kext/Contents/_CodeSignature/CodeResources b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooTrackpoint.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooTrackpoint.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/EFI/OC/Kexts/VoodooRMI.kext/Contents/_CodeSignature/CodeResources b/EFI/OC/Kexts/VoodooRMI.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..e131dc9 --- /dev/null +++ b/EFI/OC/Kexts/VoodooRMI.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,152 @@ + + + + + files + + files2 + + PlugIns/RMII2C.kext + + cdhash + + mmflA3fLLl/W9Ae9rUB+rBhBLzA= + + requirement + cdhash H"9c64ebf1fc72773012e48825ae2262ec1f60651b" or cdhash H"9a67e50377cb2e5fd6f407bdad407eac18412f30" + + PlugIns/RMISMBus.kext + + cdhash + + fA04iAtrGzfF1JU2HeohME2scgk= + + requirement + cdhash H"cef1e7303dff62e092a0b33790ec73a4d78e49ca" or cdhash H"7c0d38880b6b1b37c5d495361dea21304dac7209" + + PlugIns/VoodooInput.kext + + cdhash + + tpB3n7tavV+Vnmp6/WhNiAjoeQI= + + requirement + cdhash H"d98406fb8dbdbd15e9b925c93975d6e8921dbbc1" or cdhash H"b690779fbb5abd5f959e6a7afd684d8808e87902" + + PlugIns/VoodooTrackpoint.kext + + cdhash + + EzdJvM7s2cX64tBNcEmWZc9JX0c= + + requirement + cdhash H"f0f3e25f094443818e2461577dcb47ea47cc2770" or cdhash H"133749bcceecd9c5fae2d04d70499665cf495f47" + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/EFI/OC/Kexts/VoodooSMBus.kext/Contents/Info.plist b/EFI/OC/Kexts/VoodooSMBus.kext/Contents/Info.plist new file mode 100644 index 0000000..858328d --- /dev/null +++ b/EFI/OC/Kexts/VoodooSMBus.kext/Contents/Info.plist @@ -0,0 +1,101 @@ + + + + + BuildMachineOSBuild + 20A5384c + CFBundleDevelopmentRegion + en + CFBundleExecutable + VoodooSMBus + CFBundleIdentifier + de.leo-labs.VoodooSMBus + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + VoodooSMBus + CFBundlePackageType + KEXT + CFBundleShortVersionString + 3.0 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 3.0 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A8179i + DTPlatformName + macosx + DTPlatformVersion + 11.0 + DTSDKBuild + 20A5343f + DTSDKName + macosx11.0 + DTXcode + 1200 + DTXcodeBuild + 12A8179i + IOKitPersonalities + + VoodooSMBusControllerDriver + + Addresses + + 44 + 21 + + CFBundleIdentifier + de.leo-labs.VoodooSMBus + IOClass + VoodooSMBusControllerDriver + IOPCIClassMatch + 0c050000&0xffffff00 + IOPCIMatchComment + Intel SMBus Controller i801 (Class 0x0C05) + IOProbeScore + 400 + IOProviderClass + IOPCIDevice + + VoodooSMBusIntelLpssI2C + + CFBundleIdentifier + de.leo-labs.VoodooSMBus + IOClass + VoodooSMBusIntelLpssI2C + IOPCIMatch + 0x9d608086 + IOPCIMatchComment + Dummy IntelLpssI2CDriver + IOProbeScore + 400 + IOProviderClass + IOPCIDevice + + + LSMinimumSystemVersion + 10.11 + NSHumanReadableCopyright + Copyright © 2019 leo-labs. All rights reserved. + OSBundleCompatibleVersion + 3.0 + OSBundleLibraries + + com.apple.iokit.IOHIDFamily + 2.0 + com.apple.iokit.IOPCIFamily + 2.9 + com.apple.kpi.iokit + 18.5 + com.apple.kpi.libkern + 18.5 + com.apple.kpi.mach + 18.5 + + + diff --git a/EFI/OC/Kexts/VoodooSMBus.kext/Contents/MacOS/VoodooSMBus b/EFI/OC/Kexts/VoodooSMBus.kext/Contents/MacOS/VoodooSMBus new file mode 100644 index 0000000000000000000000000000000000000000..89bb2dfccf9f87445118ddec089793395155a7d3 GIT binary patch literal 118064 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 literal 0 HcmV?d00001 diff --git a/EFI/OC/Kexts/VoodooSMBus.kext/Contents/_CodeSignature/CodeResources b/EFI/OC/Kexts/VoodooSMBus.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/EFI/OC/Kexts/VoodooSMBus.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/EFI/OC/config.plist b/EFI/OC/config.plist index 10642fb..5719390 100644 --- a/EFI/OC/config.plist +++ b/EFI/OC/config.plist @@ -502,6 +502,24 @@ PlistPath Contents/Info.plist + + Arch + Any + BundlePath + VoodooSMBus.kext + Comment + + Enabled + + ExecutablePath + Contents/MacOS/VoodooSMBus + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + Arch Any @@ -616,7 +634,7 @@ BundlePath VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext Comment - + Disabled b/c VoodooRMI Enabled ExecutablePath @@ -634,9 +652,9 @@ BundlePath VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext Comment - + Disabled b/c VoodooRMI Enabled - + ExecutablePath Contents/MacOS/VoodooPS2Trackpad MaxKernel @@ -664,6 +682,96 @@ PlistPath Contents/Info.plist + + Arch + Any + BundlePath + VoodooRMI.kext + Comment + + Enabled + + ExecutablePath + Contents/MacOS/VoodooRMI + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + Arch + Any + BundlePath + VoodooRMI.kext/Contents/PlugIns/RMII2C.kext + Comment + + Enabled + + ExecutablePath + Contents/MacOS/RMII2C + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + Arch + Any + BundlePath + VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext + Comment + + Enabled + + ExecutablePath + Contents/MacOS/RMISMBus + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + Arch + Any + BundlePath + VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext + Comment + + Enabled + + ExecutablePath + Contents/MacOS/VoodooInput + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + Arch + Any + BundlePath + VoodooRMI.kext/Contents/PlugIns/VoodooTrackpoint.kext + Comment + + Enabled + + ExecutablePath + Contents/MacOS/VoodooTrackpoint + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + Block