MYNetwork.xcodeproj/project.pbxproj
changeset 26 cb9cdf247239
parent 23 ffdaa33a408a
child 27 92581f26073e
     1.1 --- a/MYNetwork.xcodeproj/project.pbxproj	Sun Jul 13 10:59:06 2008 -0700
     1.2 +++ b/MYNetwork.xcodeproj/project.pbxproj	Wed Apr 22 16:45:39 2009 -0700
     1.3 @@ -24,60 +24,74 @@
     1.4  		270461370DE4918D003D9D3F /* ExceptionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461350DE4918D003D9D3F /* ExceptionUtils.m */; };
     1.5  		270461470DE491A6003D9D3F /* Target.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461460DE491A6003D9D3F /* Target.m */; };
     1.6  		270461890DE49634003D9D3F /* CollectionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461870DE49634003D9D3F /* CollectionUtils.m */; };
     1.7 -		2704618C0DE49652003D9D3F /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2704618B0DE49652003D9D3F /* libz.dylib */; };
     1.8 -		270461920DE4975D003D9D3F /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 270461910DE4975C003D9D3F /* CoreServices.framework */; };
     1.9 -		277904330DE91DE600C6D295 /* BLIPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F40DE49030003D9D3F /* BLIPConnection.m */; };
    1.10 -		277904340DE91DE700C6D295 /* BLIPDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F60DE49030003D9D3F /* BLIPDispatcher.m */; };
    1.11 -		277904350DE91DE800C6D295 /* BLIPEchoClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 277903E90DE8F08100C6D295 /* BLIPEchoClient.m */; };
    1.12 -		277904370DE91DEB00C6D295 /* BLIPMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F90DE49030003D9D3F /* BLIPMessage.m */; };
    1.13 -		277904380DE91DEC00C6D295 /* BLIPProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FB0DE49030003D9D3F /* BLIPProperties.m */; };
    1.14 -		277904390DE91DEE00C6D295 /* BLIPReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FD0DE49030003D9D3F /* BLIPReader.m */; };
    1.15 -		2779043A0DE91DEF00C6D295 /* BLIPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */; };
    1.16 -		2779043C0DE91DF100C6D295 /* BLIPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461000DE49030003D9D3F /* BLIPWriter.m */; };
    1.17 -		2779043D0DE91DF300C6D295 /* IPAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461020DE49030003D9D3F /* IPAddress.m */; };
    1.18 -		2779043E0DE91DF500C6D295 /* TCPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610A0DE49030003D9D3F /* TCPConnection.m */; };
    1.19 -		2779043F0DE91DF800C6D295 /* TCPEndpoint.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610C0DE49030003D9D3F /* TCPEndpoint.m */; };
    1.20 -		277904400DE91DF900C6D295 /* TCPListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610E0DE49030003D9D3F /* TCPListener.m */; };
    1.21 -		277904410DE91DFA00C6D295 /* TCPStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461100DE49030003D9D3F /* TCPStream.m */; };
    1.22 -		277904420DE91DFC00C6D295 /* TCPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461120DE49030003D9D3F /* TCPWriter.m */; };
    1.23 -		277904440DE91E3500C6D295 /* CollectionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461870DE49634003D9D3F /* CollectionUtils.m */; };
    1.24 -		277904450DE91E3600C6D295 /* ExceptionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461350DE4918D003D9D3F /* ExceptionUtils.m */; };
    1.25 -		277904460DE91E3700C6D295 /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704612A0DE49088003D9D3F /* Logging.m */; };
    1.26 -		277904480DE91E3900C6D295 /* Target.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461460DE491A6003D9D3F /* Target.m */; };
    1.27 -		277904490DE91E3A00C6D295 /* Test.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461280DE49088003D9D3F /* Test.m */; };
    1.28 +		2706F1D90F9D3EF300292CCF /* SecurityInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2706F1D80F9D3EF300292CCF /* SecurityInterface.framework */; };
    1.29 +		2777C9110F7602A7007F8D30 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2777C9100F7602A7007F8D30 /* Security.framework */; };
    1.30  		2779048B0DE9204300C6D295 /* BLIPEchoClient.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2779048A0DE9204300C6D295 /* BLIPEchoClient.xib */; };
    1.31 -		277905110DE9E5BC00C6D295 /* BLIPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F40DE49030003D9D3F /* BLIPConnection.m */; };
    1.32 -		277905120DE9E5BC00C6D295 /* BLIPDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F60DE49030003D9D3F /* BLIPDispatcher.m */; };
    1.33 -		277905130DE9E5BC00C6D295 /* BLIPMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F90DE49030003D9D3F /* BLIPMessage.m */; };
    1.34 -		277905140DE9E5BC00C6D295 /* BLIPProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FB0DE49030003D9D3F /* BLIPProperties.m */; };
    1.35 -		277905150DE9E5BC00C6D295 /* BLIPReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FD0DE49030003D9D3F /* BLIPReader.m */; };
    1.36 -		277905160DE9E5BC00C6D295 /* BLIPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461000DE49030003D9D3F /* BLIPWriter.m */; };
    1.37 -		277905170DE9E5BC00C6D295 /* IPAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461020DE49030003D9D3F /* IPAddress.m */; };
    1.38 -		277905180DE9E5BC00C6D295 /* TCPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610A0DE49030003D9D3F /* TCPConnection.m */; };
    1.39 -		277905190DE9E5BC00C6D295 /* TCPEndpoint.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610C0DE49030003D9D3F /* TCPEndpoint.m */; };
    1.40 -		2779051A0DE9E5BC00C6D295 /* TCPListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610E0DE49030003D9D3F /* TCPListener.m */; };
    1.41 -		2779051B0DE9E5BC00C6D295 /* TCPStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461100DE49030003D9D3F /* TCPStream.m */; };
    1.42 -		2779051C0DE9E5BC00C6D295 /* TCPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461120DE49030003D9D3F /* TCPWriter.m */; };
    1.43 -		2779051D0DE9E5BC00C6D295 /* Test.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461280DE49088003D9D3F /* Test.m */; };
    1.44 -		2779051E0DE9E5BC00C6D295 /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704612A0DE49088003D9D3F /* Logging.m */; };
    1.45 -		2779051F0DE9E5BC00C6D295 /* ExceptionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461350DE4918D003D9D3F /* ExceptionUtils.m */; };
    1.46 -		277905200DE9E5BC00C6D295 /* Target.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461460DE491A6003D9D3F /* Target.m */; };
    1.47 -		277905220DE9E5BC00C6D295 /* CollectionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461870DE49634003D9D3F /* CollectionUtils.m */; };
    1.48 -		277905230DE9E5BC00C6D295 /* BLIPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */; };
    1.49  		277905240DE9E5BC00C6D295 /* BLIPEchoServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 277903D60DE8EE4800C6D295 /* BLIPEchoServer.m */; };
    1.50 -		277905260DE9E5BC00C6D295 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
    1.51 -		277905270DE9E5BC00C6D295 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2704618B0DE49652003D9D3F /* libz.dylib */; };
    1.52 -		277905280DE9E5BC00C6D295 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 270461910DE4975C003D9D3F /* CoreServices.framework */; };
    1.53  		277905300DE9ED9100C6D295 /* MYUtilitiesTest_main.m in Sources */ = {isa = PBXBuildFile; fileRef = 270462C10DE4A64B003D9D3F /* MYUtilitiesTest_main.m */; };
    1.54  		2779053B0DE9EDAA00C6D295 /* BLIPTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FE0DE49030003D9D3F /* BLIPTest.m */; };
    1.55 -		277ECFBC0E2A73A100D756BB /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2704618B0DE49652003D9D3F /* libz.dylib */; };
    1.56 +		278C1A3D0F9F687800954AE1 /* PortMapperTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 278C1A340F9F687800954AE1 /* PortMapperTest.m */; };
    1.57 +		278C1A3E0F9F687800954AE1 /* MYPortMapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 278C1A360F9F687800954AE1 /* MYPortMapper.m */; };
    1.58 +		278C1BA60F9F92EA00954AE1 /* MYBonjourBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 278C1B9F0F9F92EA00954AE1 /* MYBonjourBrowser.m */; };
    1.59 +		278C1BA70F9F92EA00954AE1 /* MYBonjourService.m in Sources */ = {isa = PBXBuildFile; fileRef = 278C1BA10F9F92EA00954AE1 /* MYBonjourService.m */; };
    1.60 +		278C1BB90F9F975700954AE1 /* ConcurrentOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 278C1BB60F9F975700954AE1 /* ConcurrentOperation.m */; };
    1.61 +		279DDA590F9E2DFA00D75D91 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279DD99E0F9E290500D75D91 /* Foundation.framework */; };
    1.62 +		279DDAE00F9E2E0F00D75D91 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279DD99E0F9E290500D75D91 /* Foundation.framework */; };
    1.63 +		279DDC4E0F9E2E2700D75D91 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279DD9B30F9E296E00D75D91 /* CoreServices.framework */; };
    1.64 +		279DDC520F9E2E3A00D75D91 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 279DD9B10F9E296200D75D91 /* libz.dylib */; };
    1.65 +		279DDC970F9E2EF400D75D91 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279DD99E0F9E290500D75D91 /* Foundation.framework */; };
    1.66 +		279DDC9B0F9E2F2A00D75D91 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279DDC9A0F9E2F2A00D75D91 /* AppKit.framework */; };
    1.67 +		279DDCD10F9E38DD00D75D91 /* BLIPEchoClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 277903E90DE8F08100C6D295 /* BLIPEchoClient.m */; };
    1.68 +		279E8FA10F9FDD2600608D8D /* BLIPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F40DE49030003D9D3F /* BLIPConnection.m */; };
    1.69 +		279E8FA20F9FDD2600608D8D /* BLIPDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F60DE49030003D9D3F /* BLIPDispatcher.m */; };
    1.70 +		279E8FA30F9FDD2600608D8D /* BLIPMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F90DE49030003D9D3F /* BLIPMessage.m */; };
    1.71 +		279E8FA40F9FDD2600608D8D /* BLIPProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FB0DE49030003D9D3F /* BLIPProperties.m */; };
    1.72 +		279E8FA50F9FDD2600608D8D /* BLIPReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FD0DE49030003D9D3F /* BLIPReader.m */; };
    1.73 +		279E8FA60F9FDD2600608D8D /* BLIPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */; };
    1.74 +		279E8FA70F9FDD2600608D8D /* BLIPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461000DE49030003D9D3F /* BLIPWriter.m */; };
    1.75 +		279E8FA80F9FDD2600608D8D /* IPAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461020DE49030003D9D3F /* IPAddress.m */; };
    1.76 +		279E8FA90F9FDD2600608D8D /* TCPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610A0DE49030003D9D3F /* TCPConnection.m */; };
    1.77 +		279E8FAA0F9FDD2600608D8D /* TCPEndpoint.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610C0DE49030003D9D3F /* TCPEndpoint.m */; };
    1.78 +		279E8FAB0F9FDD2600608D8D /* TCPListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610E0DE49030003D9D3F /* TCPListener.m */; };
    1.79 +		279E8FAC0F9FDD2600608D8D /* TCPStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461100DE49030003D9D3F /* TCPStream.m */; };
    1.80 +		279E8FAD0F9FDD2600608D8D /* TCPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461120DE49030003D9D3F /* TCPWriter.m */; };
    1.81 +		279E8FAE0F9FDD2600608D8D /* CollectionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461870DE49634003D9D3F /* CollectionUtils.m */; };
    1.82 +		279E8FAF0F9FDD2600608D8D /* ExceptionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461350DE4918D003D9D3F /* ExceptionUtils.m */; };
    1.83 +		279E8FB00F9FDD2600608D8D /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 27E0DBEF0DF3450F00E7F648 /* GTMNSData+zlib.m */; };
    1.84 +		279E8FB10F9FDD2600608D8D /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704612A0DE49088003D9D3F /* Logging.m */; };
    1.85 +		279E8FB20F9FDD2600608D8D /* Target.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461460DE491A6003D9D3F /* Target.m */; };
    1.86 +		279E8FB30F9FDD2600608D8D /* Test.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461280DE49088003D9D3F /* Test.m */; };
    1.87 +		279E8FB40F9FDD2600608D8D /* PortMapperTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 278C1A340F9F687800954AE1 /* PortMapperTest.m */; };
    1.88 +		279E8FB50F9FDD2600608D8D /* MYPortMapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 278C1A360F9F687800954AE1 /* MYPortMapper.m */; };
    1.89 +		279E8FB60F9FDD2600608D8D /* MYBonjourBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 278C1B9F0F9F92EA00954AE1 /* MYBonjourBrowser.m */; };
    1.90 +		279E8FB70F9FDD2600608D8D /* MYBonjourService.m in Sources */ = {isa = PBXBuildFile; fileRef = 278C1BA10F9F92EA00954AE1 /* MYBonjourService.m */; };
    1.91 +		279E8FB80F9FDD2600608D8D /* ConcurrentOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 278C1BB60F9F975700954AE1 /* ConcurrentOperation.m */; };
    1.92 +		279E8FD70F9FDDE900608D8D /* libMYNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 279E8F9E0F9FDD0800608D8D /* libMYNetwork.a */; };
    1.93 +		279E8FEF0F9FDE5A00608D8D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2777C9100F7602A7007F8D30 /* Security.framework */; };
    1.94 +		279E8FFA0F9FDEEB00608D8D /* libMYNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 279E8F9E0F9FDD0800608D8D /* libMYNetwork.a */; };
    1.95 +		279E8FFC0F9FDEFB00608D8D /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279DD9B30F9E296E00D75D91 /* CoreServices.framework */; };
    1.96 +		279E8FFE0F9FDF0600608D8D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2777C9100F7602A7007F8D30 /* Security.framework */; };
    1.97  		27D5EC070DE5FEDE00CD84FA /* BLIPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */; };
    1.98 -		27E0DBF00DF3450F00E7F648 /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 27E0DBEF0DF3450F00E7F648 /* GTMNSData+zlib.m */; };
    1.99  		27E0DBF10DF3450F00E7F648 /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 27E0DBEF0DF3450F00E7F648 /* GTMNSData+zlib.m */; };
   1.100 -		27E0DBF20DF3450F00E7F648 /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 27E0DBEF0DF3450F00E7F648 /* GTMNSData+zlib.m */; };
   1.101 -		8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
   1.102  /* End PBXBuildFile section */
   1.103  
   1.104 +/* Begin PBXContainerItemProxy section */
   1.105 +		279E8FD50F9FDDD900608D8D /* PBXContainerItemProxy */ = {
   1.106 +			isa = PBXContainerItemProxy;
   1.107 +			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
   1.108 +			proxyType = 1;
   1.109 +			remoteGlobalIDString = 279E8F9D0F9FDD0800608D8D /* Library */;
   1.110 +			remoteInfo = Library;
   1.111 +		};
   1.112 +		279E8FF80F9FDECD00608D8D /* PBXContainerItemProxy */ = {
   1.113 +			isa = PBXContainerItemProxy;
   1.114 +			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
   1.115 +			proxyType = 1;
   1.116 +			remoteGlobalIDString = 279E8F9D0F9FDD0800608D8D /* Library */;
   1.117 +			remoteInfo = Library;
   1.118 +		};
   1.119 +/* End PBXContainerItemProxy section */
   1.120 +
   1.121  /* Begin PBXCopyFilesBuildPhase section */
   1.122  		277905290DE9E5BC00C6D295 /* CopyFiles */ = {
   1.123  			isa = PBXCopyFilesBuildPhase;
   1.124 @@ -100,7 +114,6 @@
   1.125  /* End PBXCopyFilesBuildPhase section */
   1.126  
   1.127  /* Begin PBXFileReference section */
   1.128 -		08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
   1.129  		270460F30DE49030003D9D3F /* BLIPConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPConnection.h; sourceTree = "<group>"; };
   1.130  		270460F40DE49030003D9D3F /* BLIPConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPConnection.m; sourceTree = "<group>"; };
   1.131  		270460F50DE49030003D9D3F /* BLIPDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPDispatcher.h; sourceTree = "<group>"; };
   1.132 @@ -112,7 +125,7 @@
   1.133  		270460FB0DE49030003D9D3F /* BLIPProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPProperties.m; sourceTree = "<group>"; };
   1.134  		270460FC0DE49030003D9D3F /* BLIPReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPReader.h; sourceTree = "<group>"; };
   1.135  		270460FD0DE49030003D9D3F /* BLIPReader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPReader.m; sourceTree = "<group>"; };
   1.136 -		270460FE0DE49030003D9D3F /* BLIPTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BLIPTest.m; path = BLIP/BLIPTest.m; sourceTree = "<group>"; };
   1.137 +		270460FE0DE49030003D9D3F /* BLIPTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BLIPTest.m; path = ../BLIPTest.m; sourceTree = "<group>"; };
   1.138  		270460FF0DE49030003D9D3F /* BLIPWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPWriter.h; sourceTree = "<group>"; };
   1.139  		270461000DE49030003D9D3F /* BLIPWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPWriter.m; sourceTree = "<group>"; };
   1.140  		270461010DE49030003D9D3F /* IPAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IPAddress.h; sourceTree = "<group>"; };
   1.141 @@ -139,11 +152,13 @@
   1.142  		270461720DE49340003D9D3F /* MYNetwork */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = MYNetwork; sourceTree = BUILT_PRODUCTS_DIR; };
   1.143  		270461870DE49634003D9D3F /* CollectionUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CollectionUtils.m; sourceTree = "<group>"; };
   1.144  		270461880DE49634003D9D3F /* CollectionUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionUtils.h; sourceTree = "<group>"; };
   1.145 -		2704618B0DE49652003D9D3F /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = /usr/lib/libz.dylib; sourceTree = "<absolute>"; };
   1.146 -		270461910DE4975C003D9D3F /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
   1.147  		270462C00DE4A639003D9D3F /* MYUtilities_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MYUtilities_Prefix.pch; sourceTree = "<group>"; };
   1.148  		270462C10DE4A64B003D9D3F /* MYUtilitiesTest_main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MYUtilitiesTest_main.m; sourceTree = "<group>"; };
   1.149  		270462C30DE4A65B003D9D3F /* BLIP Overview.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "BLIP Overview.txt"; path = "BLIP/BLIP Overview.txt"; sourceTree = "<group>"; wrapsLines = 1; };
   1.150 +		2706F1D80F9D3EF300292CCF /* SecurityInterface.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SecurityInterface.framework; path = System/Library/Frameworks/SecurityInterface.framework; sourceTree = SDKROOT; };
   1.151 +		274122DD0F9CDD1600F21842 /* MYUtilities_Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = MYUtilities_Debug.xcconfig; sourceTree = "<group>"; };
   1.152 +		274122DE0F9CDD1600F21842 /* MYUtilities_Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = MYUtilities_Release.xcconfig; sourceTree = "<group>"; };
   1.153 +		2777C9100F7602A7007F8D30 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
   1.154  		277903830DE8C2DD00C6D295 /* maindocs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maindocs.h; sourceTree = "<group>"; wrapsLines = 1; };
   1.155  		277903D50DE8EE4800C6D295 /* BLIPEchoServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPEchoServer.h; sourceTree = "<group>"; };
   1.156  		277903D60DE8EE4800C6D295 /* BLIPEchoServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPEchoServer.m; sourceTree = "<group>"; };
   1.157 @@ -154,6 +169,21 @@
   1.158  		277904280DE91C7900C6D295 /* BLIP Echo Client-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "BLIP Echo Client-Info.plist"; sourceTree = "<group>"; };
   1.159  		2779048A0DE9204300C6D295 /* BLIPEchoClient.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BLIPEchoClient.xib; sourceTree = "<group>"; };
   1.160  		2779052D0DE9E5BC00C6D295 /* BLIPEchoServer */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = BLIPEchoServer; sourceTree = BUILT_PRODUCTS_DIR; };
   1.161 +		278C1A340F9F687800954AE1 /* PortMapperTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PortMapperTest.m; sourceTree = "<group>"; };
   1.162 +		278C1A350F9F687800954AE1 /* MYPortMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MYPortMapper.h; sourceTree = "<group>"; };
   1.163 +		278C1A360F9F687800954AE1 /* MYPortMapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MYPortMapper.m; sourceTree = "<group>"; };
   1.164 +		278C1B9E0F9F92EA00954AE1 /* MYBonjourBrowser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MYBonjourBrowser.h; sourceTree = "<group>"; };
   1.165 +		278C1B9F0F9F92EA00954AE1 /* MYBonjourBrowser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MYBonjourBrowser.m; sourceTree = "<group>"; };
   1.166 +		278C1BA00F9F92EA00954AE1 /* MYBonjourService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MYBonjourService.h; sourceTree = "<group>"; };
   1.167 +		278C1BA10F9F92EA00954AE1 /* MYBonjourService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MYBonjourService.m; sourceTree = "<group>"; };
   1.168 +		278C1BB50F9F975700954AE1 /* ConcurrentOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConcurrentOperation.h; sourceTree = "<group>"; };
   1.169 +		278C1BB60F9F975700954AE1 /* ConcurrentOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConcurrentOperation.m; sourceTree = "<group>"; };
   1.170 +		279DD99E0F9E290500D75D91 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
   1.171 +		279DD9B10F9E296200D75D91 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
   1.172 +		279DD9B30F9E296E00D75D91 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; };
   1.173 +		279DDC9A0F9E2F2A00D75D91 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
   1.174 +		279DDCCB0F9E381500D75D91 /* MYNetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MYNetwork.h; sourceTree = "<group>"; };
   1.175 +		279E8F9E0F9FDD0800608D8D /* libMYNetwork.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMYNetwork.a; sourceTree = BUILT_PRODUCTS_DIR; };
   1.176  		27D5EC050DE5FEDE00CD84FA /* BLIPRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPRequest.h; sourceTree = "<group>"; };
   1.177  		27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPRequest.m; sourceTree = "<group>"; };
   1.178  		27E0DBED0DF3450F00E7F648 /* GTMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMDefines.h; sourceTree = "<group>"; };
   1.179 @@ -166,7 +196,10 @@
   1.180  			isa = PBXFrameworksBuildPhase;
   1.181  			buildActionMask = 2147483647;
   1.182  			files = (
   1.183 -				277ECFBC0E2A73A100D756BB /* libz.dylib in Frameworks */,
   1.184 +				279DDC970F9E2EF400D75D91 /* Foundation.framework in Frameworks */,
   1.185 +				279DDC9B0F9E2F2A00D75D91 /* AppKit.framework in Frameworks */,
   1.186 +				279E8FD70F9FDDE900608D8D /* libMYNetwork.a in Frameworks */,
   1.187 +				279E8FEF0F9FDE5A00608D8D /* Security.framework in Frameworks */,
   1.188  			);
   1.189  			runOnlyForDeploymentPostprocessing = 0;
   1.190  		};
   1.191 @@ -174,9 +207,17 @@
   1.192  			isa = PBXFrameworksBuildPhase;
   1.193  			buildActionMask = 2147483647;
   1.194  			files = (
   1.195 -				277905260DE9E5BC00C6D295 /* Foundation.framework in Frameworks */,
   1.196 -				277905270DE9E5BC00C6D295 /* libz.dylib in Frameworks */,
   1.197 -				277905280DE9E5BC00C6D295 /* CoreServices.framework in Frameworks */,
   1.198 +				279DDAE00F9E2E0F00D75D91 /* Foundation.framework in Frameworks */,
   1.199 +				279E8FFA0F9FDEEB00608D8D /* libMYNetwork.a in Frameworks */,
   1.200 +				279E8FFC0F9FDEFB00608D8D /* CoreServices.framework in Frameworks */,
   1.201 +				279E8FFE0F9FDF0600608D8D /* Security.framework in Frameworks */,
   1.202 +			);
   1.203 +			runOnlyForDeploymentPostprocessing = 0;
   1.204 +		};
   1.205 +		279E8F9C0F9FDD0800608D8D /* Frameworks */ = {
   1.206 +			isa = PBXFrameworksBuildPhase;
   1.207 +			buildActionMask = 2147483647;
   1.208 +			files = (
   1.209  			);
   1.210  			runOnlyForDeploymentPostprocessing = 0;
   1.211  		};
   1.212 @@ -184,9 +225,11 @@
   1.213  			isa = PBXFrameworksBuildPhase;
   1.214  			buildActionMask = 2147483647;
   1.215  			files = (
   1.216 -				8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */,
   1.217 -				2704618C0DE49652003D9D3F /* libz.dylib in Frameworks */,
   1.218 -				270461920DE4975D003D9D3F /* CoreServices.framework in Frameworks */,
   1.219 +				2777C9110F7602A7007F8D30 /* Security.framework in Frameworks */,
   1.220 +				2706F1D90F9D3EF300292CCF /* SecurityInterface.framework in Frameworks */,
   1.221 +				279DDA590F9E2DFA00D75D91 /* Foundation.framework in Frameworks */,
   1.222 +				279DDC4E0F9E2E2700D75D91 /* CoreServices.framework in Frameworks */,
   1.223 +				279DDC520F9E2E3A00D75D91 /* libz.dylib in Frameworks */,
   1.224  			);
   1.225  			runOnlyForDeploymentPostprocessing = 0;
   1.226  		};
   1.227 @@ -200,7 +243,6 @@
   1.228  				277903830DE8C2DD00C6D295 /* maindocs.h */,
   1.229  				270460F00DE49030003D9D3F /* MYNetwork */,
   1.230  				270461220DE49055003D9D3F /* MYUtilities */,
   1.231 -				270460FE0DE49030003D9D3F /* BLIPTest.m */,
   1.232  				277903E70DE8F05F00C6D295 /* Demo */,
   1.233  				08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */,
   1.234  				1AB674ADFE9D54B511CA2CBB /* Products */,
   1.235 @@ -211,9 +253,12 @@
   1.236  		08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = {
   1.237  			isa = PBXGroup;
   1.238  			children = (
   1.239 -				270461910DE4975C003D9D3F /* CoreServices.framework */,
   1.240 -				08FB779EFE84155DC02AAC07 /* Foundation.framework */,
   1.241 -				2704618B0DE49652003D9D3F /* libz.dylib */,
   1.242 +				279DDC9A0F9E2F2A00D75D91 /* AppKit.framework */,
   1.243 +				279DD9B30F9E296E00D75D91 /* CoreServices.framework */,
   1.244 +				279DD99E0F9E290500D75D91 /* Foundation.framework */,
   1.245 +				2777C9100F7602A7007F8D30 /* Security.framework */,
   1.246 +				2706F1D80F9D3EF300292CCF /* SecurityInterface.framework */,
   1.247 +				279DD9B10F9E296200D75D91 /* libz.dylib */,
   1.248  			);
   1.249  			name = "External Frameworks and Libraries";
   1.250  			sourceTree = "<group>";
   1.251 @@ -224,6 +269,7 @@
   1.252  				270461720DE49340003D9D3F /* MYNetwork */,
   1.253  				277904260DE91C7900C6D295 /* BLIP Echo Client.app */,
   1.254  				2779052D0DE9E5BC00C6D295 /* BLIPEchoServer */,
   1.255 +				279E8F9E0F9FDD0800608D8D /* libMYNetwork.a */,
   1.256  			);
   1.257  			name = Products;
   1.258  			sourceTree = "<group>";
   1.259 @@ -231,10 +277,13 @@
   1.260  		270460F00DE49030003D9D3F /* MYNetwork */ = {
   1.261  			isa = PBXGroup;
   1.262  			children = (
   1.263 +				279DDCCB0F9E381500D75D91 /* MYNetwork.h */,
   1.264  				270461010DE49030003D9D3F /* IPAddress.h */,
   1.265  				270461020DE49030003D9D3F /* IPAddress.m */,
   1.266  				270461070DE49030003D9D3F /* TCP */,
   1.267 +				278C1A320F9F687800954AE1 /* PortMapper */,
   1.268  				270460F10DE49030003D9D3F /* BLIP */,
   1.269 +				278C1B9D0F9F92D600954AE1 /* Bonjour */,
   1.270  			);
   1.271  			name = MYNetwork;
   1.272  			sourceTree = "<group>";
   1.273 @@ -283,6 +332,8 @@
   1.274  		270461220DE49055003D9D3F /* MYUtilities */ = {
   1.275  			isa = PBXGroup;
   1.276  			children = (
   1.277 +				278C1BB50F9F975700954AE1 /* ConcurrentOperation.h */,
   1.278 +				278C1BB60F9F975700954AE1 /* ConcurrentOperation.m */,
   1.279  				270462C10DE4A64B003D9D3F /* MYUtilitiesTest_main.m */,
   1.280  				270462C00DE4A639003D9D3F /* MYUtilities_Prefix.pch */,
   1.281  				270461880DE49634003D9D3F /* CollectionUtils.h */,
   1.282 @@ -295,6 +346,8 @@
   1.283  				270461460DE491A6003D9D3F /* Target.m */,
   1.284  				270461290DE49088003D9D3F /* Test.h */,
   1.285  				270461280DE49088003D9D3F /* Test.m */,
   1.286 +				274122DD0F9CDD1600F21842 /* MYUtilities_Debug.xcconfig */,
   1.287 +				274122DE0F9CDD1600F21842 /* MYUtilities_Release.xcconfig */,
   1.288  				27E0DBEC0DF3450F00E7F648 /* GoogleToolboxSubset */,
   1.289  			);
   1.290  			name = MYUtilities;
   1.291 @@ -304,6 +357,7 @@
   1.292  		277903E70DE8F05F00C6D295 /* Demo */ = {
   1.293  			isa = PBXGroup;
   1.294  			children = (
   1.295 +				270460FE0DE49030003D9D3F /* BLIPTest.m */,
   1.296  				277903D50DE8EE4800C6D295 /* BLIPEchoServer.h */,
   1.297  				277903D60DE8EE4800C6D295 /* BLIPEchoServer.m */,
   1.298  				277903E80DE8F08100C6D295 /* BLIPEchoClient.h */,
   1.299 @@ -315,6 +369,27 @@
   1.300  			path = BLIP/Demo;
   1.301  			sourceTree = "<group>";
   1.302  		};
   1.303 +		278C1A320F9F687800954AE1 /* PortMapper */ = {
   1.304 +			isa = PBXGroup;
   1.305 +			children = (
   1.306 +				278C1A350F9F687800954AE1 /* MYPortMapper.h */,
   1.307 +				278C1A360F9F687800954AE1 /* MYPortMapper.m */,
   1.308 +				278C1A340F9F687800954AE1 /* PortMapperTest.m */,
   1.309 +			);
   1.310 +			path = PortMapper;
   1.311 +			sourceTree = "<group>";
   1.312 +		};
   1.313 +		278C1B9D0F9F92D600954AE1 /* Bonjour */ = {
   1.314 +			isa = PBXGroup;
   1.315 +			children = (
   1.316 +				278C1B9E0F9F92EA00954AE1 /* MYBonjourBrowser.h */,
   1.317 +				278C1B9F0F9F92EA00954AE1 /* MYBonjourBrowser.m */,
   1.318 +				278C1BA00F9F92EA00954AE1 /* MYBonjourService.h */,
   1.319 +				278C1BA10F9F92EA00954AE1 /* MYBonjourService.m */,
   1.320 +			);
   1.321 +			path = Bonjour;
   1.322 +			sourceTree = "<group>";
   1.323 +		};
   1.324  		27E0DBEC0DF3450F00E7F648 /* GoogleToolboxSubset */ = {
   1.325  			isa = PBXGroup;
   1.326  			children = (
   1.327 @@ -327,6 +402,16 @@
   1.328  		};
   1.329  /* End PBXGroup section */
   1.330  
   1.331 +/* Begin PBXHeadersBuildPhase section */
   1.332 +		279E8F9A0F9FDD0800608D8D /* Headers */ = {
   1.333 +			isa = PBXHeadersBuildPhase;
   1.334 +			buildActionMask = 2147483647;
   1.335 +			files = (
   1.336 +			);
   1.337 +			runOnlyForDeploymentPostprocessing = 0;
   1.338 +		};
   1.339 +/* End PBXHeadersBuildPhase section */
   1.340 +
   1.341  /* Begin PBXNativeTarget section */
   1.342  		277904250DE91C7900C6D295 /* BLIP Echo Client */ = {
   1.343  			isa = PBXNativeTarget;
   1.344 @@ -339,6 +424,7 @@
   1.345  			buildRules = (
   1.346  			);
   1.347  			dependencies = (
   1.348 +				279E8FD60F9FDDD900608D8D /* PBXTargetDependency */,
   1.349  			);
   1.350  			name = "BLIP Echo Client";
   1.351  			productName = "BLIP Echo Client";
   1.352 @@ -356,6 +442,7 @@
   1.353  			buildRules = (
   1.354  			);
   1.355  			dependencies = (
   1.356 +				279E8FF90F9FDECD00608D8D /* PBXTargetDependency */,
   1.357  			);
   1.358  			name = "BLIP Echo Server";
   1.359  			productInstallPath = "$(HOME)/bin";
   1.360 @@ -363,9 +450,26 @@
   1.361  			productReference = 2779052D0DE9E5BC00C6D295 /* BLIPEchoServer */;
   1.362  			productType = "com.apple.product-type.tool";
   1.363  		};
   1.364 -		8DD76F960486AA7600D96B5E /* MYNetwork */ = {
   1.365 +		279E8F9D0F9FDD0800608D8D /* Library */ = {
   1.366  			isa = PBXNativeTarget;
   1.367 -			buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "MYNetwork" */;
   1.368 +			buildConfigurationList = 279E8FCC0F9FDD8900608D8D /* Build configuration list for PBXNativeTarget "Library" */;
   1.369 +			buildPhases = (
   1.370 +				279E8F9A0F9FDD0800608D8D /* Headers */,
   1.371 +				279E8F9B0F9FDD0800608D8D /* Sources */,
   1.372 +				279E8F9C0F9FDD0800608D8D /* Frameworks */,
   1.373 +			);
   1.374 +			buildRules = (
   1.375 +			);
   1.376 +			dependencies = (
   1.377 +			);
   1.378 +			name = Library;
   1.379 +			productName = Library;
   1.380 +			productReference = 279E8F9E0F9FDD0800608D8D /* libMYNetwork.a */;
   1.381 +			productType = "com.apple.product-type.library.static";
   1.382 +		};
   1.383 +		8DD76F960486AA7600D96B5E /* SelfTest */ = {
   1.384 +			isa = PBXNativeTarget;
   1.385 +			buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "SelfTest" */;
   1.386  			buildPhases = (
   1.387  				8DD76F990486AA7600D96B5E /* Sources */,
   1.388  				8DD76F9B0486AA7600D96B5E /* Frameworks */,
   1.389 @@ -375,7 +479,7 @@
   1.390  			);
   1.391  			dependencies = (
   1.392  			);
   1.393 -			name = MYNetwork;
   1.394 +			name = SelfTest;
   1.395  			productInstallPath = "$(HOME)/bin";
   1.396  			productName = MYNetwork;
   1.397  			productReference = 270461720DE49340003D9D3F /* MYNetwork */;
   1.398 @@ -393,7 +497,8 @@
   1.399  			projectDirPath = "";
   1.400  			projectRoot = "";
   1.401  			targets = (
   1.402 -				8DD76F960486AA7600D96B5E /* MYNetwork */,
   1.403 +				279E8F9D0F9FDD0800608D8D /* Library */,
   1.404 +				8DD76F960486AA7600D96B5E /* SelfTest */,
   1.405  				277904250DE91C7900C6D295 /* BLIP Echo Client */,
   1.406  				2779050F0DE9E5BC00C6D295 /* BLIP Echo Server */,
   1.407  			);
   1.408 @@ -416,26 +521,7 @@
   1.409  			isa = PBXSourcesBuildPhase;
   1.410  			buildActionMask = 2147483647;
   1.411  			files = (
   1.412 -				277904330DE91DE600C6D295 /* BLIPConnection.m in Sources */,
   1.413 -				277904340DE91DE700C6D295 /* BLIPDispatcher.m in Sources */,
   1.414 -				277904350DE91DE800C6D295 /* BLIPEchoClient.m in Sources */,
   1.415 -				277904370DE91DEB00C6D295 /* BLIPMessage.m in Sources */,
   1.416 -				277904380DE91DEC00C6D295 /* BLIPProperties.m in Sources */,
   1.417 -				277904390DE91DEE00C6D295 /* BLIPReader.m in Sources */,
   1.418 -				2779043A0DE91DEF00C6D295 /* BLIPRequest.m in Sources */,
   1.419 -				2779043C0DE91DF100C6D295 /* BLIPWriter.m in Sources */,
   1.420 -				2779043D0DE91DF300C6D295 /* IPAddress.m in Sources */,
   1.421 -				2779043E0DE91DF500C6D295 /* TCPConnection.m in Sources */,
   1.422 -				2779043F0DE91DF800C6D295 /* TCPEndpoint.m in Sources */,
   1.423 -				277904400DE91DF900C6D295 /* TCPListener.m in Sources */,
   1.424 -				277904410DE91DFA00C6D295 /* TCPStream.m in Sources */,
   1.425 -				277904420DE91DFC00C6D295 /* TCPWriter.m in Sources */,
   1.426 -				277904440DE91E3500C6D295 /* CollectionUtils.m in Sources */,
   1.427 -				277904450DE91E3600C6D295 /* ExceptionUtils.m in Sources */,
   1.428 -				277904460DE91E3700C6D295 /* Logging.m in Sources */,
   1.429 -				277904480DE91E3900C6D295 /* Target.m in Sources */,
   1.430 -				277904490DE91E3A00C6D295 /* Test.m in Sources */,
   1.431 -				27E0DBF00DF3450F00E7F648 /* GTMNSData+zlib.m in Sources */,
   1.432 +				279DDCD10F9E38DD00D75D91 /* BLIPEchoClient.m in Sources */,
   1.433  			);
   1.434  			runOnlyForDeploymentPostprocessing = 0;
   1.435  		};
   1.436 @@ -443,26 +529,38 @@
   1.437  			isa = PBXSourcesBuildPhase;
   1.438  			buildActionMask = 2147483647;
   1.439  			files = (
   1.440 -				277905110DE9E5BC00C6D295 /* BLIPConnection.m in Sources */,
   1.441 -				277905120DE9E5BC00C6D295 /* BLIPDispatcher.m in Sources */,
   1.442 -				277905130DE9E5BC00C6D295 /* BLIPMessage.m in Sources */,
   1.443 -				277905140DE9E5BC00C6D295 /* BLIPProperties.m in Sources */,
   1.444 -				277905150DE9E5BC00C6D295 /* BLIPReader.m in Sources */,
   1.445 -				277905160DE9E5BC00C6D295 /* BLIPWriter.m in Sources */,
   1.446 -				277905170DE9E5BC00C6D295 /* IPAddress.m in Sources */,
   1.447 -				277905180DE9E5BC00C6D295 /* TCPConnection.m in Sources */,
   1.448 -				277905190DE9E5BC00C6D295 /* TCPEndpoint.m in Sources */,
   1.449 -				2779051A0DE9E5BC00C6D295 /* TCPListener.m in Sources */,
   1.450 -				2779051B0DE9E5BC00C6D295 /* TCPStream.m in Sources */,
   1.451 -				2779051C0DE9E5BC00C6D295 /* TCPWriter.m in Sources */,
   1.452 -				2779051D0DE9E5BC00C6D295 /* Test.m in Sources */,
   1.453 -				2779051E0DE9E5BC00C6D295 /* Logging.m in Sources */,
   1.454 -				2779051F0DE9E5BC00C6D295 /* ExceptionUtils.m in Sources */,
   1.455 -				277905200DE9E5BC00C6D295 /* Target.m in Sources */,
   1.456 -				277905220DE9E5BC00C6D295 /* CollectionUtils.m in Sources */,
   1.457 -				277905230DE9E5BC00C6D295 /* BLIPRequest.m in Sources */,
   1.458  				277905240DE9E5BC00C6D295 /* BLIPEchoServer.m in Sources */,
   1.459 -				27E0DBF20DF3450F00E7F648 /* GTMNSData+zlib.m in Sources */,
   1.460 +			);
   1.461 +			runOnlyForDeploymentPostprocessing = 0;
   1.462 +		};
   1.463 +		279E8F9B0F9FDD0800608D8D /* Sources */ = {
   1.464 +			isa = PBXSourcesBuildPhase;
   1.465 +			buildActionMask = 2147483647;
   1.466 +			files = (
   1.467 +				279E8FA10F9FDD2600608D8D /* BLIPConnection.m in Sources */,
   1.468 +				279E8FA20F9FDD2600608D8D /* BLIPDispatcher.m in Sources */,
   1.469 +				279E8FA30F9FDD2600608D8D /* BLIPMessage.m in Sources */,
   1.470 +				279E8FA40F9FDD2600608D8D /* BLIPProperties.m in Sources */,
   1.471 +				279E8FA50F9FDD2600608D8D /* BLIPReader.m in Sources */,
   1.472 +				279E8FA60F9FDD2600608D8D /* BLIPRequest.m in Sources */,
   1.473 +				279E8FA70F9FDD2600608D8D /* BLIPWriter.m in Sources */,
   1.474 +				279E8FA80F9FDD2600608D8D /* IPAddress.m in Sources */,
   1.475 +				279E8FA90F9FDD2600608D8D /* TCPConnection.m in Sources */,
   1.476 +				279E8FAA0F9FDD2600608D8D /* TCPEndpoint.m in Sources */,
   1.477 +				279E8FAB0F9FDD2600608D8D /* TCPListener.m in Sources */,
   1.478 +				279E8FAC0F9FDD2600608D8D /* TCPStream.m in Sources */,
   1.479 +				279E8FAD0F9FDD2600608D8D /* TCPWriter.m in Sources */,
   1.480 +				279E8FAE0F9FDD2600608D8D /* CollectionUtils.m in Sources */,
   1.481 +				279E8FAF0F9FDD2600608D8D /* ExceptionUtils.m in Sources */,
   1.482 +				279E8FB00F9FDD2600608D8D /* GTMNSData+zlib.m in Sources */,
   1.483 +				279E8FB10F9FDD2600608D8D /* Logging.m in Sources */,
   1.484 +				279E8FB20F9FDD2600608D8D /* Target.m in Sources */,
   1.485 +				279E8FB30F9FDD2600608D8D /* Test.m in Sources */,
   1.486 +				279E8FB40F9FDD2600608D8D /* PortMapperTest.m in Sources */,
   1.487 +				279E8FB50F9FDD2600608D8D /* MYPortMapper.m in Sources */,
   1.488 +				279E8FB60F9FDD2600608D8D /* MYBonjourBrowser.m in Sources */,
   1.489 +				279E8FB70F9FDD2600608D8D /* MYBonjourService.m in Sources */,
   1.490 +				279E8FB80F9FDD2600608D8D /* ConcurrentOperation.m in Sources */,
   1.491  			);
   1.492  			runOnlyForDeploymentPostprocessing = 0;
   1.493  		};
   1.494 @@ -491,26 +589,33 @@
   1.495  				277905300DE9ED9100C6D295 /* MYUtilitiesTest_main.m in Sources */,
   1.496  				2779053B0DE9EDAA00C6D295 /* BLIPTest.m in Sources */,
   1.497  				27E0DBF10DF3450F00E7F648 /* GTMNSData+zlib.m in Sources */,
   1.498 +				278C1A3D0F9F687800954AE1 /* PortMapperTest.m in Sources */,
   1.499 +				278C1A3E0F9F687800954AE1 /* MYPortMapper.m in Sources */,
   1.500 +				278C1BA60F9F92EA00954AE1 /* MYBonjourBrowser.m in Sources */,
   1.501 +				278C1BA70F9F92EA00954AE1 /* MYBonjourService.m in Sources */,
   1.502 +				278C1BB90F9F975700954AE1 /* ConcurrentOperation.m in Sources */,
   1.503  			);
   1.504  			runOnlyForDeploymentPostprocessing = 0;
   1.505  		};
   1.506  /* End PBXSourcesBuildPhase section */
   1.507  
   1.508 +/* Begin PBXTargetDependency section */
   1.509 +		279E8FD60F9FDDD900608D8D /* PBXTargetDependency */ = {
   1.510 +			isa = PBXTargetDependency;
   1.511 +			target = 279E8F9D0F9FDD0800608D8D /* Library */;
   1.512 +			targetProxy = 279E8FD50F9FDDD900608D8D /* PBXContainerItemProxy */;
   1.513 +		};
   1.514 +		279E8FF90F9FDECD00608D8D /* PBXTargetDependency */ = {
   1.515 +			isa = PBXTargetDependency;
   1.516 +			target = 279E8F9D0F9FDD0800608D8D /* Library */;
   1.517 +			targetProxy = 279E8FF80F9FDECD00608D8D /* PBXContainerItemProxy */;
   1.518 +		};
   1.519 +/* End PBXTargetDependency section */
   1.520 +
   1.521  /* Begin XCBuildConfiguration section */
   1.522  		1DEB927508733DD40010E9CD /* Debug */ = {
   1.523  			isa = XCBuildConfiguration;
   1.524  			buildSettings = {
   1.525 -				ALWAYS_SEARCH_USER_PATHS = NO;
   1.526 -				COPY_PHASE_STRIP = NO;
   1.527 -				GCC_C_LANGUAGE_STANDARD = c99;
   1.528 -				GCC_DYNAMIC_NO_PIC = NO;
   1.529 -				GCC_ENABLE_FIX_AND_CONTINUE = YES;
   1.530 -				GCC_MODEL_TUNING = G5;
   1.531 -				GCC_OPTIMIZATION_LEVEL = 0;
   1.532 -				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   1.533 -				GCC_PREFIX_HEADER = ../MYUtilities/MYUtilities_Prefix.pch;
   1.534 -				GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
   1.535 -				INSTALL_PATH = /usr/local/bin;
   1.536  				PRODUCT_NAME = MYNetwork;
   1.537  			};
   1.538  			name = Debug;
   1.539 @@ -518,68 +623,31 @@
   1.540  		1DEB927608733DD40010E9CD /* Release */ = {
   1.541  			isa = XCBuildConfiguration;
   1.542  			buildSettings = {
   1.543 -				ALWAYS_SEARCH_USER_PATHS = NO;
   1.544 -				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
   1.545 -				GCC_C_LANGUAGE_STANDARD = c99;
   1.546 -				GCC_MODEL_TUNING = G5;
   1.547 -				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   1.548 -				GCC_PREFIX_HEADER = ../MYUtilities/MYUtilities_Prefix.pch;
   1.549 -				INSTALL_PATH = /usr/local/bin;
   1.550  				PRODUCT_NAME = MYNetwork;
   1.551  			};
   1.552  			name = Release;
   1.553  		};
   1.554  		1DEB927908733DD40010E9CD /* Debug */ = {
   1.555  			isa = XCBuildConfiguration;
   1.556 +			baseConfigurationReference = 274122DD0F9CDD1600F21842 /* MYUtilities_Debug.xcconfig */;
   1.557  			buildSettings = {
   1.558 -				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
   1.559 -				GCC_C_LANGUAGE_STANDARD = c99;
   1.560 -				GCC_OPTIMIZATION_LEVEL = 0;
   1.561 -				GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
   1.562 -				GCC_TREAT_WARNINGS_AS_ERRORS = YES;
   1.563 -				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   1.564 -				GCC_WARN_UNUSED_VARIABLE = YES;
   1.565 -				ONLY_ACTIVE_ARCH = YES;
   1.566 -				PREBINDING = NO;
   1.567  				SDKROOT = macosx10.5;
   1.568 -				WARNING_CFLAGS = "-Wall";
   1.569  			};
   1.570  			name = Debug;
   1.571  		};
   1.572  		1DEB927A08733DD40010E9CD /* Release */ = {
   1.573  			isa = XCBuildConfiguration;
   1.574 +			baseConfigurationReference = 274122DE0F9CDD1600F21842 /* MYUtilities_Release.xcconfig */;
   1.575  			buildSettings = {
   1.576 -				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
   1.577 -				GCC_C_LANGUAGE_STANDARD = c99;
   1.578 -				GCC_TREAT_WARNINGS_AS_ERRORS = YES;
   1.579 -				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   1.580 -				GCC_WARN_UNUSED_VARIABLE = YES;
   1.581 -				PREBINDING = NO;
   1.582  				SDKROOT = macosx10.5;
   1.583 -				WARNING_CFLAGS = "-Wall";
   1.584  			};
   1.585  			name = Release;
   1.586  		};
   1.587  		277904290DE91C7A00C6D295 /* Debug */ = {
   1.588  			isa = XCBuildConfiguration;
   1.589  			buildSettings = {
   1.590 -				ALWAYS_SEARCH_USER_PATHS = NO;
   1.591 -				COPY_PHASE_STRIP = NO;
   1.592 -				GCC_DYNAMIC_NO_PIC = NO;
   1.593 -				GCC_ENABLE_FIX_AND_CONTINUE = YES;
   1.594 -				GCC_MODEL_TUNING = G5;
   1.595 -				GCC_OPTIMIZATION_LEVEL = 0;
   1.596 -				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   1.597 -				GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
   1.598  				INFOPLIST_FILE = "BLIP/Demo/BLIP Echo Client-Info.plist";
   1.599  				INSTALL_PATH = "$(HOME)/Applications";
   1.600 -				OTHER_LDFLAGS = (
   1.601 -					"-framework",
   1.602 -					Foundation,
   1.603 -					"-framework",
   1.604 -					AppKit,
   1.605 -				);
   1.606 -				PREBINDING = NO;
   1.607  				PRODUCT_NAME = "BLIP Echo Client";
   1.608  			};
   1.609  			name = Debug;
   1.610 @@ -587,41 +655,15 @@
   1.611  		2779042A0DE91C7A00C6D295 /* Release */ = {
   1.612  			isa = XCBuildConfiguration;
   1.613  			buildSettings = {
   1.614 -				ALWAYS_SEARCH_USER_PATHS = NO;
   1.615 -				COPY_PHASE_STRIP = YES;
   1.616 -				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
   1.617 -				GCC_ENABLE_FIX_AND_CONTINUE = NO;
   1.618 -				GCC_MODEL_TUNING = G5;
   1.619 -				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   1.620 -				GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
   1.621  				INFOPLIST_FILE = "BLIP/Demo/BLIP Echo Client-Info.plist";
   1.622  				INSTALL_PATH = "$(HOME)/Applications";
   1.623 -				OTHER_LDFLAGS = (
   1.624 -					"-framework",
   1.625 -					Foundation,
   1.626 -					"-framework",
   1.627 -					AppKit,
   1.628 -				);
   1.629 -				PREBINDING = NO;
   1.630  				PRODUCT_NAME = "BLIP Echo Client";
   1.631 -				ZERO_LINK = NO;
   1.632  			};
   1.633  			name = Release;
   1.634  		};
   1.635  		2779052B0DE9E5BC00C6D295 /* Debug */ = {
   1.636  			isa = XCBuildConfiguration;
   1.637  			buildSettings = {
   1.638 -				ALWAYS_SEARCH_USER_PATHS = NO;
   1.639 -				COPY_PHASE_STRIP = NO;
   1.640 -				GCC_C_LANGUAGE_STANDARD = gnu99;
   1.641 -				GCC_DYNAMIC_NO_PIC = NO;
   1.642 -				GCC_ENABLE_FIX_AND_CONTINUE = YES;
   1.643 -				GCC_MODEL_TUNING = G5;
   1.644 -				GCC_OPTIMIZATION_LEVEL = 0;
   1.645 -				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   1.646 -				GCC_PREFIX_HEADER = ../MYUtilities/MYUtilities_Prefix.pch;
   1.647 -				GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
   1.648 -				INSTALL_PATH = /usr/local/bin;
   1.649  				PRODUCT_NAME = BLIPEchoServer;
   1.650  			};
   1.651  			name = Debug;
   1.652 @@ -629,21 +671,30 @@
   1.653  		2779052C0DE9E5BC00C6D295 /* Release */ = {
   1.654  			isa = XCBuildConfiguration;
   1.655  			buildSettings = {
   1.656 -				ALWAYS_SEARCH_USER_PATHS = NO;
   1.657 -				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
   1.658 -				GCC_C_LANGUAGE_STANDARD = gnu99;
   1.659 -				GCC_MODEL_TUNING = G5;
   1.660 -				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   1.661 -				GCC_PREFIX_HEADER = MYNetwork_Prefix.pch;
   1.662 -				INSTALL_PATH = /usr/local/bin;
   1.663  				PRODUCT_NAME = BLIPEchoServer;
   1.664  			};
   1.665  			name = Release;
   1.666  		};
   1.667 +		279E8F9F0F9FDD0900608D8D /* Debug */ = {
   1.668 +			isa = XCBuildConfiguration;
   1.669 +			buildSettings = {
   1.670 +				INSTALL_PATH = /usr/local/lib;
   1.671 +				PRODUCT_NAME = MYNetwork;
   1.672 +			};
   1.673 +			name = Debug;
   1.674 +		};
   1.675 +		279E8FA00F9FDD0900608D8D /* Release */ = {
   1.676 +			isa = XCBuildConfiguration;
   1.677 +			buildSettings = {
   1.678 +				INSTALL_PATH = /usr/local/lib;
   1.679 +				PRODUCT_NAME = MYNetwork;
   1.680 +			};
   1.681 +			name = Release;
   1.682 +		};
   1.683  /* End XCBuildConfiguration section */
   1.684  
   1.685  /* Begin XCConfigurationList section */
   1.686 -		1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "MYNetwork" */ = {
   1.687 +		1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "SelfTest" */ = {
   1.688  			isa = XCConfigurationList;
   1.689  			buildConfigurations = (
   1.690  				1DEB927508733DD40010E9CD /* Debug */,
   1.691 @@ -679,6 +730,15 @@
   1.692  			defaultConfigurationIsVisible = 0;
   1.693  			defaultConfigurationName = Release;
   1.694  		};
   1.695 +		279E8FCC0F9FDD8900608D8D /* Build configuration list for PBXNativeTarget "Library" */ = {
   1.696 +			isa = XCConfigurationList;
   1.697 +			buildConfigurations = (
   1.698 +				279E8F9F0F9FDD0900608D8D /* Debug */,
   1.699 +				279E8FA00F9FDD0900608D8D /* Release */,
   1.700 +			);
   1.701 +			defaultConfigurationIsVisible = 0;
   1.702 +			defaultConfigurationName = Release;
   1.703 +		};
   1.704  /* End XCConfigurationList section */
   1.705  	};
   1.706  	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;