触摸屏修复

This commit is contained in:
辩识、
2020-07-31 19:46:33 +08:00
parent 3912eea4fa
commit c1adead3bb
25 changed files with 22 additions and 668 deletions
@@ -1,551 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>17G13035</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>VoodooSMBus</string>
<key>CFBundleIdentifier</key>
<string>de.leo-labs.VoodooSMBus</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>VoodooSMBus</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>2.1</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>2.1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>9F2000</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>17E189</string>
<key>DTSDKName</key>
<string>macosx10.13</string>
<key>DTXcode</key>
<string>0941</string>
<key>DTXcodeBuild</key>
<string>9F2000</string>
<key>IOKitPersonalities</key>
<dict>
<key>Custom MT2 Personality</key>
<dict>
<key>ApplePreferenceCapability</key>
<integer>2</integer>
<key>ApplePreferenceIdentifier</key>
<string>com.apple.AppleMultitouchTrackpad</string>
<key>ApplePreferencesDefaultPreferences</key>
<dict>
<key>ActuateDetents</key>
<integer>0</integer>
<key>Clicking</key>
<integer>1</integer>
<key>DragLock</key>
<integer>0</integer>
<key>Dragging</key>
<integer>0</integer>
<key>FirstClickThreshold</key>
<integer>1</integer>
<key>ForceSuppressed</key>
<true/>
<key>SecondClickThreshold</key>
<integer>1</integer>
<key>TrackpadCornerSecondaryClick</key>
<integer>0</integer>
<key>TrackpadFiveFingerPinchGesture</key>
<integer>2</integer>
<key>TrackpadFourFingerHorizSwipeGesture</key>
<integer>2</integer>
<key>TrackpadFourFingerPinchGesture</key>
<integer>2</integer>
<key>TrackpadFourFingerVertSwipeGesture</key>
<integer>2</integer>
<key>TrackpadHorizScroll</key>
<integer>1</integer>
<key>TrackpadMomentumScroll</key>
<true/>
<key>TrackpadPinch</key>
<integer>1</integer>
<key>TrackpadRightClick</key>
<true/>
<key>TrackpadRotate</key>
<integer>1</integer>
<key>TrackpadScroll</key>
<true/>
<key>TrackpadThreeFingerDrag</key>
<false/>
<key>TrackpadThreeFingerHorizSwipeGesture</key>
<integer>2</integer>
<key>TrackpadThreeFingerVertSwipeGesture</key>
<integer>2</integer>
</dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleTopCaseHIDEventDriver</string>
<key>DefaultMultitouchProperties</key>
<dict>
<key>ActuationSupported</key>
<false/>
<key>ExtractAndPostDeviceButtonState</key>
<true/>
<key>ForceSupported</key>
<false/>
<key>HIDServiceSupport</key>
<true/>
<key>IOCFPlugInTypes</key>
<dict>
<key>0516B563-B15B-11DA-96EB-0014519758EF</key>
<string>AppleMultitouchDriver.kext/Contents/PlugIns/MultitouchHID.plugin</string>
</dict>
<key>MT Built-In</key>
<true/>
<key>MTHIDDevice</key>
<true/>
<key>MTPowerStatsDisable</key>
<true/>
<key>SupportsGestureScrolling</key>
<true/>
<key>TrackpadFourFingerGestures</key>
<true/>
<key>TrackpadMomentumScroll</key>
<true/>
<key>TrackpadSecondaryClickCorners</key>
<true/>
<key>TrackpadThreeFingerDrag</key>
<true/>
<key>parser-options</key>
<integer>39</integer>
<key>parser-type</key>
<integer>1000</integer>
</dict>
<key>DeviceUsagePairs</key>
<array>
<dict>
<key>DeviceUsage</key>
<integer>2</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
</array>
<key>DoReportIntervalHack</key>
<true/>
<key>HIDAccelCurves</key>
<array>
<dict>
<key>HIDAccelGainLinear</key>
<integer>65536</integer>
<key>HIDAccelIndex</key>
<integer>0</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>484966</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>1376256</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>5243</integer>
<key>HIDAccelGainLinear</key>
<integer>64881</integer>
<key>HIDAccelGainParabolic</key>
<integer>32768</integer>
<key>HIDAccelIndex</key>
<integer>8192</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>478413</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>1310720</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>6554</integer>
<key>HIDAccelGainLinear</key>
<integer>64225</integer>
<key>HIDAccelGainParabolic</key>
<integer>43254</integer>
<key>HIDAccelIndex</key>
<integer>32768</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>471859</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>1245184</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>7864</integer>
<key>HIDAccelGainLinear</key>
<integer>62915</integer>
<key>HIDAccelGainParabolic</key>
<integer>54395</integer>
<key>HIDAccelIndex</key>
<integer>45056</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>465306</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>1179648</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>9830</integer>
<key>HIDAccelGainLinear</key>
<integer>61604</integer>
<key>HIDAccelGainParabolic</key>
<integer>65536</integer>
<key>HIDAccelIndex</key>
<integer>57344</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>1114112</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>11796</integer>
<key>HIDAccelGainLinear</key>
<integer>60293</integer>
<key>HIDAccelGainParabolic</key>
<integer>75366</integer>
<key>HIDAccelIndex</key>
<integer>65536</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>1048576</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>13763</integer>
<key>HIDAccelGainLinear</key>
<integer>58327</integer>
<key>HIDAccelGainParabolic</key>
<integer>85197</integer>
<key>HIDAccelIndex</key>
<integer>98304</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>983040</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>15729</integer>
<key>HIDAccelGainLinear</key>
<integer>56361</integer>
<key>HIDAccelGainParabolic</key>
<integer>95027</integer>
<key>HIDAccelIndex</key>
<integer>131072</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>917504</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>18350</integer>
<key>HIDAccelGainLinear</key>
<integer>54395</integer>
<key>HIDAccelGainParabolic</key>
<integer>108790</integer>
<key>HIDAccelIndex</key>
<integer>163840</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>851968</integer>
</dict>
<dict>
<key>HIDAccelGainCubic</key>
<integer>23593</integer>
<key>HIDAccelGainLinear</key>
<integer>65536</integer>
<key>HIDAccelGainParabolic</key>
<integer>123208</integer>
<key>HIDAccelIndex</key>
<integer>196608</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
</array>
<key>HIDDisallowRemappingOfPrimaryClick</key>
<true/>
<key>HIDPointerAccelerationTable</key>
<data>
AACAAFVTQioABwAAAAAAAgAEAAAABAAAABAAAAAQAAAAACAAAA0A
AIAAAACAAAABQAAAAYAAAAIAAAAC4AAAAwAAAATgAAAEAAAAB0AA
AAUAAAAKAAAABgAAAA1AAAAIAAAAFgAAAArAAAAjAAAADQAAAC8A
AAAOwAAAOMAAABBAAABBAAAAEcAAAEjAAAAAUAAADwAAgAAAAIAA
AAEAAAABQAAAAYAAAAJAAAACAAAAA4AAAAKAAAAE4AAAAwAAAAZg
AAAEAAAACgAAAAUAAAAOQAAABgAAABNAAAAIAAAAHsAAAArAAAAu
wAAADQAAADyAAAAOwAAARwAAABBAAABPwAAAEcAAAFiAAAAAgAAA
DwAAgAAAAIAAAAEAAAABYAAAAYAAAAKgAAACAAAABEAAAAKAAAAG
AAAAAwAAAAgAAAAEAAAADQAAAAUAAAASwAAABgAAABkAAAAIAAAA
KAAAAArAAAA7wAAADQAAAEuAAAAOwAAAV0AAABBAAABgQAAAEcAA
AGkAAAAAsAAADwAAgAAAAIAAAAEAAAABoAAAAYAAAAMAAAACAAAA
BQAAAAKAAAAHQAAAAwAAAAnAAAAEAAAAEEAAAAUAAAAXgAAABgAA
AB/AAAAIAAAAMgAAAArAAABKAAAADQAAAFyAAAAOwAAAaQAAABBA
AABywAAAEcAAAHrAAAAA4AAADwAAgAAAAKAAAAEAAAABwAAAAYAA
AANgAAACAAAABeAAAAKAAAAIoAAAAwAAAAvAAAAEAAAAE8AAAAUA
AAAdQAAABgAAACfAAAAIAAAAPcAAAArAAABZAAAADQAAAG3AAAAO
wAAAe0AAABBAAACFQAAAEcAAAIxAAAABAAAADwAAgAAAAMAAAAEA
AAACAAAAAYAAAAPgAAACAAAABsAAAAKAAAAKQAAAAwAAAA5gAAAE
AAAAGMAAAAUAAAAkwAAABgAAADLAAAAIAAAATUAAAArAAABugAAA
DQAAAIMAAAAOwAAAj0AAABBAAACXAAAAEcAAAJxA
</data>
<key>HIDPointerAccelerationType</key>
<string>HIDTrackpadAcceleration</string>
<key>HIDScrollAccelCurves</key>
<array>
<dict>
<key>HIDAccelGainLinear</key>
<integer>65536</integer>
<key>HIDAccelIndex</key>
<integer>0</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>393216</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>62259</integer>
<key>HIDAccelGainParabolic</key>
<integer>39322</integer>
<key>HIDAccelIndex</key>
<integer>8192</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>406323</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>58982</integer>
<key>HIDAccelGainParabolic</key>
<integer>58982</integer>
<key>HIDAccelIndex</key>
<integer>32768</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>419430</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>55706</integer>
<key>HIDAccelGainParabolic</key>
<integer>78643</integer>
<key>HIDAccelIndex</key>
<integer>45056</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>432538</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>52429</integer>
<key>HIDAccelGainParabolic</key>
<integer>91750</integer>
<key>HIDAccelIndex</key>
<integer>57344</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>445645</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>49152</integer>
<key>HIDAccelGainParabolic</key>
<integer>104858</integer>
<key>HIDAccelIndex</key>
<integer>65536</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>458752</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>45875</integer>
<key>HIDAccelGainParabolic</key>
<integer>117965</integer>
<key>HIDAccelIndex</key>
<integer>98304</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>471859</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>42598</integer>
<key>HIDAccelGainParabolic</key>
<integer>131072</integer>
<key>HIDAccelIndex</key>
<integer>131072</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>484966</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>39322</integer>
<key>HIDAccelGainParabolic</key>
<integer>144179</integer>
<key>HIDAccelIndex</key>
<integer>163840</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>498074</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
<dict>
<key>HIDAccelGainLinear</key>
<integer>36045</integer>
<key>HIDAccelGainParabolic</key>
<integer>157286</integer>
<key>HIDAccelIndex</key>
<integer>196608</integer>
<key>HIDAccelTangentSpeedLinear</key>
<integer>511181</integer>
<key>HIDAccelTangentSpeedParabolicRoot</key>
<integer>786432</integer>
</dict>
</array>
<key>HIDScrollAccelerationTable</key>
<data>
AACAAFVTQioABwAAAAAAAQABAAAAAQAAAAAgAAAQAABxOwAATOMA
AwAAAAdgAAAEwAAADoAAAAbxSgAX6V4ACVeCACMQWgALZ6EALBF7
AA2N1AA03ToAD36aADvQuAASWKAARl01ABUAAABO2dgAF8AAAFXK
7QAas+UAW2FQAB2QAABe0qoAIL75AGEgywAkLXsAYnXvACewAABj
Rl8AAIAAABMAAHE7AABWfwABAAAAAuAAAAIAAAAJYAAAAwAAABIA
AAAEwAAAIMAAAAaAAAAwgAAACGp5AEH9tgAK7bUAV4ZuAA0B2ABr
PTkADv1/AIEEcAAQy5gAkdRWABJouQCe3VAAE+c/AKikCgAXAucA
tn2SABot3ADARE4AHVjQAMX4OgAg35IAytuYACQ4bgDO7mUAJ6CX
ANIwowAAsAAAFAAAcTsAAGFOAADAAAABwAAAAQAAAANgAAACAAAA
DCAAAAMAAAAW4AAABMAAACnAAAAGQAAAOsAAAAfOggBP7OcACgWA
AGo8rgAL658AhMCkAA2RCwCfR+EADzjIALWDbwAQ/k8AxqbEABLN
UQDUeCMAFepmAOTKxwAZoVYA8qFmAB1CvwD7fXwAIQuCAQFpdAAk
S20BBVKIACegAAEIK4wAAOAAABQAAHE7AABtdwAAwAAAAeAAAAEA
AAAD4AAAAgAAAA6AAAADAAAAHEAAAATAAAA0AAAABgAAAEdAAAAH
N4wAXL7hAAkAAACAwAAACoAAAKGAAAALz7IAvU7UAA01yQDadikA
DvtPAPKF4gARLu4BCSWiABUlDwEfV8QAGT9oASzRKgAdChkBNQrG
ACDz5QE6cR4AJEARAT3XdgAnn1YBQMHWAABQAAATAABxOwAAS7AA
AQAAAAJgAAACAAAABuAAAAMAAAAMYAAABMAAABcAAAAGwAAAJAAA
AAkAAAAyAAAACz1uAEFngAANcE8AUMGhAA+sTQBgSTMAEagdAG5N
TAATT9YAd9WQABTQfgB+26MAF3odAIbYXQAagocAjp+lAB2J6QCT
vnkAIN/yAJdcWwAkO0IAmYu9ACegOACacdcAAQAAABUAAHE7AABW
fwAAwAAAAiAAAAEAAAAEgAAAAYAAAAqAAAACAAAAEaAAAAMAAAAh
gAAABMAAAD6AAAAFwAAAVEAAAAbAAABrAAAACAAAAIxAAAAJAAAA
qYAAAApAAADKwAAAC8AAAPTAAAANwAABJAAAABAAAAFEn9IAFEAA
AV49zAAZAAABbrsYABzQAAFz78AAIOAAAXhvwAAkIAABem/AACeg
AAF8JGg=
</data>
<key>HIDScrollAccelerationType</key>
<string>HIDTrackpadScrollAcceleration</string>
<key>HIDScrollResolution</key>
<integer>26214400</integer>
<key>IOCFPlugInTypes</key>
<dict>
<key>0516B563-B15B-11DA-96EB-0014519758EF</key>
<string>AppleMultitouchDriver.kext/Contents/PlugIns/MultitouchHID.plugin</string>
</dict>
<key>IOClass</key>
<string>AppleMultitouchTrackpadHIDEventDriver</string>
<key>IOProbeScore</key>
<integer>9999</integer>
<key>IOProviderClass</key>
<string>IOHIDInterface</string>
<key>MTEventSource</key>
<true/>
<key>ProductIDArray</key>
<array>
<integer>628</integer>
</array>
<key>TrackpadEmbedded</key>
<true/>
<key>VendorID</key>
<integer>1452</integer>
</dict>
<key>Native Multitouch Engine</key>
<dict>
<key>CFBundleIdentifier</key>
<string>de.leo-labs.VoodooSMBus</string>
<key>IOClass</key>
<string>VoodooI2CNativeEngine</string>
<key>IOMatchCategory</key>
<string>VoodooI2CNativeEngine</string>
<key>IOProviderClass</key>
<string>VoodooI2CMultitouchInterface</string>
</dict>
<key>VoodooSMBusControllerDriver</key>
<dict>
<key>Addresses</key>
<array>
<integer>44</integer>
</array>
<key>CFBundleIdentifier</key>
<string>de.leo-labs.VoodooSMBus</string>
<key>IOClass</key>
<string>VoodooSMBusControllerDriver</string>
<key>IOPCIMatch</key>
<string>0x9ca28086</string>
<key>IOPCIMatchComment</key>
<string>Intel SMBus Controller i80 (9ca2: Brodwell Point-LP (PCH), a323: Cannon Lake-H (PCH))</string>
<key>IOProbeScore</key>
<integer>400</integer>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
</dict>
<key>VoodooSMBusIntelLpssI2C</key>
<dict>
<key>CFBundleIdentifier</key>
<string>de.leo-labs.VoodooSMBus</string>
<key>IOClass</key>
<string>VoodooSMBusIntelLpssI2C</string>
<key>IOPCIMatch</key>
<string>0x9d608086</string>
<key>IOPCIMatchComment</key>
<string>Dummy IntelLpssI2CDriver</string>
<key>IOProbeScore</key>
<integer>400</integer>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
</dict>
</dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2019 leo-labs. All rights reserved.</string>
<key>OSBundleCompatibleVersion</key>
<string>2.1</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOHIDFamily</key>
<string>2.0</string>
<key>com.apple.iokit.IOPCIFamily</key>
<string>2.9</string>
<key>com.apple.kpi.iokit</key>
<string>18.5</string>
<key>com.apple.kpi.libkern</key>
<string>18.5</string>
<key>com.apple.kpi.mach</key>
<string>18.5</string>
</dict>
<key>OSBundleRequired</key>
<string>Root</string>
</dict>
</plist>
@@ -1,50 +0,0 @@
/*
* VoodooSMBusDeviceNub.hpp
* SMBus Controller Driver for macOS X
*
* Copyright (c) 2019 Leonard Kleinhans <leo-labs>
*
*/
#ifndef VoodooSMBusDeviceNub_hpp
#define VoodooSMBusDeviceNub_hpp
#include <IOKit/IOService.h>
class VoodooSMBusControllerDriver;
class VoodooSMBusSlaveDevice;
typedef UInt8 u8;
#ifndef EXPORT
#define EXPORT __attribute__((visibility("default")))
#endif
class EXPORT VoodooSMBusDeviceNub : public IOService {
OSDeclareDefaultStructors(VoodooSMBusDeviceNub);
public:
bool init() override;
bool attach(IOService* provider, UInt8 address);
bool start(IOService* provider) override;
void stop(IOService* provider) override;
void free(void) override;
void handleHostNotify();
void setSlaveDeviceFlags(unsigned short flags);
IOReturn writeByteData(u8 command, u8 value);
IOReturn readByteData(u8 command);
IOReturn readBlockData(u8 command, u8 *values);
IOReturn writeByte(u8 value);
IOReturn writeBlockData(u8 command, u8 length, const u8 *values);
IOReturn wakeupController();
private:
VoodooSMBusControllerDriver* controller;
void releaseResources();
VoodooSMBusSlaveDevice* slave_device;
void handleHostNotifyThreaded();
};
#endif /* VoodooSMBusDeviceNub_hpp */
@@ -1,132 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Resources/Headers/VoodooSMBusDeviceNub.hpp</key>
<data>
Gkz/vNrHlRcTeb3TNsAqUb24aZ4=
</data>
</dict>
<key>files2</key>
<dict>
<key>Resources/Headers/VoodooSMBusDeviceNub.hpp</key>
<dict>
<key>hash</key>
<data>
Gkz/vNrHlRcTeb3TNsAqUb24aZ4=
</data>
<key>hash2</key>
<data>
OgYn96uJNktmjX+20pkPJEVgMAFTgyFCGxbanbDpdzA=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>