// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 45;
	objects = {

/* Begin PBXAggregateTarget section */
		008FC0321628BC9400BC5BE2 /* all */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = 008FC0331628BC9400BC5BE2 /* Build configuration list for PBXAggregateTarget "all" */;
			buildPhases = (
			);
			dependencies = (
				006AD4281C8C5BBC007F8C6A /* PBXTargetDependency */,
				008FC0371628BC9A00BC5BE2 /* PBXTargetDependency */,
				008FC0391628BC9A00BC5BE2 /* PBXTargetDependency */,
				008FC03B1628BC9A00BC5BE2 /* PBXTargetDependency */,
				008FC03D1628BC9A00BC5BE2 /* PBXTargetDependency */,
				008FC03F1628BC9A00BC5BE2 /* PBXTargetDependency */,
				008FC0411628BC9A00BC5BE2 /* PBXTargetDependency */,
			);
			name = all;
			productName = all;
		};
/* End PBXAggregateTarget section */

/* Begin PBXBuildFile section */
		006AD4241C8C5AAE007F8C6A /* hotplugtest.c in Sources */ = {isa = PBXBuildFile; fileRef = 006AD4231C8C5AAE007F8C6A /* hotplugtest.c */; };
		006AD4251C8C5AC4007F8C6A /* hotplugtest.c in Sources */ = {isa = PBXBuildFile; fileRef = 006AD4231C8C5AAE007F8C6A /* hotplugtest.c */; };
		006AD4261C8C5AD9007F8C6A /* libusb-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 008FBF311628B79300BC5BE2 /* libusb-1.0.0.dylib */; };
		008FBF861628B7E800BC5BE2 /* core.c in Sources */ = {isa = PBXBuildFile; fileRef = 008FBF541628B7E800BC5BE2 /* core.c */; };
		008FBF871628B7E800BC5BE2 /* descriptor.c in Sources */ = {isa = PBXBuildFile; fileRef = 008FBF551628B7E800BC5BE2 /* descriptor.c */; };
		008FBF881628B7E800BC5BE2 /* io.c in Sources */ = {isa = PBXBuildFile; fileRef = 008FBF561628B7E800BC5BE2 /* io.c */; };
		008FBF891628B7E800BC5BE2 /* libusb.h in Headers */ = {isa = PBXBuildFile; fileRef = 008FBF5A1628B7E800BC5BE2 /* libusb.h */; };
		008FBF901628B7E800BC5BE2 /* libusbi.h in Headers */ = {isa = PBXBuildFile; fileRef = 008FBF671628B7E800BC5BE2 /* libusbi.h */; };
		008FBF921628B7E800BC5BE2 /* darwin_usb.c in Sources */ = {isa = PBXBuildFile; fileRef = 008FBF6C1628B7E800BC5BE2 /* darwin_usb.c */; };
		008FBF931628B7E800BC5BE2 /* darwin_usb.h in Headers */ = {isa = PBXBuildFile; fileRef = 008FBF6D1628B7E800BC5BE2 /* darwin_usb.h */; };
		008FBF971628B7E800BC5BE2 /* poll_posix.h in Headers */ = {isa = PBXBuildFile; fileRef = 008FBF711628B7E800BC5BE2 /* poll_posix.h */; };
		008FBF9A1628B7E800BC5BE2 /* threads_posix.c in Sources */ = {isa = PBXBuildFile; fileRef = 008FBF741628B7E800BC5BE2 /* threads_posix.c */; };
		008FBF9B1628B7E800BC5BE2 /* threads_posix.h in Headers */ = {isa = PBXBuildFile; fileRef = 008FBF751628B7E800BC5BE2 /* threads_posix.h */; };
		008FBFA01628B7E800BC5BE2 /* sync.c in Sources */ = {isa = PBXBuildFile; fileRef = 008FBF7A1628B7E800BC5BE2 /* sync.c */; };
		008FBFA11628B7E800BC5BE2 /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 008FBF7B1628B7E800BC5BE2 /* version.h */; };
		008FBFA21628B7E800BC5BE2 /* version_nano.h in Headers */ = {isa = PBXBuildFile; fileRef = 008FBF7C1628B7E800BC5BE2 /* version_nano.h */; };
		008FBFA51628B84200BC5BE2 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 008FBFA41628B84200BC5BE2 /* config.h */; };
		008FBFA71628B87000BC5BE2 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 008FBFA61628B87000BC5BE2 /* CoreFoundation.framework */; };
		008FBFA91628B88000BC5BE2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 008FBFA81628B88000BC5BE2 /* IOKit.framework */; };
		008FBFAB1628B8CB00BC5BE2 /* libobjc.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 008FBFAA1628B8CB00BC5BE2 /* libobjc.dylib */; };
		008FBFEF1628BA3500BC5BE2 /* xusb.c in Sources */ = {isa = PBXBuildFile; fileRef = 008FBFED1628BA0E00BC5BE2 /* xusb.c */; };
		008FBFF01628BA3A00BC5BE2 /* libusb-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 008FBF311628B79300BC5BE2 /* libusb-1.0.0.dylib */; };
		008FBFFF1628BB9600BC5BE2 /* dpfp.c in Sources */ = {isa = PBXBuildFile; fileRef = 008FBFD71628BA0E00BC5BE2 /* dpfp.c */; };
		008FC0001628BBCD00BC5BE2 /* libusb-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 008FBF311628B79300BC5BE2 /* libusb-1.0.0.dylib */; };
		008FC00F1628BBE400BC5BE2 /* dpfp_threaded.c in Sources */ = {isa = PBXBuildFile; fileRef = 008FBFDB1628BA0E00BC5BE2 /* dpfp_threaded.c */; };
		008FC0101628BBE900BC5BE2 /* libusb-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 008FBF311628B79300BC5BE2 /* libusb-1.0.0.dylib */; };
		008FC01F1628BC1500BC5BE2 /* fxload.c in Sources */ = {isa = PBXBuildFile; fileRef = 008FBFE11628BA0E00BC5BE2 /* fxload.c */; };
		008FC0201628BC1B00BC5BE2 /* libusb-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 008FBF311628B79300BC5BE2 /* libusb-1.0.0.dylib */; };
		008FC0211628BC5200BC5BE2 /* ezusb.c in Sources */ = {isa = PBXBuildFile; fileRef = 008FBFDC1628BA0E00BC5BE2 /* ezusb.c */; };
		008FC0301628BC7400BC5BE2 /* listdevs.c in Sources */ = {isa = PBXBuildFile; fileRef = 008FBFE71628BA0E00BC5BE2 /* listdevs.c */; };
		008FC0311628BC7800BC5BE2 /* libusb-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 008FBF311628B79300BC5BE2 /* libusb-1.0.0.dylib */; };
		1438D77A17A2ED9F00166101 /* hotplug.c in Sources */ = {isa = PBXBuildFile; fileRef = 1438D77817A2ED9F00166101 /* hotplug.c */; };
		1438D77B17A2ED9F00166101 /* hotplug.h in Headers */ = {isa = PBXBuildFile; fileRef = 1438D77917A2ED9F00166101 /* hotplug.h */; };
		1438D77D17A2EDCD00166101 /* poll_posix.c in Sources */ = {isa = PBXBuildFile; fileRef = 1438D77C17A2EDCD00166101 /* poll_posix.c */; };
		1438D77F17A2F0EA00166101 /* strerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 1438D77E17A2F0EA00166101 /* strerror.c */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		006AD4271C8C5BBC007F8C6A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 008FBF281628B79300BC5BE2 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 006AD41B1C8C5A90007F8C6A;
			remoteInfo = hotplugtest;
		};
		008FC0361628BC9A00BC5BE2 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 008FBF281628B79300BC5BE2 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 008FBF301628B79300BC5BE2;
			remoteInfo = libusb;
		};
		008FC0381628BC9A00BC5BE2 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 008FBF281628B79300BC5BE2 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 008FBFBC1628B9FE00BC5BE2;
			remoteInfo = xusb;
		};
		008FC03A1628BC9A00BC5BE2 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 008FBF281628B79300BC5BE2 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 008FBFF41628BB8B00BC5BE2;
			remoteInfo = dpfp;
		};
		008FC03C1628BC9A00BC5BE2 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 008FBF281628B79300BC5BE2 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 008FC0041628BBDB00BC5BE2;
			remoteInfo = dpfp_threaded;
		};
		008FC03E1628BC9A00BC5BE2 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 008FBF281628B79300BC5BE2 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 008FC0141628BC0300BC5BE2;
			remoteInfo = fxload;
		};
		008FC0401628BC9A00BC5BE2 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 008FBF281628B79300BC5BE2 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 008FC0251628BC6B00BC5BE2;
			remoteInfo = listdevs;
		};
		1443EE8B1641926D007E0579 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 008FBF281628B79300BC5BE2 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 008FBF301628B79300BC5BE2;
			remoteInfo = libusb;
		};
		1443EE8D16419273007E0579 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 008FBF281628B79300BC5BE2 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 008FBF301628B79300BC5BE2;
			remoteInfo = libusb;
		};
		1443EE8F16419276007E0579 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 008FBF281628B79300BC5BE2 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 008FBF301628B79300BC5BE2;
			remoteInfo = libusb;
		};
		1443EE911641927A007E0579 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 008FBF281628B79300BC5BE2 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 008FBF301628B79300BC5BE2;
			remoteInfo = libusb;
		};
		1443EE931641927D007E0579 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 008FBF281628B79300BC5BE2 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 008FBF301628B79300BC5BE2;
			remoteInfo = libusb;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		006AD41A1C8C5A90007F8C6A /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = /usr/share/man/man1/;
			dstSubfolderSpec = 0;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
		008FBFBB1628B9FE00BC5BE2 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = /usr/share/man/man1/;
			dstSubfolderSpec = 0;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
		008FBFF31628BB8B00BC5BE2 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = /usr/share/man/man1/;
			dstSubfolderSpec = 0;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
		008FC0031628BBDB00BC5BE2 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = /usr/share/man/man1/;
			dstSubfolderSpec = 0;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
		008FC0131628BC0300BC5BE2 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = /usr/share/man/man1/;
			dstSubfolderSpec = 0;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
		008FC0241628BC6B00BC5BE2 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = /usr/share/man/man1/;
			dstSubfolderSpec = 0;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		006AD41C1C8C5A90007F8C6A /* hotplugtest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = hotplugtest; sourceTree = BUILT_PRODUCTS_DIR; };
		006AD4231C8C5AAE007F8C6A /* hotplugtest.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = hotplugtest.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBF311628B79300BC5BE2 /* libusb-1.0.0.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libusb-1.0.0.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
		008FBF541628B7E800BC5BE2 /* core.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = core.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBF551628B7E800BC5BE2 /* descriptor.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = descriptor.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBF561628B7E800BC5BE2 /* io.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = io.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBF5A1628B7E800BC5BE2 /* libusb.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = libusb.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBF671628B7E800BC5BE2 /* libusbi.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = libusbi.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBF6C1628B7E800BC5BE2 /* darwin_usb.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; path = darwin_usb.c; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
		008FBF6D1628B7E800BC5BE2 /* darwin_usb.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; path = darwin_usb.h; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
		008FBF711628B7E800BC5BE2 /* poll_posix.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = poll_posix.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBF741628B7E800BC5BE2 /* threads_posix.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = threads_posix.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBF751628B7E800BC5BE2 /* threads_posix.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = threads_posix.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBF7A1628B7E800BC5BE2 /* sync.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = sync.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBF7B1628B7E800BC5BE2 /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBF7C1628B7E800BC5BE2 /* version_nano.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = version_nano.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBFA41628B84200BC5BE2 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBFA61628B87000BC5BE2 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
		008FBFA81628B88000BC5BE2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
		008FBFAA1628B8CB00BC5BE2 /* libobjc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libobjc.dylib; path = usr/lib/libobjc.dylib; sourceTree = SDKROOT; };
		008FBFBD1628B9FE00BC5BE2 /* xusb */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = xusb; sourceTree = BUILT_PRODUCTS_DIR; };
		008FBFD71628BA0E00BC5BE2 /* dpfp.c */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = dpfp.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBFDB1628BA0E00BC5BE2 /* dpfp_threaded.c */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = dpfp_threaded.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBFDC1628BA0E00BC5BE2 /* ezusb.c */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = ezusb.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBFDD1628BA0E00BC5BE2 /* ezusb.h */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = ezusb.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBFE11628BA0E00BC5BE2 /* fxload.c */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = fxload.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBFE71628BA0E00BC5BE2 /* listdevs.c */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = listdevs.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBFED1628BA0E00BC5BE2 /* xusb.c */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = xusb.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		008FBFF51628BB8B00BC5BE2 /* dpfp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dpfp; sourceTree = BUILT_PRODUCTS_DIR; };
		008FC0051628BBDB00BC5BE2 /* dpfp_threaded */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dpfp_threaded; sourceTree = BUILT_PRODUCTS_DIR; };
		008FC0151628BC0300BC5BE2 /* fxload */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = fxload; sourceTree = BUILT_PRODUCTS_DIR; };
		008FC0261628BC6B00BC5BE2 /* listdevs */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = listdevs; sourceTree = BUILT_PRODUCTS_DIR; };
		1438D77817A2ED9F00166101 /* hotplug.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = hotplug.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		1438D77917A2ED9F00166101 /* hotplug.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = hotplug.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		1438D77C17A2EDCD00166101 /* poll_posix.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = poll_posix.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		1438D77E17A2F0EA00166101 /* strerror.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.c; path = strerror.c; sourceTree = "<group>"; tabWidth = 4; usesTabs = 1; };
		1443EE8416417E63007E0579 /* common.xcconfig */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = text.xcconfig; path = common.xcconfig; sourceTree = SOURCE_ROOT; tabWidth = 4; usesTabs = 1; };
		1443EE8516417E63007E0579 /* debug.xcconfig */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = text.xcconfig; path = debug.xcconfig; sourceTree = SOURCE_ROOT; tabWidth = 4; usesTabs = 1; };
		1443EE8616417E63007E0579 /* libusb_debug.xcconfig */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = text.xcconfig; path = libusb_debug.xcconfig; sourceTree = SOURCE_ROOT; tabWidth = 4; usesTabs = 1; };
		1443EE8716417E63007E0579 /* libusb.xcconfig */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = text.xcconfig; path = libusb.xcconfig; sourceTree = SOURCE_ROOT; tabWidth = 4; usesTabs = 1; };
		1443EE8816417E63007E0579 /* release.xcconfig */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = text.xcconfig; path = release.xcconfig; sourceTree = SOURCE_ROOT; tabWidth = 4; usesTabs = 1; };
		1443EE8916417EA6007E0579 /* libusb_release.xcconfig */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = text.xcconfig; path = libusb_release.xcconfig; sourceTree = SOURCE_ROOT; tabWidth = 4; usesTabs = 1; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		006AD4191C8C5A90007F8C6A /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				006AD4261C8C5AD9007F8C6A /* libusb-1.0.0.dylib in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		008FBF2E1628B79300BC5BE2 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FBFAB1628B8CB00BC5BE2 /* libobjc.dylib in Frameworks */,
				008FBFA91628B88000BC5BE2 /* IOKit.framework in Frameworks */,
				008FBFA71628B87000BC5BE2 /* CoreFoundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		008FBFBA1628B9FE00BC5BE2 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FBFF01628BA3A00BC5BE2 /* libusb-1.0.0.dylib in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		008FBFF21628BB8B00BC5BE2 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FC0001628BBCD00BC5BE2 /* libusb-1.0.0.dylib in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		008FC0021628BBDB00BC5BE2 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FC0101628BBE900BC5BE2 /* libusb-1.0.0.dylib in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		008FC0121628BC0300BC5BE2 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FC0201628BC1B00BC5BE2 /* libusb-1.0.0.dylib in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		008FC0231628BC6B00BC5BE2 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FC0311628BC7800BC5BE2 /* libusb-1.0.0.dylib in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		008FBF261628B79300BC5BE2 = {
			isa = PBXGroup;
			children = (
				1443EE8316417DE3007E0579 /* xcconfig */,
				008FBFA41628B84200BC5BE2 /* config.h */,
				008FBF3B1628B7E800BC5BE2 /* libusb */,
				008FBFC81628BA0E00BC5BE2 /* examples */,
				1443EE8A16419057007E0579 /* Apple */,
				008FBF321628B79300BC5BE2 /* Products */,
			);
			sourceTree = "<group>";
		};
		008FBF321628B79300BC5BE2 /* Products */ = {
			isa = PBXGroup;
			children = (
				008FBF311628B79300BC5BE2 /* libusb-1.0.0.dylib */,
				008FBFBD1628B9FE00BC5BE2 /* xusb */,
				008FBFF51628BB8B00BC5BE2 /* dpfp */,
				008FC0051628BBDB00BC5BE2 /* dpfp_threaded */,
				008FC0151628BC0300BC5BE2 /* fxload */,
				008FC0261628BC6B00BC5BE2 /* listdevs */,
				006AD41C1C8C5A90007F8C6A /* hotplugtest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		008FBF3B1628B7E800BC5BE2 /* libusb */ = {
			isa = PBXGroup;
			children = (
				008FBF541628B7E800BC5BE2 /* core.c */,
				008FBF551628B7E800BC5BE2 /* descriptor.c */,
				1438D77817A2ED9F00166101 /* hotplug.c */,
				1438D77917A2ED9F00166101 /* hotplug.h */,
				008FBF561628B7E800BC5BE2 /* io.c */,
				008FBF5A1628B7E800BC5BE2 /* libusb.h */,
				008FBF671628B7E800BC5BE2 /* libusbi.h */,
				008FBF6B1628B7E800BC5BE2 /* os */,
				1438D77E17A2F0EA00166101 /* strerror.c */,
				008FBF7A1628B7E800BC5BE2 /* sync.c */,
				008FBF7B1628B7E800BC5BE2 /* version.h */,
				008FBF7C1628B7E800BC5BE2 /* version_nano.h */,
			);
			name = libusb;
			path = ../libusb;
			sourceTree = "<group>";
		};
		008FBF6B1628B7E800BC5BE2 /* os */ = {
			isa = PBXGroup;
			children = (
				008FBF6C1628B7E800BC5BE2 /* darwin_usb.c */,
				008FBF6D1628B7E800BC5BE2 /* darwin_usb.h */,
				1438D77C17A2EDCD00166101 /* poll_posix.c */,
				008FBF711628B7E800BC5BE2 /* poll_posix.h */,
				008FBF741628B7E800BC5BE2 /* threads_posix.c */,
				008FBF751628B7E800BC5BE2 /* threads_posix.h */,
			);
			path = os;
			sourceTree = "<group>";
		};
		008FBFC81628BA0E00BC5BE2 /* examples */ = {
			isa = PBXGroup;
			children = (
				008FBFDB1628BA0E00BC5BE2 /* dpfp_threaded.c */,
				008FBFD71628BA0E00BC5BE2 /* dpfp.c */,
				008FBFDC1628BA0E00BC5BE2 /* ezusb.c */,
				008FBFDD1628BA0E00BC5BE2 /* ezusb.h */,
				008FBFE11628BA0E00BC5BE2 /* fxload.c */,
				006AD4231C8C5AAE007F8C6A /* hotplugtest.c */,
				008FBFE71628BA0E00BC5BE2 /* listdevs.c */,
				008FBFED1628BA0E00BC5BE2 /* xusb.c */,
			);
			name = examples;
			path = ../examples;
			sourceTree = "<group>";
		};
		1443EE8316417DE3007E0579 /* xcconfig */ = {
			isa = PBXGroup;
			children = (
				1443EE8416417E63007E0579 /* common.xcconfig */,
				1443EE8516417E63007E0579 /* debug.xcconfig */,
				1443EE8816417E63007E0579 /* release.xcconfig */,
				1443EE8716417E63007E0579 /* libusb.xcconfig */,
				1443EE8616417E63007E0579 /* libusb_debug.xcconfig */,
				1443EE8916417EA6007E0579 /* libusb_release.xcconfig */,
			);
			name = xcconfig;
			path = ../libusb;
			sourceTree = "<group>";
		};
		1443EE8A16419057007E0579 /* Apple */ = {
			isa = PBXGroup;
			children = (
				008FBFAA1628B8CB00BC5BE2 /* libobjc.dylib */,
				008FBFA81628B88000BC5BE2 /* IOKit.framework */,
				008FBFA61628B87000BC5BE2 /* CoreFoundation.framework */,
			);
			name = Apple;
			path = ../libusb;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		008FBF2F1628B79300BC5BE2 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FBF891628B7E800BC5BE2 /* libusb.h in Headers */,
				008FBF901628B7E800BC5BE2 /* libusbi.h in Headers */,
				008FBF931628B7E800BC5BE2 /* darwin_usb.h in Headers */,
				008FBF971628B7E800BC5BE2 /* poll_posix.h in Headers */,
				008FBF9B1628B7E800BC5BE2 /* threads_posix.h in Headers */,
				008FBFA11628B7E800BC5BE2 /* version.h in Headers */,
				008FBFA21628B7E800BC5BE2 /* version_nano.h in Headers */,
				008FBFA51628B84200BC5BE2 /* config.h in Headers */,
				1438D77B17A2ED9F00166101 /* hotplug.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		006AD41B1C8C5A90007F8C6A /* hotplugtest */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 006AD4221C8C5A90007F8C6A /* Build configuration list for PBXNativeTarget "hotplugtest" */;
			buildPhases = (
				006AD4181C8C5A90007F8C6A /* Sources */,
				006AD4191C8C5A90007F8C6A /* Frameworks */,
				006AD41A1C8C5A90007F8C6A /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = hotplugtest;
			productName = hotplugtest;
			productReference = 006AD41C1C8C5A90007F8C6A /* hotplugtest */;
			productType = "com.apple.product-type.tool";
		};
		008FBF301628B79300BC5BE2 /* libusb */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 008FBF351628B79300BC5BE2 /* Build configuration list for PBXNativeTarget "libusb" */;
			buildPhases = (
				008FBF2D1628B79300BC5BE2 /* Sources */,
				008FBF2E1628B79300BC5BE2 /* Frameworks */,
				008FBF2F1628B79300BC5BE2 /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = libusb;
			productName = libusb;
			productReference = 008FBF311628B79300BC5BE2 /* libusb-1.0.0.dylib */;
			productType = "com.apple.product-type.library.dynamic";
		};
		008FBFBC1628B9FE00BC5BE2 /* xusb */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 008FBFC61628B9FE00BC5BE2 /* Build configuration list for PBXNativeTarget "xusb" */;
			buildPhases = (
				008FBFB91628B9FE00BC5BE2 /* Sources */,
				008FBFBA1628B9FE00BC5BE2 /* Frameworks */,
				008FBFBB1628B9FE00BC5BE2 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
				1443EE941641927D007E0579 /* PBXTargetDependency */,
			);
			name = xusb;
			productName = xusb;
			productReference = 008FBFBD1628B9FE00BC5BE2 /* xusb */;
			productType = "com.apple.product-type.tool";
		};
		008FBFF41628BB8B00BC5BE2 /* dpfp */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 008FBFFC1628BB8C00BC5BE2 /* Build configuration list for PBXNativeTarget "dpfp" */;
			buildPhases = (
				008FBFF11628BB8B00BC5BE2 /* Sources */,
				008FBFF21628BB8B00BC5BE2 /* Frameworks */,
				008FBFF31628BB8B00BC5BE2 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
				1443EE921641927A007E0579 /* PBXTargetDependency */,
			);
			name = dpfp;
			productName = dpfp;
			productReference = 008FBFF51628BB8B00BC5BE2 /* dpfp */;
			productType = "com.apple.product-type.tool";
		};
		008FC0041628BBDB00BC5BE2 /* dpfp_threaded */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 008FC00C1628BBDB00BC5BE2 /* Build configuration list for PBXNativeTarget "dpfp_threaded" */;
			buildPhases = (
				008FC0011628BBDB00BC5BE2 /* Sources */,
				008FC0021628BBDB00BC5BE2 /* Frameworks */,
				008FC0031628BBDB00BC5BE2 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
				1443EE9016419276007E0579 /* PBXTargetDependency */,
			);
			name = dpfp_threaded;
			productName = dpfp_threaded;
			productReference = 008FC0051628BBDB00BC5BE2 /* dpfp_threaded */;
			productType = "com.apple.product-type.tool";
		};
		008FC0141628BC0300BC5BE2 /* fxload */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 008FC01C1628BC0300BC5BE2 /* Build configuration list for PBXNativeTarget "fxload" */;
			buildPhases = (
				008FC0111628BC0300BC5BE2 /* Sources */,
				008FC0121628BC0300BC5BE2 /* Frameworks */,
				008FC0131628BC0300BC5BE2 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
				1443EE8E16419273007E0579 /* PBXTargetDependency */,
			);
			name = fxload;
			productName = fxload;
			productReference = 008FC0151628BC0300BC5BE2 /* fxload */;
			productType = "com.apple.product-type.tool";
		};
		008FC0251628BC6B00BC5BE2 /* listdevs */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 008FC02D1628BC6B00BC5BE2 /* Build configuration list for PBXNativeTarget "listdevs" */;
			buildPhases = (
				008FC0221628BC6B00BC5BE2 /* Sources */,
				008FC0231628BC6B00BC5BE2 /* Frameworks */,
				008FC0241628BC6B00BC5BE2 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
				1443EE8C1641926D007E0579 /* PBXTargetDependency */,
			);
			name = listdevs;
			productName = listdevs;
			productReference = 008FC0261628BC6B00BC5BE2 /* listdevs */;
			productType = "com.apple.product-type.tool";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		008FBF281628B79300BC5BE2 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 1030;
				ORGANIZATIONNAME = libusb;
				TargetAttributes = {
					006AD41B1C8C5A90007F8C6A = {
						CreatedOnToolsVersion = 7.2.1;
					};
				};
			};
			buildConfigurationList = 008FBF2B1628B79300BC5BE2 /* Build configuration list for PBXProject "libusb" */;
			compatibilityVersion = "Xcode 3.1";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 008FBF261628B79300BC5BE2;
			productRefGroup = 008FBF321628B79300BC5BE2 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				008FBF301628B79300BC5BE2 /* libusb */,
				008FBFBC1628B9FE00BC5BE2 /* xusb */,
				008FBFF41628BB8B00BC5BE2 /* dpfp */,
				008FC0041628BBDB00BC5BE2 /* dpfp_threaded */,
				008FC0141628BC0300BC5BE2 /* fxload */,
				008FC0251628BC6B00BC5BE2 /* listdevs */,
				006AD41B1C8C5A90007F8C6A /* hotplugtest */,
				008FC0321628BC9400BC5BE2 /* all */,
			);
		};
/* End PBXProject section */

/* Begin PBXSourcesBuildPhase section */
		006AD4181C8C5A90007F8C6A /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				006AD4251C8C5AC4007F8C6A /* hotplugtest.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		008FBF2D1628B79300BC5BE2 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FBF861628B7E800BC5BE2 /* core.c in Sources */,
				008FBF871628B7E800BC5BE2 /* descriptor.c in Sources */,
				008FBF881628B7E800BC5BE2 /* io.c in Sources */,
				008FBF921628B7E800BC5BE2 /* darwin_usb.c in Sources */,
				008FBF9A1628B7E800BC5BE2 /* threads_posix.c in Sources */,
				008FBFA01628B7E800BC5BE2 /* sync.c in Sources */,
				1438D77A17A2ED9F00166101 /* hotplug.c in Sources */,
				1438D77D17A2EDCD00166101 /* poll_posix.c in Sources */,
				1438D77F17A2F0EA00166101 /* strerror.c in Sources */,
				006AD4241C8C5AAE007F8C6A /* hotplugtest.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		008FBFB91628B9FE00BC5BE2 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FBFEF1628BA3500BC5BE2 /* xusb.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		008FBFF11628BB8B00BC5BE2 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FBFFF1628BB9600BC5BE2 /* dpfp.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		008FC0011628BBDB00BC5BE2 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FC00F1628BBE400BC5BE2 /* dpfp_threaded.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		008FC0111628BC0300BC5BE2 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FC0211628BC5200BC5BE2 /* ezusb.c in Sources */,
				008FC01F1628BC1500BC5BE2 /* fxload.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		008FC0221628BC6B00BC5BE2 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				008FC0301628BC7400BC5BE2 /* listdevs.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		006AD4281C8C5BBC007F8C6A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 006AD41B1C8C5A90007F8C6A /* hotplugtest */;
			targetProxy = 006AD4271C8C5BBC007F8C6A /* PBXContainerItemProxy */;
		};
		008FC0371628BC9A00BC5BE2 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 008FBF301628B79300BC5BE2 /* libusb */;
			targetProxy = 008FC0361628BC9A00BC5BE2 /* PBXContainerItemProxy */;
		};
		008FC0391628BC9A00BC5BE2 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 008FBFBC1628B9FE00BC5BE2 /* xusb */;
			targetProxy = 008FC0381628BC9A00BC5BE2 /* PBXContainerItemProxy */;
		};
		008FC03B1628BC9A00BC5BE2 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 008FBFF41628BB8B00BC5BE2 /* dpfp */;
			targetProxy = 008FC03A1628BC9A00BC5BE2 /* PBXContainerItemProxy */;
		};
		008FC03D1628BC9A00BC5BE2 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 008FC0041628BBDB00BC5BE2 /* dpfp_threaded */;
			targetProxy = 008FC03C1628BC9A00BC5BE2 /* PBXContainerItemProxy */;
		};
		008FC03F1628BC9A00BC5BE2 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 008FC0141628BC0300BC5BE2 /* fxload */;
			targetProxy = 008FC03E1628BC9A00BC5BE2 /* PBXContainerItemProxy */;
		};
		008FC0411628BC9A00BC5BE2 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 008FC0251628BC6B00BC5BE2 /* listdevs */;
			targetProxy = 008FC0401628BC9A00BC5BE2 /* PBXContainerItemProxy */;
		};
		1443EE8C1641926D007E0579 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 008FBF301628B79300BC5BE2 /* libusb */;
			targetProxy = 1443EE8B1641926D007E0579 /* PBXContainerItemProxy */;
		};
		1443EE8E16419273007E0579 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 008FBF301628B79300BC5BE2 /* libusb */;
			targetProxy = 1443EE8D16419273007E0579 /* PBXContainerItemProxy */;
		};
		1443EE9016419276007E0579 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 008FBF301628B79300BC5BE2 /* libusb */;
			targetProxy = 1443EE8F16419276007E0579 /* PBXContainerItemProxy */;
		};
		1443EE921641927A007E0579 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 008FBF301628B79300BC5BE2 /* libusb */;
			targetProxy = 1443EE911641927A007E0579 /* PBXContainerItemProxy */;
		};
		1443EE941641927D007E0579 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 008FBF301628B79300BC5BE2 /* libusb */;
			targetProxy = 1443EE931641927D007E0579 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		006AD4201C8C5A90007F8C6A /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8516417E63007E0579 /* debug.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		006AD4211C8C5A90007F8C6A /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8816417E63007E0579 /* release.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		008FBF331628B79300BC5BE2 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8516417E63007E0579 /* debug.xcconfig */;
			buildSettings = {
				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				ONLY_ACTIVE_ARCH = YES;
			};
			name = Debug;
		};
		008FBF341628B79300BC5BE2 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8816417E63007E0579 /* release.xcconfig */;
			buildSettings = {
				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
			};
			name = Release;
		};
		008FBF361628B79300BC5BE2 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8616417E63007E0579 /* libusb_debug.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
			};
			name = Debug;
		};
		008FBF371628B79300BC5BE2 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8916417EA6007E0579 /* libusb_release.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
			};
			name = Release;
		};
		008FBFC41628B9FE00BC5BE2 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8516417E63007E0579 /* debug.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		008FBFC51628B9FE00BC5BE2 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8816417E63007E0579 /* release.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		008FBFFD1628BB8C00BC5BE2 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8516417E63007E0579 /* debug.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		008FBFFE1628BB8C00BC5BE2 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8816417E63007E0579 /* release.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		008FC00D1628BBDB00BC5BE2 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8516417E63007E0579 /* debug.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		008FC00E1628BBDB00BC5BE2 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8816417E63007E0579 /* release.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		008FC01D1628BC0300BC5BE2 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8516417E63007E0579 /* debug.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		008FC01E1628BC0300BC5BE2 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8816417E63007E0579 /* release.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		008FC02E1628BC6B00BC5BE2 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8516417E63007E0579 /* debug.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		008FC02F1628BC6B00BC5BE2 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1443EE8816417E63007E0579 /* release.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		008FC0341628BC9400BC5BE2 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		008FC0351628BC9400BC5BE2 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		006AD4221C8C5A90007F8C6A /* Build configuration list for PBXNativeTarget "hotplugtest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				006AD4201C8C5A90007F8C6A /* Debug */,
				006AD4211C8C5A90007F8C6A /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		008FBF2B1628B79300BC5BE2 /* Build configuration list for PBXProject "libusb" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				008FBF331628B79300BC5BE2 /* Debug */,
				008FBF341628B79300BC5BE2 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		008FBF351628B79300BC5BE2 /* Build configuration list for PBXNativeTarget "libusb" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				008FBF361628B79300BC5BE2 /* Debug */,
				008FBF371628B79300BC5BE2 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		008FBFC61628B9FE00BC5BE2 /* Build configuration list for PBXNativeTarget "xusb" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				008FBFC41628B9FE00BC5BE2 /* Debug */,
				008FBFC51628B9FE00BC5BE2 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		008FBFFC1628BB8C00BC5BE2 /* Build configuration list for PBXNativeTarget "dpfp" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				008FBFFD1628BB8C00BC5BE2 /* Debug */,
				008FBFFE1628BB8C00BC5BE2 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		008FC00C1628BBDB00BC5BE2 /* Build configuration list for PBXNativeTarget "dpfp_threaded" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				008FC00D1628BBDB00BC5BE2 /* Debug */,
				008FC00E1628BBDB00BC5BE2 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		008FC01C1628BC0300BC5BE2 /* Build configuration list for PBXNativeTarget "fxload" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				008FC01D1628BC0300BC5BE2 /* Debug */,
				008FC01E1628BC0300BC5BE2 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		008FC02D1628BC6B00BC5BE2 /* Build configuration list for PBXNativeTarget "listdevs" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				008FC02E1628BC6B00BC5BE2 /* Debug */,
				008FC02F1628BC6B00BC5BE2 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		008FC0331628BC9400BC5BE2 /* Build configuration list for PBXAggregateTarget "all" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				008FC0341628BC9400BC5BE2 /* Debug */,
				008FC0351628BC9400BC5BE2 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 008FBF281628B79300BC5BE2 /* Project object */;
}
